@azure-tools/typespec-azure-resource-manager 0.70.0-dev.0 → 0.70.0-dev.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/README.md +150 -10
  2. package/dist/generated-defs/Azure.ResourceManager.BaseTypes.d.ts +35 -0
  3. package/dist/generated-defs/Azure.ResourceManager.BaseTypes.d.ts.map +1 -0
  4. package/dist/generated-defs/Azure.ResourceManager.BaseTypes.js +2 -0
  5. package/dist/generated-defs/Azure.ResourceManager.BaseTypes.js.map +1 -0
  6. package/dist/generated-defs/Azure.ResourceManager.BaseTypes.ts-test.d.ts +2 -0
  7. package/dist/generated-defs/Azure.ResourceManager.BaseTypes.ts-test.d.ts.map +1 -0
  8. package/dist/generated-defs/Azure.ResourceManager.BaseTypes.ts-test.js +8 -0
  9. package/dist/generated-defs/Azure.ResourceManager.BaseTypes.ts-test.js.map +1 -0
  10. package/dist/generated-defs/Azure.ResourceManager.Private.d.ts +12 -0
  11. package/dist/generated-defs/Azure.ResourceManager.Private.d.ts.map +1 -1
  12. package/dist/generated-defs/Azure.ResourceManager.d.ts +66 -25
  13. package/dist/generated-defs/Azure.ResourceManager.d.ts.map +1 -1
  14. package/dist/src/base-types.d.ts +16 -0
  15. package/dist/src/base-types.d.ts.map +1 -0
  16. package/dist/src/base-types.js +30 -0
  17. package/dist/src/base-types.js.map +1 -0
  18. package/dist/src/index.d.ts +1 -0
  19. package/dist/src/index.d.ts.map +1 -1
  20. package/dist/src/index.js +1 -0
  21. package/dist/src/index.js.map +1 -1
  22. package/dist/src/lib.d.ts +17 -2
  23. package/dist/src/lib.d.ts.map +1 -1
  24. package/dist/src/lib.js +6 -0
  25. package/dist/src/lib.js.map +1 -1
  26. package/dist/src/linter.d.ts.map +1 -1
  27. package/dist/src/linter.js +8 -0
  28. package/dist/src/linter.js.map +1 -1
  29. package/dist/src/private.decorators.d.ts.map +1 -1
  30. package/dist/src/private.decorators.js +20 -2
  31. package/dist/src/private.decorators.js.map +1 -1
  32. package/dist/src/resource.d.ts +6 -2
  33. package/dist/src/resource.d.ts.map +1 -1
  34. package/dist/src/resource.js +8 -0
  35. package/dist/src/resource.js.map +1 -1
  36. package/dist/src/rules/arm-agent-base-type-child-resources.d.ts +4 -0
  37. package/dist/src/rules/arm-agent-base-type-child-resources.d.ts.map +1 -0
  38. package/dist/src/rules/arm-agent-base-type-child-resources.js +94 -0
  39. package/dist/src/rules/arm-agent-base-type-child-resources.js.map +1 -0
  40. package/dist/src/rules/arm-agent-base-type-lifecycle-operations.d.ts +4 -0
  41. package/dist/src/rules/arm-agent-base-type-lifecycle-operations.d.ts.map +1 -0
  42. package/dist/src/rules/arm-agent-base-type-lifecycle-operations.js +99 -0
  43. package/dist/src/rules/arm-agent-base-type-lifecycle-operations.js.map +1 -0
  44. package/dist/src/rules/arm-custom-resource-usage-discourage.d.ts.map +1 -1
  45. package/dist/src/rules/arm-custom-resource-usage-discourage.js +44 -2
  46. package/dist/src/rules/arm-custom-resource-usage-discourage.js.map +1 -1
  47. package/dist/src/rules/arm-feature-file-usage-discourage.d.ts +4 -0
  48. package/dist/src/rules/arm-feature-file-usage-discourage.d.ts.map +1 -0
  49. package/dist/src/rules/arm-feature-file-usage-discourage.js +24 -0
  50. package/dist/src/rules/arm-feature-file-usage-discourage.js.map +1 -0
  51. package/dist/src/rules/no-reserved-resource-property.d.ts +4 -0
  52. package/dist/src/rules/no-reserved-resource-property.d.ts.map +1 -0
  53. package/dist/src/rules/no-reserved-resource-property.js +50 -0
  54. package/dist/src/rules/no-reserved-resource-property.js.map +1 -0
  55. package/dist/src/state.d.ts +2 -0
  56. package/dist/src/state.d.ts.map +1 -1
  57. package/dist/src/state.js +3 -0
  58. package/dist/src/state.js.map +1 -1
  59. package/dist/src/tsp-index.d.ts.map +1 -1
  60. package/dist/src/tsp-index.js +8 -1
  61. package/dist/src/tsp-index.js.map +1 -1
  62. package/lib/arm.tsp +2 -0
  63. package/lib/base-types/agent.tsp +425 -0
  64. package/lib/base-types/base-types.tsp +45 -0
  65. package/lib/common-types/common-types.tsp +1 -1
  66. package/lib/common-types/nsp-operations.tsp +5 -5
  67. package/lib/common-types/types.tsp +2 -3
  68. package/lib/decorators.tsp +81 -11
  69. package/lib/extension/operations.tsp +8 -6
  70. package/lib/foundations/arm.foundations.tsp +22 -11
  71. package/lib/interfaces.tsp +24 -14
  72. package/lib/legacy-types/extension.tsp +1 -1
  73. package/lib/legacy-types/operations.tsp +9 -5
  74. package/lib/legacy-types/private-endpoints.tsp +4 -4
  75. package/lib/models.tsp +1 -1
  76. package/lib/operations.tsp +31 -19
  77. package/lib/parameters.tsp +3 -3
  78. package/lib/private-endpoints.tsp +9 -9
  79. package/lib/private-links.tsp +3 -3
  80. package/lib/private.decorators.tsp +16 -0
  81. package/lib/responses.tsp +17 -12
  82. package/package.json +4 -4
  83. package/lib/common-types/customer-managed-keys-ref.tsp +0 -43
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsCxB,CAAC"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../src/state.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CxB,CAAC"}
package/dist/src/state.js CHANGED
@@ -27,6 +27,7 @@ export const ArmStateKeys = {
27
27
  customAzureResource: azureResourceManagerCreateStateSymbol("azureCustomResource"),
28
28
  armFeature: azureResourceManagerCreateStateSymbol("armFeature"),
29
29
  armFeatureSet: azureResourceManagerCreateStateSymbol("armFeatureSet"),
30
+ armFeatureFileSet: azureResourceManagerCreateStateSymbol("armFeatureFileSet"),
30
31
  armFeatureOptions: azureResourceManagerCreateStateSymbol("armFeatureOptions"),
31
32
  // private.decorator.ts
32
33
  azureResourceBase: azureResourceManagerCreateStateSymbol("azureResourceBase"),
@@ -39,5 +40,7 @@ export const ArmStateKeys = {
39
40
  armExternalType: azureResourceManagerCreateStateSymbol("armExternalType"),
40
41
  inlineAzureType: azureResourceManagerCreateStateSymbol("inlineAzureType"),
41
42
  genericResource: azureResourceManagerCreateStateSymbol("genericResource"),
43
+ // base-types.ts
44
+ azureBaseTypes: azureResourceManagerCreateStateSymbol("azureBaseTypes"),
42
45
  };
43
46
  //# sourceMappingURL=state.js.map
@@ -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,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;IACzE,wBAAwB,EAAE,qCAAqC,CAAC,0BAA0B,CAAC;IAC3F,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IAErF,cAAc;IACd,oBAAoB,EAAE,qCAAqC,CAAC,sBAAsB,CAAC;IACnF,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;IACjF,UAAU,EAAE,qCAAqC,CAAC,YAAY,CAAC;IAC/D,aAAa,EAAE,qCAAqC,CAAC,eAAe,CAAC;IACrE,iBAAiB,EAAE,qCAAqC,CAAC,mBAAmB,CAAC;IAE7E,uBAAuB;IACvB,iBAAiB,EAAE,qCAAqC,CAAC,mBAAmB,CAAC;IAC7E,oBAAoB,EAAE,qCAAqC,CAAC,sBAAsB,CAAC;IAEnF,oCAAoC;IACpC,oBAAoB,EAAE,qCAAqC,CAAC,sBAAsB,CAAC;IACnF,mBAAmB,EAAE,qCAAqC,CAAC,qBAAqB,CAAC;IACjF,sBAAsB,EAAE,qCAAqC,CAAC,wBAAwB,CAAC;IACvF,gBAAgB,EAAE,qCAAqC,CAAC,kBAAkB,CAAC;IAC3E,eAAe,EAAE,qCAAqC,CAAC,iBAAiB,CAAC;IACzE,eAAe,EAAE,qCAAqC,CAAC,iBAAiB,CAAC;IACzE,eAAe,EAAE,qCAAqC,CAAC,iBAAiB,CAAC;CAC1E,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;IACzE,wBAAwB,EAAE,qCAAqC,CAAC,0BAA0B,CAAC;IAC3F,qBAAqB,EAAE,qCAAqC,CAAC,uBAAuB,CAAC;IAErF,cAAc;IACd,oBAAoB,EAAE,qCAAqC,CAAC,sBAAsB,CAAC;IACnF,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;IACjF,UAAU,EAAE,qCAAqC,CAAC,YAAY,CAAC;IAC/D,aAAa,EAAE,qCAAqC,CAAC,eAAe,CAAC;IACrE,iBAAiB,EAAE,qCAAqC,CAAC,mBAAmB,CAAC;IAC7E,iBAAiB,EAAE,qCAAqC,CAAC,mBAAmB,CAAC;IAE7E,uBAAuB;IACvB,iBAAiB,EAAE,qCAAqC,CAAC,mBAAmB,CAAC;IAC7E,oBAAoB,EAAE,qCAAqC,CAAC,sBAAsB,CAAC;IAEnF,oCAAoC;IACpC,oBAAoB,EAAE,qCAAqC,CAAC,sBAAsB,CAAC;IACnF,mBAAmB,EAAE,qCAAqC,CAAC,qBAAqB,CAAC;IACjF,sBAAsB,EAAE,qCAAqC,CAAC,wBAAwB,CAAC;IACvF,gBAAgB,EAAE,qCAAqC,CAAC,kBAAkB,CAAC;IAC3E,eAAe,EAAE,qCAAqC,CAAC,iBAAiB,CAAC;IACzE,eAAe,EAAE,qCAAqC,CAAC,iBAAiB,CAAC;IACzE,eAAe,EAAE,qCAAqC,CAAC,iBAAiB,CAAC;IAEzE,gBAAgB;IAChB,cAAc,EAAE,qCAAqC,CAAC,gBAAgB,CAAC;CACxE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tsp-index.d.ts","sourceRoot":"","sources":["../../src/tsp-index.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"tsp-index.d.ts","sourceRoot":"","sources":["../../src/tsp-index.ts"],"names":[],"mappings":"AAwCA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC"}
@@ -1,7 +1,8 @@
1
+ import { $azureBaseType } from "./base-types.js";
1
2
  import { $armCommonTypesVersion, $externalTypeRef } from "./common-types.js";
2
3
  import { $armLibraryNamespace, $armProviderNamespace, $useLibraryNamespace } from "./namespace.js";
3
4
  import { $armOperationRoute, $armResourceAction, $armResourceCheckExistence, $armResourceCollectionAction, $armResourceCreateOrUpdate, $armResourceDelete, $armResourceList, $armResourceRead, $armResourceUpdate, $renamePathParameter, } from "./operations.js";
4
- import { $armExternalType, $armProviderNameValue, $armResourceOperations, $armVirtualResource, $customAzureResource, $extensionResource, $feature, $featureOptions, $features, $identifiers, $locationResource, $resourceBaseType, $resourceGroupResource, $singleton, $subscriptionResource, $tenantResource, } from "./resource.js";
5
+ import { $armExternalType, $armProviderNameValue, $armResourceOperations, $armVirtualResource, $customAzureResource, $extensionResource, $feature, $featureFile, $featureFileOptions, $featureFiles, $featureOptions, $features, $identifiers, $locationResource, $resourceBaseType, $resourceGroupResource, $singleton, $subscriptionResource, $tenantResource, } from "./resource.js";
5
6
  export { $lib } from "./lib.js";
6
7
  /** @internal */
7
8
  export const $decorators = {
@@ -29,6 +30,12 @@ export const $decorators = {
29
30
  armVirtualResource: $armVirtualResource,
30
31
  resourceBaseType: $resourceBaseType,
31
32
  identifiers: $identifiers,
33
+ featureFile: $featureFile,
34
+ featureFiles: $featureFiles,
35
+ featureFileOptions: $featureFileOptions,
36
+ },
37
+ "Azure.ResourceManager.BaseTypes": {
38
+ azureBaseType: $azureBaseType,
32
39
  },
33
40
  "Azure.ResourceManager.Legacy": {
34
41
  customAzureResource: $customAzureResource,
@@ -1 +1 @@
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,QAAQ,EACR,eAAe,EACf,SAAS,EACT,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;QACzC,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE,eAAe;KACe;CACjD,CAAC"}
1
+ {"version":3,"file":"tsp-index.js","sourceRoot":"","sources":["../../src/tsp-index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,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,QAAQ,EACR,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,SAAS,EACT,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;QACzB,WAAW,EAAE,YAAY;QACzB,YAAY,EAAE,aAAa;QAC3B,kBAAkB,EAAE,mBAAmB;KACC;IAC1C,iCAAiC,EAAE;QACjC,aAAa,EAAE,cAAc;KACoB;IACnD,8BAA8B,EAAE;QAC9B,mBAAmB,EAAE,oBAAoB;QACzC,eAAe,EAAE,gBAAgB;QACjC,iBAAiB,EAAE,kBAAkB;QACrC,eAAe,EAAE,gBAAgB;QACjC,mBAAmB,EAAE,oBAAoB;QACzC,OAAO,EAAE,QAAQ;QACjB,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE,eAAe;KACe;CACjD,CAAC"}
package/lib/arm.tsp CHANGED
@@ -12,6 +12,8 @@ import "./legacy-types/arm.legacy.tsp";
12
12
  import "./common-types/common-types.tsp";
13
13
  import "./extension/extension.tsp";
14
14
  import "./backcompat.tsp";
15
+ import "./base-types/base-types.tsp";
16
+ import "./base-types/agent.tsp";
15
17
  import "./private.decorators.tsp";
16
18
  import "./models.tsp";
17
19
  import "./operations.tsp";
@@ -0,0 +1,425 @@
1
+ import "./base-types.tsp";
2
+
3
+ using Azure.ResourceManager;
4
+ using Azure.ResourceManager.BaseTypes;
5
+ using Azure.ResourceManager.Private;
6
+ using TypeSpec.Rest;
7
+
8
+ namespace Azure.ResourceManager.BaseTypes.Agents;
9
+
10
+ // ============================================================================
11
+ // Agent Tool Types
12
+ // ============================================================================
13
+
14
+ /**
15
+ * A tool binding for an agent (Appliance deployment model).
16
+ * All properties are read-only (the appliance owns and reports state).
17
+ */
18
+ model AgentToolTypeAppliance {
19
+ /** Tool type discriminator. Must be one of the publicly documented Azure AI Foundry tool types. */
20
+ @visibility(Lifecycle.Read)
21
+ type: string;
22
+
23
+ /** Tool name/identifier. */
24
+ @visibility(Lifecycle.Read)
25
+ name: string;
26
+ }
27
+
28
+ /**
29
+ * A tool binding for an agent (Platform deployment model).
30
+ * All properties have default visibility (the client owns these fields).
31
+ */
32
+ model AgentToolTypePlatform {
33
+ /** Tool type discriminator. Must be one of the publicly documented Azure AI Foundry tool types. */
34
+ type: string;
35
+
36
+ /** Tool name/identifier. */
37
+ name: string;
38
+ }
39
+
40
+ // ============================================================================
41
+ // Agent Definition
42
+ // ============================================================================
43
+
44
+ /**
45
+ * Inline agent definition describing the model and behavior of the agent.
46
+ * This model is used only as a constraint for template parameters.
47
+ */
48
+ internal model AgentDefinition {
49
+ /** Model identifier (RP-defined). */
50
+ `model`: string;
51
+
52
+ /** System prompt / behavioral instructions for the agent. */
53
+ instructions: string;
54
+ }
55
+
56
+ /**
57
+ * Appliance deployment model of AgentDefinition.
58
+ * Properties controlled by `@baseTypeOptional` are invisible when the corresponding
59
+ * template parameter is false, or read-only when present.
60
+ * @template HasModelDeploymentRef Whether the modelDeploymentRef property is present.
61
+ * @template HasInstructions Whether the instructions property is present.
62
+ */
63
+ model AgentDefinitionAppliance<
64
+ HasModelDeploymentRef extends valueof boolean = false,
65
+ HasInstructions extends valueof boolean = false
66
+ > {
67
+ /** Model identifier (RP-defined). */
68
+ @visibility(Lifecycle.Read)
69
+ `model`: string;
70
+
71
+ /** System prompt / behavioral instructions for the agent. */
72
+ @baseTypeOptional(HasInstructions, true)
73
+ instructions: string;
74
+
75
+ /** Optional RP-specific reference to an underlying model deployment. */
76
+ @baseTypeOptional(HasModelDeploymentRef, true)
77
+ modelDeploymentRef?: string;
78
+ }
79
+
80
+ /**
81
+ * Platform deployment model of AgentDefinition.
82
+ * Properties controlled by `@baseTypeOptional` are invisible when the corresponding
83
+ * template parameter is false, or have default visibility when present.
84
+ * @template HasModelDeploymentRef Whether the modelDeploymentRef property is present.
85
+ * @template HasInstructions Whether the instructions property is present.
86
+ */
87
+ model AgentDefinitionPlatform<
88
+ HasModelDeploymentRef extends valueof boolean = false,
89
+ HasInstructions extends valueof boolean = false
90
+ > {
91
+ /** Model identifier (RP-defined). */
92
+ `model`: string;
93
+
94
+ /** System prompt / behavioral instructions for the agent. */
95
+ @baseTypeOptional(HasInstructions, false)
96
+ instructions: string;
97
+
98
+ /** Optional RP-specific reference to an underlying model deployment. */
99
+ @baseTypeOptional(HasModelDeploymentRef, false)
100
+ modelDeploymentRef?: string;
101
+ }
102
+
103
+ // ============================================================================
104
+ // Agent Properties (resource property bag)
105
+ // ============================================================================
106
+
107
+ /**
108
+ * Required properties for an agent resource.
109
+ * This model is used only as a constraint for template parameters.
110
+ */
111
+ internal model AgentProperties {
112
+ /** ARM-managed. Must include the base type descriptor for this resource. */
113
+ @visibility(Lifecycle.Read)
114
+ baseTypes: BaseTypeInfo[];
115
+
116
+ /** Human-friendly name. */
117
+ displayName: string;
118
+
119
+ /** Purpose/behavior summary. */
120
+ description: string;
121
+
122
+ /** Inline agent definition (must extend AgentDefinition). */
123
+ definition: AgentDefinition;
124
+ }
125
+
126
+ /**
127
+ * Appliance deployment model of AgentProperties.
128
+ * All properties are read-only (the appliance owns and reports state).
129
+ * @template AgentDefinitionType The user-defined agent definition model (must extend AgentDefinition).
130
+ */
131
+ model AgentPropertiesAppliance<AgentDefinitionType extends AgentDefinition> {
132
+ /** ARM-managed. Must include the base type descriptor for this resource. */
133
+ @visibility(Lifecycle.Read)
134
+ baseTypes: BaseTypeInfo[];
135
+
136
+ /** Human-friendly name. */
137
+ @visibility(Lifecycle.Read)
138
+ displayName: string;
139
+
140
+ /** Purpose/behavior summary. */
141
+ @visibility(Lifecycle.Read)
142
+ description: string;
143
+
144
+ /** Inline agent definition. */
145
+ @visibility(Lifecycle.Read)
146
+ definition: AgentDefinitionType;
147
+
148
+ /** Tool bindings. Read-only in the Appliance deployment model. */
149
+ @visibility(Lifecycle.Read)
150
+ tools?: AgentToolTypeAppliance[];
151
+ }
152
+
153
+ /**
154
+ * Platform deployment model of AgentProperties.
155
+ * Properties have default visibility (the client owns these fields).
156
+ * baseTypes remains ARM-managed and read-only.
157
+ * @template AgentDefinitionType The user-defined agent definition model (must extend AgentDefinition).
158
+ */
159
+ model AgentPropertiesPlatform<AgentDefinitionType extends AgentDefinition> {
160
+ /** ARM-managed. Must include the base type descriptor for this resource. */
161
+ @visibility(Lifecycle.Read)
162
+ baseTypes: BaseTypeInfo[];
163
+
164
+ /** Human-friendly name. */
165
+ displayName: string;
166
+
167
+ /** Purpose/behavior summary. */
168
+ description: string;
169
+
170
+ /** Inline agent definition. */
171
+ definition: AgentDefinitionType;
172
+
173
+ /** Tool bindings. Writable in the Platform deployment model. */
174
+ tools?: AgentToolTypePlatform[];
175
+ }
176
+
177
+ // ============================================================================
178
+ // Conversation Types
179
+ // ============================================================================
180
+
181
+ /**
182
+ * Properties for a conversation resource holding the items and metadata
183
+ * exchanged between a client and an agent.
184
+ */
185
+ model ConversationProperties {
186
+ /** Timestamp of when the conversation was created. Read-only. */
187
+ @visibility(Lifecycle.Read)
188
+ createdAt?: utcDateTime;
189
+ }
190
+
191
+ /**
192
+ * The role of the author of a message item.
193
+ */
194
+ enum MessageRole {
195
+ /** A developer-authored instruction message. */
196
+ Developer,
197
+
198
+ /** A message authored by the end user. */
199
+ User,
200
+
201
+ /** A message generated by the assistant (agent). */
202
+ Assistant,
203
+
204
+ /** A message representing the output of a tool. */
205
+ Tool,
206
+ }
207
+
208
+ /**
209
+ * The type of an item exchanged within a conversation or produced in a response.
210
+ */
211
+ enum ItemType {
212
+ /** A message authored by a developer, user, assistant, or tool. */
213
+ Message,
214
+
215
+ /** A function (tool) call requested by the model. */
216
+ FunctionCall,
217
+
218
+ /** The output produced by a function (tool) call. */
219
+ FunctionCallOutput,
220
+
221
+ /** A compaction item summarizing earlier conversation history. */
222
+ Compaction,
223
+ }
224
+
225
+ /**
226
+ * A single item exchanged within a conversation.
227
+ *
228
+ * The `type` discriminator selects the item variant. Only the fields relevant to
229
+ * that variant are populated, so all variant-specific fields are optional:
230
+ * - `Message`: `role`, `content`
231
+ * - `FunctionCall`: `callId`, `name`, `arguments`
232
+ * - `FunctionCallOutput`: `callId`, `output`
233
+ * - `Compaction`: `summary`
234
+ */
235
+ model ConversationItem {
236
+ /** Unique identifier of the item. Read-only (assigned by the service). */
237
+ @visibility(Lifecycle.Read)
238
+ id?: string;
239
+
240
+ /** The item type discriminator. Determines which variant this item represents. */
241
+ type: ItemType;
242
+
243
+ /** The role of the message author. Applies to `Message` items. */
244
+ role?: MessageRole;
245
+
246
+ /** The text content of the message. Applies to `Message` items. */
247
+ content?: string;
248
+
249
+ /** Identifier correlating a function call with its output. Applies to `FunctionCall` and `FunctionCallOutput` items. */
250
+ callId?: string;
251
+
252
+ /** The name of the function (tool) to invoke. Applies to `FunctionCall` items. */
253
+ name?: string;
254
+
255
+ /** Named arguments passed to the function (tool), keyed by parameter name. Applies to `FunctionCall` items. */
256
+ arguments?: Record<unknown>;
257
+
258
+ /** The output produced by the function (tool) call. Applies to `FunctionCallOutput` items. */
259
+ output?: string;
260
+
261
+ /** Summary of the compacted conversation history. Applies to `Compaction` items. */
262
+ summary?: string;
263
+
264
+ /** The status of the item. Read-only. */
265
+ @visibility(Lifecycle.Read)
266
+ status?: ResponseStatus;
267
+ }
268
+
269
+ // ============================================================================
270
+ // Response Types
271
+ // ============================================================================
272
+
273
+ /**
274
+ * The status of a response.
275
+ */
276
+ @Azure.Core.lroStatus
277
+ union ResponseStatus {
278
+ /** The response completed successfully. */
279
+ @Azure.Core.lroSucceeded
280
+ Completed: "Completed",
281
+
282
+ /** The response failed. */
283
+ @Azure.Core.lroFailed
284
+ Failed: "Failed",
285
+
286
+ /** The response was cancelled. */
287
+ @Azure.Core.lroCanceled
288
+ Cancelled: "Cancelled",
289
+
290
+ /** The response is incomplete. */
291
+ Incomplete: "Incomplete",
292
+
293
+ /** The response is queued for execution. */
294
+ Queued: "Queued",
295
+
296
+ /** The response is in progress. */
297
+ InProgress: "InProgress",
298
+
299
+ string,
300
+ }
301
+
302
+ /**
303
+ * Properties for a response generated by an agent for a given input,
304
+ * including its output, status, and usage.
305
+ */
306
+ model ResponseProperties {
307
+ /** Timestamp of when the response was created. Read-only. */
308
+ @visibility(Lifecycle.Read)
309
+ createdAt?: utcDateTime;
310
+
311
+ /** Model ID used to generate the response. May be specified on request to override the agent default; read-only in GET. */
312
+ `model`?: string;
313
+
314
+ /** The status of the response. Read-only. */
315
+ @visibility(Lifecycle.Read)
316
+ status?: ResponseStatus;
317
+
318
+ /** Content input to the model. Required on create. */
319
+ input: ConversationItem;
320
+ }
321
+
322
+ /**
323
+ * An item produced in the response output, such as a message or tool call.
324
+ *
325
+ * The `type` discriminator selects the item variant. Only the fields relevant to
326
+ * that variant are populated, so all variant-specific fields are optional:
327
+ * - `Message`: `role`, `content`
328
+ * - `FunctionCall`: `callId`, `name`, `arguments`
329
+ * - `FunctionCallOutput`: `callId`, `output`
330
+ * - `Compaction`: `summary`
331
+ */
332
+ model ResponseItem {
333
+ /** Unique identifier of the output item. Read-only. */
334
+ @visibility(Lifecycle.Read)
335
+ id?: string;
336
+
337
+ /** The item type discriminator. Read-only. */
338
+ @visibility(Lifecycle.Read)
339
+ type?: ItemType;
340
+
341
+ /** The role of the message author. Applies to `Message` items. Read-only. */
342
+ @visibility(Lifecycle.Read)
343
+ role?: MessageRole;
344
+
345
+ /** The text content of the message. Applies to `Message` items. Read-only. */
346
+ @visibility(Lifecycle.Read)
347
+ content?: string;
348
+
349
+ /** Identifier correlating a function call with its output. Applies to `FunctionCall` and `FunctionCallOutput` items. Read-only. */
350
+ @visibility(Lifecycle.Read)
351
+ callId?: string;
352
+
353
+ /** The name of the function (tool) invoked. Applies to `FunctionCall` items. Read-only. */
354
+ @visibility(Lifecycle.Read)
355
+ name?: string;
356
+
357
+ /** Named arguments passed to the function (tool), keyed by parameter name. Applies to `FunctionCall` items. Read-only. */
358
+ @visibility(Lifecycle.Read)
359
+ arguments?: Record<unknown>;
360
+
361
+ /** The output produced by the function (tool) call. Applies to `FunctionCallOutput` items. Read-only. */
362
+ @visibility(Lifecycle.Read)
363
+ output?: string;
364
+
365
+ /** Summary of the compacted conversation history. Applies to `Compaction` items. Read-only. */
366
+ @visibility(Lifecycle.Read)
367
+ summary?: string;
368
+
369
+ /** The status of the output item. Read-only. */
370
+ @visibility(Lifecycle.Read)
371
+ status?: ResponseStatus;
372
+ }
373
+
374
+ /** Mix-in for the output property. */
375
+ model ResponseOutputProperty {
376
+ /** Output items (messages, tool calls, etc.). Read-only. */
377
+ @visibility(Lifecycle.Read)
378
+ output: ResponseItem[];
379
+ }
380
+
381
+ /** Mix-in for the previousResponseId property. */
382
+ model PreviousResponseProperty {
383
+ /** ID of a previous response for multi-turn chaining. Writable on create. */
384
+ previousResponseId?: string;
385
+ }
386
+
387
+ /** Mix-in for response instructions. */
388
+ model ResponseInstructionsProperty {
389
+ /** System/developer message for this response. Writable on create; overrides agent-level instructions for this invocation. */
390
+ instructions?: string;
391
+ }
392
+
393
+ // ============================================================================
394
+ // Resource Templates
395
+ // ============================================================================
396
+
397
+ /**
398
+ * Model template for an Agent tracked resource.
399
+ * Applies the Agent base type decorator automatically.
400
+ * @template Properties RP-specific properties for the agent (must extend AgentProperties)
401
+ */
402
+ @azureBaseType(#{ baseType: "Agent", version: "2024-06-01" })
403
+ model Agent<Properties extends AgentProperties> is TrackedResource<Properties>;
404
+
405
+ /**
406
+ * Model template for a Conversation child resource of an Agent.
407
+ * @template Properties RP-specific properties for the conversation (must extend ConversationProperties)
408
+ * @template AgentResource The parent Agent resource type
409
+ */
410
+ @parentResource(AgentResource)
411
+ model AgentConversation<
412
+ Properties extends ConversationProperties,
413
+ AgentResource extends Foundations.Resource
414
+ > is ProxyResource<Properties>;
415
+
416
+ /**
417
+ * Model template for a Response child resource of an Agent.
418
+ * @template Properties RP-specific properties for the response (must extend ResponseProperties)
419
+ * @template AgentResource The parent Agent resource type
420
+ */
421
+ @parentResource(AgentResource)
422
+ model AgentResponse<
423
+ Properties extends ResponseProperties,
424
+ AgentResource extends Foundations.Resource
425
+ > is ProxyResource<Properties>;
@@ -0,0 +1,45 @@
1
+ using Reflection;
2
+
3
+ namespace Azure.ResourceManager.BaseTypes;
4
+
5
+ /**
6
+ * An ARM-managed base type descriptor identifying the schema contract a resource conforms to.
7
+ * Used as a parameter to the `@azureBaseType` decorator to indicate which
8
+ * base types a resource conforms to.
9
+ */
10
+ model BaseTypeInfo {
11
+ /** The base type identifier (for example, "Agent"). */
12
+ baseType: string;
13
+
14
+ /** The schema version of the base type. */
15
+ version: string;
16
+ }
17
+
18
+ /**
19
+ * `@azureBaseType` marks an Azure Resource Manager resource properties model as implementing
20
+ * a base type. Base types define structured constraints including required and
21
+ * optional properties that conforming resources must implement.
22
+ *
23
+ * This decorator may be applied multiple times to indicate conformance to
24
+ * multiple base types. Duplicate entries are ignored.
25
+ *
26
+ * @param baseType The base type specification this resource implements.
27
+ *
28
+ * @example
29
+ *
30
+ * ```typespec
31
+ * // Agent definition and properties using the Appliance deployment model
32
+ * model ContosoApplianceDefinition is AgentDefinitionAppliance<true, true>;
33
+ * model ContosoApplianceProperties is AgentPropertiesAppliance<ContosoApplianceDefinition> {
34
+ * ...DefaultProvisioningStateProperty;
35
+ * }
36
+ *
37
+ * // The @azureBaseType decorator marks the resource as conforming to the Agent base type.
38
+ * // (The Agent template applies this automatically, but it can also be applied directly.)
39
+ * @azureBaseType(#{ baseType: "Agent", version: "2024-06-01" })
40
+ * model ContosoApplianceAgent is TrackedResource<ContosoApplianceProperties> {
41
+ * ...ResourceNameParameter<ContosoApplianceAgent>;
42
+ * }
43
+ * ```
44
+ */
45
+ extern dec azureBaseType(target: Model, baseType: valueof BaseTypeInfo);
@@ -4,7 +4,7 @@ import "./types-ref.tsp";
4
4
  import "./managed-identity-ref.tsp";
5
5
  import "./managed-identity-with-delegation-ref.tsp";
6
6
  import "./private-links-ref.tsp";
7
- import "./customer-managed-keys-ref.tsp";
7
+ import "./customer-managed-keys.tsp";
8
8
  import "./extended-location-ref.tsp";
9
9
  import "./internal.tsp";
10
10
  import "./commontypes.private.decorators.tsp";
@@ -92,7 +92,7 @@ interface NspConfigurationOperations<
92
92
  ResourceParameter extends {} = NspConfigurationNameParameter<NspConfigurationKeyName>
93
93
  > {
94
94
  /**
95
- * @dev List the network security perimeter configurations to a resource
95
+ * List the network security perimeter configurations to a resource
96
96
  * @template ParentResource the parent resource of the NspConfiguration
97
97
  * @template Resource Optional. The NspConfiguration resource being listed
98
98
  * @template BaseParameters Optional. Allows overriding the operation parameters
@@ -127,7 +127,7 @@ interface NspConfigurationOperations<
127
127
  >;
128
128
 
129
129
  /**
130
- * @dev List the network security parameter configuration for a resource without pagination - this should only be used for legacy operations
130
+ * List the network security parameter configuration for a resource without pagination - this should only be used for legacy operations
131
131
  * @template ParentResource the parent resource of the NspConfiguration
132
132
  * @template Resource Optional. The NspConfiguration resource being listed
133
133
  * @template BaseParameters Optional. Allows overriding the operation parameters
@@ -162,7 +162,7 @@ interface NspConfigurationOperations<
162
162
  >;
163
163
 
164
164
  /**
165
- * @dev GET a network security perimeter configuration for a particular resource
165
+ * GET a network security perimeter configuration for a particular resource
166
166
  * @template ParentResource the parent resource of the NspConfiguration
167
167
  * @template Resource the NspConfiguration resource being read
168
168
  * @template BaseParameters Optional. Allows overriding the operation parameters
@@ -196,7 +196,7 @@ interface NspConfigurationOperations<
196
196
  >;
197
197
 
198
198
  /**
199
- * @dev Perform an action on a network security perimeter configuration for a particular resource
199
+ * Perform an action on a network security perimeter configuration for a particular resource
200
200
  * @template ParentResource the parent resource of the NspConfiguration
201
201
  * @template Request The request body type
202
202
  * @template Response The success response for the read operation
@@ -238,7 +238,7 @@ interface NspConfigurationOperations<
238
238
  ): Response | Error;
239
239
 
240
240
  /**
241
- * @dev Perform an action on a network security perimeter configuration for a particular resource
241
+ * Perform an action on a network security perimeter configuration for a particular resource
242
242
  * @template ParentResource the parent resource of the NspConfiguration
243
243
  * @template Request The request body type
244
244
  * @template Response The success response for the read operation
@@ -344,8 +344,7 @@ union createdByType {
344
344
  string,
345
345
  }
346
346
 
347
- /** @dev Resource Identity Type */
348
- @doc("")
347
+ /** Resource Identity Type */
349
348
  union ResourceIdentityType {
350
349
  SystemAssigned: "SystemAssigned",
351
350
  }
@@ -369,7 +368,7 @@ model Identity {
369
368
  type?: ResourceIdentityType;
370
369
  }
371
370
 
372
- /** @dev Properties of a KeyVault */
371
+ /** Properties of a KeyVault */
373
372
  model KeyVaultProperties {
374
373
  /** Key vault uri to access the encryption key. */
375
374
  keyIdentifier?: string;