@azure-tools/typespec-azure-resource-manager 0.31.0-dev.3 → 0.31.0-dev.5

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.
@@ -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":"AAAA,OAAO,EAEL,gBAAgB,EAEhB,SAAS,EAET,KAAK,EACL,SAAS,EACT,OAAO,EAER,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,qBAAqB,EAA6B,MAAM,iBAAiB,CAAC;AAGnF,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,CAAC;AAEhE;;;;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;CACnC;AAgBD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,kBAAkB,EAAE,CAiBtE;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAEzD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,KAAK,GAClB,kBAAkB,GAAG,SAAS,CAYhC;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,KAAK,GAAG,eAAe,GAAG,SAAS,CAanF;AAED;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,GAAG,IAAI,CAUhG;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,KAAK,EACnB,QAAQ,GAAE,MAAkB,GAC3B,IAAI,CAEN;AAED,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;CACxB;AAGD,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,QAEvE;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,QAE7E;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,QAEzE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,QAE9E;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,QAE1E;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,QAQjF;AAkCD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAG,gBAAgB,CAYvF;AAED,wBAAgB,uBAAuB,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAsBnF"}
@@ -1,9 +1,9 @@
1
- import { $tag, $visibility, getKeyName, getTags, getTypeName, isGlobalNamespace, validateDecoratorParamType, validateDecoratorTarget, } from "@typespec/compiler";
1
+ import { $tag, getTags, isGlobalNamespace, } from "@typespec/compiler";
2
2
  import { $autoRoute, getParentResource, getSegment } from "@typespec/rest";
3
3
  import { createStateSymbol, reportDiagnostic } from "./lib.js";
4
4
  import { getArmProviderNamespace } from "./namespace.js";
5
5
  import { resolveResourceOperations } from "./operations.js";
6
- const armResourcesKey = createStateSymbol("armResources");
6
+ import { getArmResource, listArmResources } from "./private.decorators.js";
7
7
  const armResourcesCachedKey = createStateSymbol("armResourcesCached");
8
8
  const armSingletonResourcesKey = createStateSymbol("armSingletonResources");
9
9
  function resolveArmResourceDetails(program, resource) {
@@ -29,18 +29,16 @@ export function getArmResources(program) {
29
29
  }
30
30
  // We haven't generated the full resource details yet
31
31
  const resources = [];
32
- for (const resource of program.stateMap(armResourcesKey).values()) {
32
+ for (const resource of listArmResources(program)) {
33
33
  const fullResource = resolveArmResourceDetails(program, resource);
34
34
  cachedResources.set(resource.typespecType, fullResource);
35
35
  resources.push(fullResource);
36
36
  }
37
37
  return resources;
38
38
  }
39
- export function getArmResource(program, resourceType) {
40
- return program.stateMap(armResourcesKey).get(resourceType);
41
- }
39
+ export { getArmResource } from "./private.decorators.js";
42
40
  export function getArmResourceInfo(program, resourceType) {
43
- const resourceInfo = program.stateMap(armResourcesKey).get(resourceType);
41
+ const resourceInfo = getArmResource(program, resourceType);
44
42
  if (!resourceInfo) {
45
43
  reportDiagnostic(program, {
46
44
  code: "arm-resource-missing",
@@ -65,96 +63,6 @@ export function getArmResourceKind(resourceType) {
65
63
  }
66
64
  return undefined;
67
65
  }
68
- /**
69
- * This decorator is used to identify ARM resource types and extract their
70
- * metadata. It is *not* meant to be used directly by a spec author, it instead
71
- * gets implicitly applied when the spec author defines a model type in this form:
72
- *
73
- * `model Server is TrackedResource<ServerProperties>;`
74
- *
75
- * The `TrackedResource<T>` type (and other associated base types) use the @armResource
76
- * decorator, so it also gets applied to the type which absorbs the `TrackedResource<T>`
77
- * definition by using the `is` keyword.
78
- */
79
- export function $armResourceInternal(context, resourceType, propertiesType) {
80
- const { program } = context;
81
- // If the properties type is a template parameter, this must be a templated type
82
- if (propertiesType.kind === "TemplateParameter") {
83
- return;
84
- }
85
- if (!validateDecoratorTarget(context, resourceType, "@armResource", "Model") ||
86
- // eslint-disable-next-line deprecation/deprecation
87
- !validateDecoratorParamType(program, resourceType, propertiesType, "Model")) {
88
- return;
89
- }
90
- if (resourceType.namespace && getTypeName(resourceType.namespace) === "Azure.ResourceManager") {
91
- // The @armResource decorator will be evaluated on instantiations of
92
- // base templated resource types like TrackedResource<SomeResource>,
93
- // so ignore in that case.
94
- return;
95
- }
96
- // The global namespace has an empty string as name
97
- if (!resourceType.namespace || resourceType.namespace.name === "") {
98
- reportDiagnostic(program, {
99
- code: "decorator-in-namespace",
100
- format: { decoratorName: "armResource" },
101
- target: resourceType,
102
- });
103
- return;
104
- }
105
- // Locate the ARM namespace in the namespace hierarchy
106
- const armProviderNamespace = getArmProviderNamespace(program, resourceType.namespace);
107
- if (!armProviderNamespace) {
108
- reportDiagnostic(program, { code: "arm-resource-missing-arm-namespace", target: resourceType });
109
- return;
110
- }
111
- // Ensure the resource type has defined a name property that has a segment
112
- const nameProperty = resourceType.properties.get("name");
113
- if (!nameProperty) {
114
- reportDiagnostic(program, { code: "arm-resource-missing-name-property", target: resourceType });
115
- return;
116
- }
117
- // Set the name property to be read only
118
- context.call($visibility, nameProperty, "read");
119
- const keyName = getKeyName(program, nameProperty);
120
- if (!keyName) {
121
- reportDiagnostic(program, {
122
- code: "arm-resource-missing-name-key-decorator",
123
- target: resourceType,
124
- });
125
- return;
126
- }
127
- const collectionName = getSegment(program, nameProperty);
128
- if (!collectionName) {
129
- reportDiagnostic(program, {
130
- code: "arm-resource-missing-name-segment-decorator",
131
- target: resourceType,
132
- });
133
- return;
134
- }
135
- const kind = getArmResourceKind(resourceType);
136
- if (!kind) {
137
- reportDiagnostic(program, {
138
- code: "arm-resource-invalid-base-type",
139
- target: resourceType,
140
- });
141
- return;
142
- }
143
- const armResourceDetails = {
144
- name: resourceType.name,
145
- kind,
146
- typespecType: resourceType,
147
- collectionName,
148
- keyName,
149
- armProviderNamespace: armProviderNamespace !== null && armProviderNamespace !== void 0 ? armProviderNamespace : "",
150
- operations: {
151
- lifecycle: {},
152
- lists: {},
153
- actions: {},
154
- },
155
- };
156
- program.stateMap(armResourcesKey).set(resourceType, armResourceDetails);
157
- }
158
66
  /**
159
67
  * This decorator is used to identify interfaces containing resource operations.
160
68
  * When applied, it marks the interface with the `@autoRoute` decorator so that
@@ -167,9 +75,6 @@ export function $armResourceInternal(context, resourceType, propertiesType) {
167
75
  */
168
76
  export function $armResourceOperations(context, interfaceType) {
169
77
  const { program } = context;
170
- if (!validateDecoratorTarget(context, interfaceType, "@armResourceOperations", "Interface")) {
171
- return undefined;
172
- }
173
78
  // All resource interfaces should use @autoRoute
174
79
  context.call($autoRoute, interfaceType);
175
80
  // If no tag is given for the interface, tag it with the interface name
@@ -184,9 +89,6 @@ export function $armResourceOperations(context, interfaceType) {
184
89
  * lists.
185
90
  */
186
91
  export function $singleton(context, resourceType, keyValue = "default") {
187
- if (!validateDecoratorTarget(context, resourceType, "@singleton", "Model")) {
188
- return undefined;
189
- }
190
92
  context.program.stateMap(armSingletonResourcesKey).set(resourceType, keyValue);
191
93
  }
192
94
  export function isSingletonResource(program, resourceType) {
@@ -204,40 +106,22 @@ export var ResourceBaseType;
204
106
  ResourceBaseType["Extension"] = "Extension";
205
107
  })(ResourceBaseType = ResourceBaseType || (ResourceBaseType = {}));
206
108
  const resourceBaseTypeKey = createStateSymbol("resourceBaseTypeKey");
207
- const parameterBaseTypesKey = createStateSymbol("parameterBaseTypesKey");
208
109
  export function $tenantResource(context, entity) {
209
- if (!validateDecoratorTarget(context, entity, "@tenantResource", "Model")) {
210
- return;
211
- }
212
110
  setResourceBaseType(context.program, entity, "Tenant");
213
111
  }
214
112
  export function $subscriptionResource(context, entity) {
215
- if (!validateDecoratorTarget(context, entity, "@subscriptionResource", "Model")) {
216
- return;
217
- }
218
113
  setResourceBaseType(context.program, entity, "Subscription");
219
114
  }
220
115
  export function $locationResource(context, entity) {
221
- if (!validateDecoratorTarget(context, entity, "@locationResource", "Model")) {
222
- return;
223
- }
224
116
  setResourceBaseType(context.program, entity, "Location");
225
117
  }
226
118
  export function $resourceGroupResource(context, entity) {
227
- if (!validateDecoratorTarget(context, entity, "@resourceGroupResource", "Model")) {
228
- return;
229
- }
230
119
  setResourceBaseType(context.program, entity, "ResourceGroup");
231
120
  }
232
121
  export function $extensionResource(context, entity) {
233
- if (!validateDecoratorTarget(context, entity, "@extensionResource", "Model")) {
234
- return;
235
- }
236
122
  setResourceBaseType(context.program, entity, "Extension");
237
123
  }
238
124
  export function $armProviderNameValue(context, entity) {
239
- if (!validateDecoratorTarget(context, entity, "@armProviderNameValue", "Operation"))
240
- return;
241
125
  const armProvider = getServiceNamespace(context.program, entity);
242
126
  if (armProvider === undefined)
243
127
  return;
@@ -264,66 +148,6 @@ function getServiceNamespace(program, type) {
264
148
  return undefined;
265
149
  }
266
150
  }
267
- export function $resourceParameterBaseFor(context, entity, values) {
268
- if (!validateDecoratorTarget(context, entity, "@resourceParameterBaseFor", "ModelProperty")) {
269
- return;
270
- }
271
- if (!validateDecoratorTarget(context, values, "@resourceParameterBaseFor", "Tuple")) {
272
- return;
273
- }
274
- const resolvedValues = [];
275
- for (const value of values.values) {
276
- if (value.kind !== "EnumMember") {
277
- return;
278
- }
279
- resolvedValues.push(value.name);
280
- }
281
- context.program.stateMap(parameterBaseTypesKey).set(entity, resolvedValues);
282
- }
283
- export function $resourceBaseParametersOf(context, entity, resourceType) {
284
- if (!validateDecoratorTarget(context, entity, "@resourceBaseParameterseOf", "Model")) {
285
- return;
286
- }
287
- if (!validateDecoratorTarget(context, resourceType, "@resourceBaseParameterseOf", "Model")) {
288
- return;
289
- }
290
- const targetResourceBaseType = getResourceBaseType(context.program, resourceType);
291
- const removedProperties = [];
292
- for (const [propertyName, property] of entity.properties) {
293
- if (!isResourceParameterBaseForInternal(context.program, property, targetResourceBaseType))
294
- removedProperties.push(propertyName);
295
- }
296
- for (const removedProperty of removedProperties) {
297
- entity.properties.delete(removedProperty);
298
- }
299
- }
300
- export function $omitIfEmpty(context, entity, propertyName) {
301
- if (!validateDecoratorTarget(context, entity, "@omitIfEmpty", "Model")) {
302
- return;
303
- }
304
- const modelProp = getProperty(entity, propertyName);
305
- if (modelProp &&
306
- modelProp.type.kind === "Model" &&
307
- !hasProperty(context.program, modelProp.type)) {
308
- entity.properties.delete(propertyName);
309
- }
310
- }
311
- export function isResourceParameterBaseFor(program, property, resourceBaseType) {
312
- return isResourceParameterBaseForInternal(program, property, resolveResourceBaseType(resourceBaseType));
313
- }
314
- function isResourceParameterBaseForInternal(program, property, resolvedBaseType) {
315
- const resourceBases = getResourceParameterBases(program, property);
316
- if (resourceBases !== undefined) {
317
- for (const rawType of resourceBases) {
318
- if (resolveResourceBaseType(rawType) === resolvedBaseType)
319
- return true;
320
- }
321
- }
322
- return false;
323
- }
324
- export function getResourceParameterBases(program, property) {
325
- return program.stateMap(parameterBaseTypesKey).get(property);
326
- }
327
151
  function setResourceBaseType(program, resource, type) {
328
152
  if (program.stateMap(resourceBaseTypeKey).has(resource)) {
329
153
  reportDiagnostic(program, {
@@ -346,7 +170,7 @@ export function getResourceBaseType(program, resource) {
346
170
  const keyValue = program.stateMap(resourceBaseTypeKey).get(resource);
347
171
  return resolveResourceBaseType(keyValue);
348
172
  }
349
- function resolveResourceBaseType(type) {
173
+ export function resolveResourceBaseType(type) {
350
174
  let resolvedType = ResourceBaseType.ResourceGroup;
351
175
  if (type !== undefined) {
352
176
  switch (type) {
@@ -369,19 +193,4 @@ function resolveResourceBaseType(type) {
369
193
  }
370
194
  return resolvedType;
371
195
  }
372
- function getProperty(model, propertyName) {
373
- var _a;
374
- let returnProperty = (_a = model.properties) === null || _a === void 0 ? void 0 : _a.get(propertyName);
375
- if (!returnProperty && model.baseModel) {
376
- returnProperty = getProperty(model.baseModel, propertyName);
377
- }
378
- return returnProperty;
379
- }
380
- function hasProperty(program, model) {
381
- if (model.properties.size > 0)
382
- return true;
383
- if (model.baseModel)
384
- return hasProperty(program, model.baseModel);
385
- return false;
386
- }
387
196
  //# sourceMappingURL=resource.js.map
@@ -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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"}
@@ -2,8 +2,8 @@ import { getEffectiveModelType, getProperty, isErrorType, SyntaxKind, } from "@t
2
2
  import { getOperationVerb, isBody, isHeader, isPathParam, isQueryParam, } from "@typespec/http";
3
3
  import { createRule } from "@typespec/lint";
4
4
  import { getActionDetails } from "@typespec/rest";
5
- import { isArmOperationsListInterface } from "../internal.js";
6
5
  import { reportDiagnostic } from "../lib.js";
6
+ import { isArmOperationsListInterface } from "../private.decorators.js";
7
7
  import { getArmResource } from "../resource.js";
8
8
  import { getNamespaceName, getSourceModel, isInternalTypeSpec, isTemplatedInterfaceOperation, } from "./utils.js";
9
9
  export const coreOperationsRule = createRule({
@@ -1 +1 @@
1
- {"version":3,"file":"core-operations.js","sourceRoot":"","sources":["../../../src/rules/core-operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-operations.js","sourceRoot":"","sources":["../../../src/rules/core-operations.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { isService } from "@typespec/compiler";
2
2
  import { createRule } from "@typespec/lint";
3
- import { isArmOperationsListInterface } from "../internal.js";
4
3
  import { reportDiagnostic } from "../lib.js";
5
4
  import { getArmProviderNamespace } from "../namespace.js";
5
+ import { isArmOperationsListInterface } from "../private.decorators.js";
6
6
  /**
7
7
  * verify that the Arm Operations interface is included.
8
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"operations-interface-missing.js","sourceRoot":"","sources":["../../../src/rules/operations-interface-missing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,UAAU,CAAC;IACvD,IAAI,EAAE,8BAA8B;IACpC,MAAM,CAAC,EAAE,OAAO,EAAE;QAChB,OAAO;YACL,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE;gBACvB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;oBAClC,OAAO;iBACR;gBAED,MAAM,YAAY,GAAG,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACjE,IAAI,CAAC,YAAY,EAAE;oBACjB,OAAO;iBACR;gBACD,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;oBAChD,IAAI,4BAA4B,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;wBAC/C,OAAO;qBACR;iBACF;gBACD,gBAAgB,CAAC,OAAO,EAAE;oBACxB,IAAI,EAAE,6BAA6B;oBACnC,MAAM,EAAE;wBACN,SAAS,EAAE,SAAS,CAAC,IAAI;qBAC1B;oBACD,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"operations-interface-missing.js","sourceRoot":"","sources":["../../../src/rules/operations-interface-missing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAExE;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,UAAU,CAAC;IACvD,IAAI,EAAE,8BAA8B;IACpC,MAAM,CAAC,EAAE,OAAO,EAAE;QAChB,OAAO;YACL,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE;gBACvB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE;oBAClC,OAAO;iBACR;gBAED,MAAM,YAAY,GAAG,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACjE,IAAI,CAAC,YAAY,EAAE;oBACjB,OAAO;iBACR;gBACD,KAAK,MAAM,IAAI,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,EAAE,EAAE;oBAChD,IAAI,4BAA4B,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;wBAC/C,OAAO;qBACR;iBACF;gBACD,gBAAgB,CAAC,OAAO,EAAE;oBACxB,IAAI,EAAE,6BAA6B;oBACnC,MAAM,EAAE;wBACN,SAAS,EAAE,SAAS,CAAC,IAAI;qBAC1B;oBACD,MAAM,EAAE,SAAS;iBAClB,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
@@ -1,6 +1,7 @@
1
1
  using TypeSpec.Http;
2
2
  using OpenAPI;
3
3
  using TypeSpec.Versioning;
4
+ using Azure.ResourceManager.Private;
4
5
 
5
6
  namespace Azure.ResourceManager.Foundations;
6
7
 
package/lib/arm.tsp CHANGED
@@ -1,5 +1,4 @@
1
1
  import "../dist/src/index.js";
2
- import "../dist/src/internal.js";
3
2
  import "@typespec/openapi";
4
3
  import "@typespec/http";
5
4
  import "@typespec/rest";
@@ -8,6 +7,7 @@ import "@azure-tools/typespec-autorest";
8
7
  import "@azure-tools/typespec-azure-core";
9
8
 
10
9
  import "./arm.foundations.tsp";
10
+ import "./private.decorators.tsp";
11
11
  import "./models.tsp";
12
12
  import "./operations.tsp";
13
13
  import "./decorators.tsp";
@@ -96,4 +96,60 @@ extern dec armProviderNameValue(target: Operation | object);
96
96
  /**
97
97
  * Marks the operation as being a collection action
98
98
  */
99
- extern dec armResourceCollectionAction(target: Operation | object);
99
+ extern dec armResourceCollectionAction(target: Operation);
100
+
101
+ /**
102
+ * Marks the operation as being a collection action
103
+ * @param resourceType Resource
104
+ * @param parentTypeName: Parent type name.
105
+ * @param parentFriendlyTypeName Friendly name for parent.
106
+ */
107
+ extern dec armRenameListByOperation(
108
+ target: Operation,
109
+ resourceType: Model,
110
+ parentTypeName?: string,
111
+ parentFriendlyTypeName?: string
112
+ );
113
+
114
+ /**
115
+ * @param resourceType Resource model
116
+ */
117
+ extern dec armResourceAction(target: Operation, resourceType: Model);
118
+
119
+ /**
120
+ * @param resourceType Resource model
121
+ */
122
+ extern dec armResourceCreateOrUpdate(target: Operation, resourceType: Model);
123
+
124
+ /**
125
+ * @param resourceType Resource model
126
+ */
127
+ extern dec armResourceRead(target: Operation, resourceType: Model);
128
+
129
+ /**
130
+ * @param resourceType Resource model
131
+ */
132
+ extern dec armResourceUpdate(target: Operation, resourceType: Model);
133
+
134
+ /**
135
+ * @param resourceType Resource model
136
+ */
137
+ extern dec armResourceDelete(target: Operation, resourceType: Model);
138
+
139
+ /**
140
+ * @param resourceType Resource model
141
+ */
142
+ extern dec armResourceList(target: Operation, resourceType: Model);
143
+
144
+ /**
145
+ * This decorator is used to identify interfaces containing resource operations.
146
+ * When applied, it marks the interface with the `@autoRoute` decorator so that
147
+ * all of its contained operations will have their routes generated
148
+ * automatically.
149
+ *
150
+ * It also adds a `@tag` decorator bearing the name of the interface so that all
151
+ * of the operations will be grouped based on the interface name in generated
152
+ * clients.
153
+ * @param _ DEPRECATED
154
+ */
155
+ extern dec armResourceOperations(target: Interface, _?: unknown);
@@ -3,6 +3,7 @@ using TypeSpec.Rest;
3
3
  using OpenAPI;
4
4
  using Autorest;
5
5
  using Azure.ResourceManager.Foundations;
6
+ using Azure.ResourceManager.Private;
6
7
 
7
8
  namespace Azure.ResourceManager;
8
9
 
@@ -155,8 +156,8 @@ interface ResourceListBySubscription<TResource extends ArmResource> {
155
156
  interface ResourceListByParent<
156
157
  TResource extends ArmResource,
157
158
  TBaseParameters = BaseParameters<TResource>,
158
- TParentName = "",
159
- TParentFriendlyName = ""
159
+ TParentName extends string = "",
160
+ TParentFriendlyName extends string = ""
160
161
  > {
161
162
  /**
162
163
  * List resources by parent.
package/lib/models.tsp CHANGED
@@ -2,6 +2,7 @@ using TypeSpec.Http;
2
2
  using TypeSpec.Rest;
3
3
  using OpenAPI;
4
4
  using Azure.ResourceManager.Foundations;
5
+ using Azure.ResourceManager.Private;
5
6
 
6
7
  namespace Azure.ResourceManager;
7
8
 
@@ -15,7 +16,7 @@ namespace Azure.ResourceManager;
15
16
  @doc("Concrete tracked resource types can be created by aliasing this type using a specific property type.")
16
17
  @armResourceInternal(TProperties)
17
18
  @includeInapplicableMetadataInPayload(false)
18
- model TrackedResource<TProperties> extends TrackedResourceBase {
19
+ model TrackedResource<TProperties extends {}> extends TrackedResourceBase {
19
20
  @doc("The resource-specific properties for this resource.")
20
21
  @visibility("read", "create")
21
22
  @extension("x-ms-client-flatten", true)
@@ -31,7 +32,7 @@ model TrackedResource<TProperties> extends TrackedResourceBase {
31
32
  @doc("Concrete proxy resource types can be created by aliasing this type using a specific property type.")
32
33
  @armResourceInternal(TProperties)
33
34
  @includeInapplicableMetadataInPayload(false)
34
- model ProxyResource<TProperties> extends ProxyResourceBase {
35
+ model ProxyResource<TProperties extends {}> extends ProxyResourceBase {
35
36
  @doc("The resource-specific properties for this resource.")
36
37
  @visibility("read", "create")
37
38
  @extension("x-ms-client-flatten", true)
@@ -48,7 +49,7 @@ model ProxyResource<TProperties> extends ProxyResourceBase {
48
49
  @doc("Concrete extension resource types can be created by aliasing this type using a specific property type.")
49
50
  @armResourceInternal(TProperties)
50
51
  @includeInapplicableMetadataInPayload(false)
51
- model ExtensionResource<TProperties> extends ExtensionResourceBase {
52
+ model ExtensionResource<TProperties extends {}> extends ExtensionResourceBase {
52
53
  @doc("The resource-specific properties for this resource.")
53
54
  @visibility("read", "create")
54
55
  @extension("x-ms-client-flatten", true)
@@ -76,7 +77,7 @@ model ParentKeysOf<TResource> {}
76
77
  * Model describing the provider namespace.
77
78
  * @template TResource The resource provided by the namespace.
78
79
  */
79
- model ProviderNamespace<TResource> {
80
+ model ProviderNamespace<TResource extends {}> {
80
81
  @path
81
82
  @segment("providers")
82
83
  @assignProviderNameValue(TResource)
@@ -38,8 +38,8 @@ op ArmListBySubscription<TResource extends ArmResource>(
38
38
  op ArmResourceListByParent<
39
39
  TResource extends ArmResource,
40
40
  TBaseParameters = BaseParameters<TResource>,
41
- TParentName = "",
42
- TParentFriendlyName = ""
41
+ TParentName extends string = "",
42
+ TParentFriendlyName extends string = ""
43
43
  >(
44
44
  ...ResourceParentParameters<TResource, TBaseParameters>
45
45
  ): ArmResponse<ResourceListResult<TResource>> | ErrorResponse;
@@ -2,6 +2,7 @@ using TypeSpec.Http;
2
2
  using TypeSpec.Rest;
3
3
  using OpenAPI;
4
4
  using Azure.ResourceManager.Foundations;
5
+ using Azure.ResourceManager.Private;
5
6
 
6
7
  namespace Azure.ResourceManager;
7
8
 
@@ -0,0 +1,70 @@
1
+ import "../dist/src/private.decorators.js";
2
+
3
+ namespace Azure.ResourceManager.Private;
4
+
5
+ using TypeSpec.Reflection;
6
+
7
+ /**
8
+ * Update the ARM provider namespace for a given entity.
9
+ */
10
+ extern dec armUpdateProviderNamespace(target: Reflection.Operation);
11
+
12
+ /**
13
+ * @param resource Resource model
14
+ */
15
+ extern dec assignProviderNameValue(target: ModelProperty, resource: Model);
16
+
17
+ /**
18
+ * @param definitionName Definition name
19
+ * @param version Arm Version
20
+ * @param referenceFile Reference file
21
+ */
22
+ extern dec armCommonDefinition(
23
+ target: Model,
24
+ definitionName?: string,
25
+ version?: string,
26
+ referenceFile?: string
27
+ );
28
+
29
+ /**
30
+ * @param definitionName Definition name
31
+ * @param version Arm Version
32
+ * @param referenceFile Reference file
33
+ */
34
+ extern dec armCommonParameter(
35
+ target: ModelProperty,
36
+ definitionName?: string,
37
+ version?: string,
38
+ referenceFile?: string
39
+ );
40
+
41
+ /**
42
+ * This decorator is used to identify ARM resource types and extract their
43
+ * metadata. It is *not* meant to be used directly by a spec author, it instead
44
+ * gets implicitly applied when the spec author defines a model type in this form:
45
+ *
46
+ * `model Server is TrackedResource<ServerProperties>;`
47
+ *
48
+ * The `TrackedResource<T>` type (and other associated base types) use the `@armResource`
49
+ * decorator, so it also gets applied to the type which absorbs the `TrackedResource<T>`
50
+ * definition by using the `is` keyword.
51
+ *
52
+ * @param properties Arm resource properties
53
+ */
54
+ extern dec armResourceInternal(target: Model, properties: Model);
55
+
56
+ /**
57
+ * Omit a property in the target model.
58
+ * @internal
59
+ * @param propertyName Name of the property to omit
60
+ */
61
+ extern dec omitIfEmpty(target: Model, propertyName: string);
62
+
63
+ /**
64
+ * @param propertyName Name of the property to omit
65
+ */
66
+ extern dec resourceBaseParametersOf(target: Model, propertyName: Model);
67
+ /**
68
+ * @param values Values
69
+ */
70
+ extern dec resourceParameterBaseFor(target: ModelProperty, values: unknown[]);
package/lib/responses.tsp CHANGED
@@ -2,6 +2,7 @@ using TypeSpec.Http;
2
2
  using TypeSpec.Rest;
3
3
  using OpenAPI;
4
4
  using Azure.ResourceManager.Foundations;
5
+ using Azure.ResourceManager.Private;
5
6
 
6
7
  namespace Azure.ResourceManager;
7
8