@azure-tools/typespec-azure-resource-manager 0.42.0-dev.15 → 0.42.0-dev.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/src/lib.d.ts CHANGED
@@ -41,8 +41,11 @@ export declare const $lib: import("@typespec/compiler").TypeSpecLibrary<{
41
41
  "resource-without-path-and-segment": {
42
42
  default: string;
43
43
  };
44
+ "template-type-constraint-no-met": {
45
+ default: import("@typespec/compiler").CallableMessage<[string, string, string, string]>;
46
+ };
44
47
  }, Record<string, any>, never>;
45
- export declare const reportDiagnostic: <C extends "single-arm-provider" | "decorator-param-wrong-type" | "arm-resource-circular-ancestry" | "arm-resource-duplicate-base-parameter" | "arm-resource-missing-name-property" | "arm-resource-missing-name-key-decorator" | "arm-resource-missing-name-segment-decorator" | "arm-resource-missing-arm-namespace" | "arm-resource-invalid-base-type" | "arm-resource-missing" | "arm-common-types-incompatible-version" | "decorator-in-namespace" | "parent-type" | "resource-without-path-and-segment", M extends keyof {
48
+ export declare const reportDiagnostic: <C extends "single-arm-provider" | "decorator-param-wrong-type" | "arm-resource-circular-ancestry" | "arm-resource-duplicate-base-parameter" | "arm-resource-missing-name-property" | "arm-resource-missing-name-key-decorator" | "arm-resource-missing-name-segment-decorator" | "arm-resource-missing-arm-namespace" | "arm-resource-invalid-base-type" | "arm-resource-missing" | "arm-common-types-incompatible-version" | "decorator-in-namespace" | "parent-type" | "resource-without-path-and-segment" | "template-type-constraint-no-met", M extends keyof {
46
49
  "single-arm-provider": {
47
50
  default: string;
48
51
  };
@@ -85,6 +88,9 @@ export declare const reportDiagnostic: <C extends "single-arm-provider" | "decor
85
88
  "resource-without-path-and-segment": {
86
89
  default: string;
87
90
  };
91
+ "template-type-constraint-no-met": {
92
+ default: import("@typespec/compiler").CallableMessage<[string, string, string, string]>;
93
+ };
88
94
  }[C]>(program: import("@typespec/compiler").Program, diag: import("@typespec/compiler").DiagnosticReport<{
89
95
  "single-arm-provider": {
90
96
  default: string;
@@ -128,7 +134,10 @@ export declare const reportDiagnostic: <C extends "single-arm-provider" | "decor
128
134
  "resource-without-path-and-segment": {
129
135
  default: string;
130
136
  };
131
- }, C, M>) => void, createDiagnostic: <C extends "single-arm-provider" | "decorator-param-wrong-type" | "arm-resource-circular-ancestry" | "arm-resource-duplicate-base-parameter" | "arm-resource-missing-name-property" | "arm-resource-missing-name-key-decorator" | "arm-resource-missing-name-segment-decorator" | "arm-resource-missing-arm-namespace" | "arm-resource-invalid-base-type" | "arm-resource-missing" | "arm-common-types-incompatible-version" | "decorator-in-namespace" | "parent-type" | "resource-without-path-and-segment", M extends keyof {
137
+ "template-type-constraint-no-met": {
138
+ default: import("@typespec/compiler").CallableMessage<[string, string, string, string]>;
139
+ };
140
+ }, C, M>) => void, createDiagnostic: <C extends "single-arm-provider" | "decorator-param-wrong-type" | "arm-resource-circular-ancestry" | "arm-resource-duplicate-base-parameter" | "arm-resource-missing-name-property" | "arm-resource-missing-name-key-decorator" | "arm-resource-missing-name-segment-decorator" | "arm-resource-missing-arm-namespace" | "arm-resource-invalid-base-type" | "arm-resource-missing" | "arm-common-types-incompatible-version" | "decorator-in-namespace" | "parent-type" | "resource-without-path-and-segment" | "template-type-constraint-no-met", M extends keyof {
132
141
  "single-arm-provider": {
133
142
  default: string;
134
143
  };
@@ -171,6 +180,9 @@ export declare const reportDiagnostic: <C extends "single-arm-provider" | "decor
171
180
  "resource-without-path-and-segment": {
172
181
  default: string;
173
182
  };
183
+ "template-type-constraint-no-met": {
184
+ default: import("@typespec/compiler").CallableMessage<[string, string, string, string]>;
185
+ };
174
186
  }[C]>(diag: import("@typespec/compiler").DiagnosticReport<{
175
187
  "single-arm-provider": {
176
188
  default: string;
@@ -214,5 +226,8 @@ export declare const reportDiagnostic: <C extends "single-arm-provider" | "decor
214
226
  "resource-without-path-and-segment": {
215
227
  default: string;
216
228
  };
229
+ "template-type-constraint-no-met": {
230
+ default: import("@typespec/compiler").CallableMessage<[string, string, string, string]>;
231
+ };
217
232
  }, C, M>) => import("@typespec/compiler").Diagnostic;
218
233
  //# sourceMappingURL=lib.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA+Ff,CAAC;AAEH,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oDAAS,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAqGf,CAAC;AAEH,eAAO,MAAQ,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oDAAS,CAAC"}
package/dist/src/lib.js CHANGED
@@ -86,6 +86,12 @@ export const $lib = createTypeSpecLibrary({
86
86
  default: "Resource types must have a property with '@path` and '@segment' decorators.",
87
87
  },
88
88
  },
89
+ "template-type-constraint-no-met": {
90
+ severity: "error",
91
+ messages: {
92
+ default: paramMessage `The template parameter "${"sourceType"}" for "${"entity"}" does not extend the constraint type "${"constraintType"}". ${"actionMessage"}`,
93
+ },
94
+ },
89
95
  },
90
96
  });
91
97
  export const { reportDiagnostic, createDiagnostic } = $lib;
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC;IACxC,IAAI,EAAE,8CAA8C;IACpD,WAAW,EAAE;QACX,qBAAqB,EAAE;YACrB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,4EAA4E;aACtF;SACF;QACD,4BAA4B,EAAE;YAC5B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,0BAA0B,EACxB,gGAAgG;aACnG;SACF;QACD,gCAAgC,EAAE;YAChC,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EACL,oLAAoL;aACvL;SACF;QACD,uCAAuC,EAAE;YACvC,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EACL,uNAAuN;aAC1N;SACF;QACD,oCAAoC,EAAE;YACpC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,8DAA8D;aACxE;SACF;QACD,yCAAyC,EAAE;YACzC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,sFAAsF;aACzF;SACF;QACD,6CAA6C,EAAE;YAC7C,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,+FAA+F;aAClG;SACF;QACD,oCAAoC,EAAE;YACpC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,iJAAiJ;aACpJ;SACF;QACD,gCAAgC,EAAE;YAChC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,6IAA6I;aAChJ;SACF;QACD,sBAAsB,EAAE;YACtB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,+CAA+C,MAAM,EAAE;aAC7E;SACF;QACD,uCAAuC,EAAE;YACvC,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,4EAA4E,iBAAiB,wDAAwD,mBAAmB,EAAE;aAChM;SACF;QACD,wBAAwB,EAAE;YACxB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,QAAQ,eAAe,uFAAuF;aACpI;SACF;QACD,aAAa,EAAE;YACb,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,eAAe,EAAE,YAAY,CAAA,eAAe,QAAQ,OAAO,MAAM,6CAA6C;aAC/G;SACF;QACD,mCAAmC,EAAE;YACnC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,6EAA6E;aACvF;SACF;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../../src/lib.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEzE,MAAM,CAAC,MAAM,IAAI,GAAG,qBAAqB,CAAC;IACxC,IAAI,EAAE,8CAA8C;IACpD,WAAW,EAAE;QACX,qBAAqB,EAAE;YACrB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,4EAA4E;aACtF;SACF;QACD,4BAA4B,EAAE;YAC5B,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,0BAA0B,EACxB,gGAAgG;aACnG;SACF;QACD,gCAAgC,EAAE;YAChC,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EACL,oLAAoL;aACvL;SACF;QACD,uCAAuC,EAAE;YACvC,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EACL,uNAAuN;aAC1N;SACF;QACD,oCAAoC,EAAE;YACpC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,8DAA8D;aACxE;SACF;QACD,yCAAyC,EAAE;YACzC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,sFAAsF;aACzF;SACF;QACD,6CAA6C,EAAE;YAC7C,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,+FAA+F;aAClG;SACF;QACD,oCAAoC,EAAE;YACpC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,iJAAiJ;aACpJ;SACF;QACD,gCAAgC,EAAE;YAChC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EACL,6IAA6I;aAChJ;SACF;QACD,sBAAsB,EAAE;YACtB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,+CAA+C,MAAM,EAAE;aAC7E;SACF;QACD,uCAAuC,EAAE;YACvC,QAAQ,EAAE,SAAS;YACnB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,4EAA4E,iBAAiB,wDAAwD,mBAAmB,EAAE;aAChM;SACF;QACD,wBAAwB,EAAE;YACxB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,QAAQ,eAAe,uFAAuF;aACpI;SACF;QACD,aAAa,EAAE;YACb,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,eAAe,EAAE,YAAY,CAAA,eAAe,QAAQ,OAAO,MAAM,6CAA6C;aAC/G;SACF;QACD,mCAAmC,EAAE;YACnC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,6EAA6E;aACvF;SACF;QACD,iCAAiC,EAAE;YACjC,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE;gBACR,OAAO,EAAE,YAAY,CAAA,2BAA2B,YAAY,UAAU,QAAQ,0CAA0C,gBAAgB,MAAM,eAAe,EAAE;aAChK;SACF;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC"}
@@ -2,6 +2,7 @@ import { DecoratorContext, Enum, EnumMember, Interface, Model, ModelProperty, Op
2
2
  import { ArmResourceDetails } from "./resource.js";
3
3
  export declare const namespace = "Azure.ResourceManager.Private";
4
4
  export declare function $omitIfEmpty(context: DecoratorContext, entity: Model, propertyName: string): void;
5
+ export declare function $enforceConstraint(context: DecoratorContext, entity: Operation | Model, sourceType: Model, constraintType: Model): void;
5
6
  export declare function $resourceBaseParametersOf(context: DecoratorContext, entity: Model, resourceType: Model): void;
6
7
  export declare function $resourceParameterBaseFor(context: DecoratorContext, entity: ModelProperty, values: Tuple): void;
7
8
  export declare function $defaultResourceKeySegmentName(context: DecoratorContext, entity: ModelProperty, resource: Model, keyName: string, segment: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"private.decorators.d.ts","sourceRoot":"","sources":["../../src/private.decorators.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,gBAAgB,EAChB,IAAI,EACJ,UAAU,EACV,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,EACT,OAAO,EAEP,KAAK,EAGN,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EACL,kBAAkB,EAMnB,MAAM,eAAe,CAAC;AAGvB,eAAO,MAAM,SAAS,kCAAkC,CAAC;AAIzD,wBAAgB,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,QAU1F;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,YAAY,EAAE,KAAK,QAepB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,KAAK,QAUd;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,KAAK,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,QAchB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,GACtB,MAAM,EAAE,GAAG,SAAS,CAEtB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,EACvB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAMT;AA4KD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,EACrC,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI,CAeN;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,EACrC,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI,CAeN;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,KAAK,GAClB,IAAI,CAON;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,QAwBvF;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAWvF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,KAAK,EACnB,cAAc,EAAE,KAAK,QAmFtB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,kBAAkB,EAAE,CAEvE;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,KAAK,GAClB,kBAAkB,GAAG,SAAS,CAEhC;AAiBD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,QAKhF"}
1
+ {"version":3,"file":"private.decorators.d.ts","sourceRoot":"","sources":["../../src/private.decorators.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,gBAAgB,EAChB,IAAI,EACJ,UAAU,EACV,SAAS,EACT,KAAK,EACL,aAAa,EACb,SAAS,EACT,OAAO,EAEP,KAAK,EAGN,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EACL,kBAAkB,EAMnB,MAAM,eAAe,CAAC;AAGvB,eAAO,MAAM,SAAS,kCAAkC,CAAC;AAIzD,wBAAgB,YAAY,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,QAU1F;AAED,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,GAAG,KAAK,EACzB,UAAU,EAAE,KAAK,EACjB,cAAc,EAAE,KAAK,QAoBtB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,YAAY,EAAE,KAAK,QAepB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,KAAK,QAUd;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,KAAK,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,QAchB;AAED,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,GACtB,MAAM,EAAE,GAAG,SAAS,CAEtB;AAED,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,aAAa,EACvB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAMT;AA4KD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,aAAa,CAAC,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,EACrC,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI,CAeN;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,cAAc,CAAC,EAAE,MAAM,EACvB,OAAO,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,EACrC,aAAa,CAAC,EAAE,MAAM,GACrB,IAAI,CAeN;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,YAAY,EAAE,KAAK,GAClB,IAAI,CAON;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,SAAS,QAwBvF;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAWvF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,gBAAgB,EACzB,YAAY,EAAE,KAAK,EACnB,cAAc,EAAE,KAAK,QAmFtB;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,kBAAkB,EAAE,CAEvE;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,KAAK,GAClB,kBAAkB,GAAG,SAAS,CAEhC;AAiBD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,IAAI,QAKhF"}
@@ -19,6 +19,26 @@ export function $omitIfEmpty(context, entity, propertyName) {
19
19
  entity.properties.delete(propertyName);
20
20
  }
21
21
  }
22
+ export function $enforceConstraint(context, entity, sourceType, constraintType) {
23
+ if (sourceType !== undefined && constraintType !== undefined) {
24
+ // walk the baseModel chain until find a match or fail
25
+ let baseType = sourceType;
26
+ do {
27
+ if (baseType === constraintType)
28
+ return;
29
+ } while ((baseType = baseType.baseModel) !== undefined);
30
+ reportDiagnostic(context.program, {
31
+ code: "template-type-constraint-no-met",
32
+ target: entity,
33
+ format: {
34
+ entity: entity.name,
35
+ sourceType: sourceType.name,
36
+ constraintType: constraintType.name,
37
+ actionMessage: `Please use the "TrackedResource", "ProxyResource", or "ExtensionResource" template to define the resource.`,
38
+ },
39
+ });
40
+ }
41
+ }
22
42
  export function $resourceBaseParametersOf(context, entity, resourceType) {
23
43
  const targetResourceBaseType = getResourceBaseType(context.program, resourceType);
24
44
  const removedProperties = [];
@@ -1 +1 @@
1
- {"version":3,"file":"private.decorators.js","sourceRoot":"","sources":["../../src/private.decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"private.decorators.js","sourceRoot":"","sources":["../../src/private.decorators.ts"],"names":[],"mappings":"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"}
@@ -30,14 +30,14 @@ enum ResourceHome {
30
30
  *
31
31
  * @template Resource The type of the resource.
32
32
  */
33
- alias BaseParameters<Resource extends ArmResourceBase> = DefaultBaseParameters<Resource>;
33
+ alias BaseParameters<Resource extends {}> = DefaultBaseParameters<Resource>;
34
34
 
35
35
  /**
36
36
  * Base parameters for a resource.
37
37
  * @template Resource The type of the resource.
38
38
  */
39
39
  @resourceBaseParametersOf(Resource)
40
- model DefaultBaseParameters<Resource extends ArmResourceBase> {
40
+ model DefaultBaseParameters<Resource extends {}> {
41
41
  ...ApiVersionParameter;
42
42
 
43
43
  // unless tenant or extension
@@ -97,7 +97,7 @@ model ExtensionBaseParameters is TenantBaseParameters {
97
97
  @doc("The updatable properties of the {name}.", Resource)
98
98
  @friendlyName("{name}UpdateProperties", Resource)
99
99
  model ResourceUpdateModelProperties<
100
- Resource extends ArmResource,
100
+ Resource extends Foundations.Resource,
101
101
  Properties extends TypeSpec.Reflection.Model
102
102
  > is OptionalProperties<UpdateableProperties<Properties>>;
103
103
 
@@ -111,7 +111,7 @@ model ResourceUpdateModelProperties<
111
111
  @friendlyName("{name}Update", Resource)
112
112
  @omitIfEmpty("properties")
113
113
  model ResourceUpdateModel<
114
- Resource extends ArmResource,
114
+ Resource extends Foundations.Resource,
115
115
  Properties extends TypeSpec.Reflection.Model
116
116
  > is OptionalProperties<UpdateableProperties<OmitProperties<Resource, "Name" | "name">>> {
117
117
  @extension("x-ms-client-flatten", true)
@@ -124,47 +124,48 @@ model ResourceUpdateModel<
124
124
  */
125
125
  @doc("The type used for updating tags in {name} resources.", Resource)
126
126
  @friendlyName("{name}TagsUpdate", Resource)
127
- model TagsUpdateModel<Resource extends ArmResource> {
127
+ model TagsUpdateModel<Resource extends Foundations.Resource> {
128
128
  ...ArmTagsProperty;
129
129
  }
130
130
 
131
131
  // Tenant resource operation definitions
132
132
 
133
- alias TenantParentScope<Resource extends ArmResource> = TenantScope<Resource>;
133
+ alias TenantParentScope<Resource extends Foundations.Resource> = TenantScope<Resource>;
134
134
 
135
135
  /**
136
136
  * Parameter model for listing a resource at the tenant scope
137
137
  * @template Resource The type of the resource.
138
138
  */
139
- model TenantScope<Resource extends ArmResource>
139
+ model TenantScope<Resource extends Foundations.Resource>
140
140
  is ResourceParentParameters<Resource, TenantBaseParameters>;
141
141
 
142
142
  /**
143
143
  * Parameter model for listing a resource at the subscription scope
144
144
  * @template Resource The type of the resource.
145
145
  */
146
- model SubscriptionScope<Resource extends ArmResource>
146
+ model SubscriptionScope<Resource extends Foundations.Resource>
147
147
  is ResourceParentParameters<Resource, SubscriptionBaseParameters>;
148
148
 
149
149
  /**
150
150
  * Parameter model for listing a resource at the location scope
151
151
  * @template Resource The type of the resource.
152
152
  */
153
- model LocationScope<Resource extends ArmResource>
153
+ model LocationScope<Resource extends Foundations.Resource>
154
154
  is ResourceParentParameters<Resource, LocationBaseParameters>;
155
155
 
156
156
  /**
157
157
  * Parameter model for listing an extension resource
158
158
  * @template Resource The type of the resource.
159
159
  */
160
- model ExtensionScope<Resource extends ArmResource>
160
+ model ExtensionScope<Resource extends Foundations.Resource>
161
161
  is ResourceParentParameters<Resource, ExtensionBaseParameters>;
162
162
 
163
163
  /**
164
164
  * Parameter model for listing a resource at the resource group scope
165
165
  * @template Resource The type of the resource.
166
166
  */
167
- model ResourceGroupScope<Resource extends ArmResource> is ResourceParentParameters<Resource>;
167
+ model ResourceGroupScope<Resource extends Foundations.Resource>
168
+ is ResourceParentParameters<Resource>;
168
169
 
169
170
  /**
170
171
  * The type used for update operations of the resource.
@@ -174,7 +175,7 @@ model ResourceGroupScope<Resource extends ArmResource> is ResourceParentParamete
174
175
  @doc("The type used for update operations of the {name}.", Resource)
175
176
  @friendlyName("{name}Update", Resource)
176
177
  model ProxyResourceUpdateModel<
177
- Resource extends ArmResource,
178
+ Resource extends Foundations.Resource,
178
179
  Properties extends TypeSpec.Reflection.Model
179
180
  > {
180
181
  @extension("x-ms-client-flatten", true)
package/lib/arm.tsp CHANGED
@@ -8,6 +8,7 @@ import "@azure-tools/typespec-azure-core";
8
8
 
9
9
  import "./arm.foundations.tsp";
10
10
  import "./common-types/common-types.tsp";
11
+ import "./common-types/backcompat.tsp";
11
12
  import "./common-types/types.tsp";
12
13
  import "./common-types/managed-identity.tsp";
13
14
  import "./common-types/private-links.tsp";
@@ -0,0 +1,19 @@
1
+ namespace Azure.ResourceManager.Foundations;
2
+
3
+ #deprecated "Please use Foundations.Resource instead of Foundations.ArmResource"
4
+ alias ArmResource = Resource;
5
+
6
+ #deprecated "Please use Foundations.TrackedResource instead of Foundations.TrackedResourceBase"
7
+ alias TrackedResourceBase = TrackedResource;
8
+
9
+ #deprecated "Please use Foundations.ProxyResource instead of Foundations.ProxyResourceBase"
10
+ alias ProxyResourceBase = ProxyResource;
11
+
12
+ #deprecated "Please use Foundations.ProxyResource instead of Foundations.ExtensionResourceBase"
13
+ alias ExtensionResourceBase = ExtensionResource;
14
+
15
+ #deprecated "Please use Foundations.Sku instead of Foundations.ResourceSkuType"
16
+ alias ResourceSkuType = Sku;
17
+
18
+ #deprecated "Please use Foundations.Plan instead of Foundations.ResourcePlanType"
19
+ alias ResourcePlanType = Plan;
@@ -36,7 +36,7 @@ model PrivateEndpoint {
36
36
  }
37
37
 
38
38
  /** The private endpoint connection resource */
39
- model PrivateEndpointConnection extends Azure.ResourceManager.Foundations.ProxyResourceBase {
39
+ model PrivateEndpointConnection extends Azure.ResourceManager.Foundations.ProxyResource {
40
40
  /** The private endpoint connection properties */
41
41
  properties?: PrivateEndpointConnectionProperties;
42
42
  }
@@ -120,7 +120,7 @@ union PrivateEndpointServiceConnectionStatus {
120
120
  string,
121
121
  }
122
122
 
123
- model PrivateLinkResource extends Azure.ResourceManager.Foundations.ProxyResourceBase {
123
+ model PrivateLinkResource extends Azure.ResourceManager.Foundations.ProxyResource {
124
124
  /** Properties of the private link resource. */
125
125
  properties?: PrivateLinkResourceProperties;
126
126
  }
@@ -1,34 +1,42 @@
1
1
  using TypeSpec.Http;
2
2
  using TypeSpec.OpenAPI;
3
+ using Azure.Core;
3
4
  using Azure.ResourceManager.Private;
4
5
 
5
6
  namespace Azure.ResourceManager.Foundations;
6
7
 
7
- /** Base class used for type definitions */
8
- model ArmResourceBase {}
9
-
10
8
  /**
11
9
  * Base model that defines common properties for all Azure Resource Manager resources.
12
10
  */
13
11
  @doc("Common properties for all Azure Resource Manager resources.")
14
- model ArmResource extends ArmResourceBase {
12
+ model Resource {
15
13
  @doc("Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}")
16
14
  @visibility("read")
17
- id: string;
15
+ id?: string;
18
16
 
19
17
  @doc("The name of the resource")
20
18
  @visibility("read")
21
- name: string;
19
+ name?: string;
22
20
 
23
21
  @doc("The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"")
24
22
  @visibility("read")
25
- type: string;
23
+ type?: string;
26
24
 
27
25
  @doc("Azure Resource Manager metadata containing createdBy and modifiedBy information.")
28
26
  @visibility("read")
29
27
  systemData?: SystemData;
30
28
  }
31
29
 
30
+ /** The resource model definition for an Azure Resource Manager resource with an etag. */
31
+ @armCommonDefinition("TrackedResource", Azure.ResourceManager.CommonTypes.Versions.v3)
32
+ @armCommonDefinition("TrackedResource", Azure.ResourceManager.CommonTypes.Versions.v4)
33
+ @armCommonDefinition("TrackedResource", Azure.ResourceManager.CommonTypes.Versions.v5)
34
+ model AzureEntityResource extends Resource {
35
+ /** Resource Etag. */
36
+ @visibility("read")
37
+ etag: string;
38
+ }
39
+
32
40
  /**
33
41
  * Standard type definition for Azure Resource Manager Tags property.
34
42
  *
@@ -46,8 +54,8 @@ model ArmTagsProperty {
46
54
  @armCommonDefinition("TrackedResource", Azure.ResourceManager.CommonTypes.Versions.v3)
47
55
  @armCommonDefinition("TrackedResource", Azure.ResourceManager.CommonTypes.Versions.v4)
48
56
  @armCommonDefinition("TrackedResource", Azure.ResourceManager.CommonTypes.Versions.v5)
49
- @doc("The resource model definition for an Azure Resource Manager tracked top level resource")
50
- model TrackedResourceBase extends ArmResource {
57
+ @doc("The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'")
58
+ model TrackedResource extends Resource {
51
59
  @doc("The geo-location where the resource lives")
52
60
  @visibility("read", "create")
53
61
  location: string;
@@ -62,7 +70,7 @@ model TrackedResourceBase extends ArmResource {
62
70
  @armCommonDefinition("ProxyResource", Azure.ResourceManager.CommonTypes.Versions.v3)
63
71
  @armCommonDefinition("ProxyResource", Azure.ResourceManager.CommonTypes.Versions.v4)
64
72
  @armCommonDefinition("ProxyResource", Azure.ResourceManager.CommonTypes.Versions.v5)
65
- model ProxyResourceBase extends ArmResource {}
73
+ model ProxyResource extends Resource {}
66
74
 
67
75
  /**
68
76
  * The base extension resource.
@@ -72,7 +80,7 @@ model ProxyResourceBase extends ArmResource {}
72
80
  @armCommonDefinition("ProxyResource", Azure.ResourceManager.CommonTypes.Versions.v3)
73
81
  @armCommonDefinition("ProxyResource", Azure.ResourceManager.CommonTypes.Versions.v4)
74
82
  @armCommonDefinition("ProxyResource", Azure.ResourceManager.CommonTypes.Versions.v5)
75
- model ExtensionResourceBase extends ArmResource {}
83
+ model ExtensionResource extends Resource {}
76
84
 
77
85
  /**
78
86
  * The SKU (Stock Keeping Unit) assigned to this resource.
@@ -81,7 +89,7 @@ model ExtensionResourceBase extends ArmResource {}
81
89
  @armCommonDefinition("Sku", Azure.ResourceManager.CommonTypes.Versions.v3)
82
90
  @armCommonDefinition("Sku", Azure.ResourceManager.CommonTypes.Versions.v4)
83
91
  @armCommonDefinition("Sku", Azure.ResourceManager.CommonTypes.Versions.v5)
84
- model ResourceSkuType {
92
+ model Sku {
85
93
  @doc("The name of the SKU, usually a combination of letters and numbers, for example, 'P3'")
86
94
  name: string;
87
95
 
@@ -379,7 +387,7 @@ union createdByType {
379
387
  @armCommonDefinition("Plan", Azure.ResourceManager.CommonTypes.Versions.v3)
380
388
  @armCommonDefinition("Plan", Azure.ResourceManager.CommonTypes.Versions.v4)
381
389
  @armCommonDefinition("Plan", Azure.ResourceManager.CommonTypes.Versions.v5)
382
- model ResourcePlanType {
390
+ model Plan {
383
391
  @doc("A user defined name of the 3rd Party Artifact that is being procured.")
384
392
  name: string;
385
393
 
@@ -43,7 +43,7 @@ interface Operations {
43
43
  */
44
44
  #deprecated "Use Azure.ResourceManager.TrackedResourceOperations instead"
45
45
  interface ResourceOperations<
46
- Resource extends ArmResource,
46
+ Resource extends Foundations.Resource,
47
47
  Properties extends TypeSpec.Reflection.Model,
48
48
  BaseParameters = DefaultBaseParameters<Resource>
49
49
  > extends TrackedResourceOperations<Resource, Properties, BaseParameters> {}
@@ -59,7 +59,7 @@ interface ResourceOperations<
59
59
  *
60
60
  */
61
61
  interface TrackedResourceOperations<
62
- Resource extends ArmResource,
62
+ Resource extends Foundations.Resource,
63
63
  Properties extends TypeSpec.Reflection.Model,
64
64
  BaseParameters = DefaultBaseParameters<Resource>
65
65
  >
@@ -79,7 +79,7 @@ interface TrackedResourceOperations<
79
79
  */
80
80
  #suppress "deprecated" "This should be deprecated in a future release"
81
81
  interface ProxyResourceOperations<
82
- Resource extends ArmResource,
82
+ Resource extends Foundations.Resource,
83
83
  BaseParameters = DefaultBaseParameters<Resource>
84
84
  >
85
85
  extends ResourceRead<Resource, BaseParameters>,
@@ -100,7 +100,7 @@ interface ProxyResourceOperations<
100
100
  */
101
101
  #suppress "deprecated" "This should be deprecated in a future release"
102
102
  interface TenantResourceOperations<
103
- Resource extends ArmResource,
103
+ Resource extends Foundations.Resource,
104
104
  Properties extends TypeSpec.Reflection.Model
105
105
  >
106
106
  extends TenantResourceRead<Resource>,
@@ -118,7 +118,7 @@ interface TenantResourceOperations<
118
118
  */
119
119
  #suppress "deprecated" "This should be deprecated in a future release"
120
120
  interface ResourceInstanceOperations<
121
- Resource extends ArmResource,
121
+ Resource extends Foundations.Resource,
122
122
  Properties extends TypeSpec.Reflection.Model,
123
123
  BaseParameters = DefaultBaseParameters<Resource>,
124
124
  PatchModel = ResourceUpdateModel<Resource, Properties>
@@ -134,7 +134,7 @@ interface ResourceInstanceOperations<
134
134
  * @template BaseParameters The http parameters that are part of the request
135
135
  */
136
136
  interface ResourceCollectionOperations<
137
- Resource extends ArmResource,
137
+ Resource extends Foundations.Resource,
138
138
  BaseParameters = DefaultBaseParameters<Resource>
139
139
  > extends ResourceListByParent<Resource, BaseParameters>, ResourceListBySubscription<Resource> {}
140
140
 
@@ -142,7 +142,7 @@ interface ResourceCollectionOperations<
142
142
  * An interface for resources with can be listed by subscription.
143
143
  * @template Resource The ArmResource that provides these operations
144
144
  */
145
- interface ResourceListBySubscription<Resource extends ArmResource> {
145
+ interface ResourceListBySubscription<Resource extends Foundations.Resource> {
146
146
  /**
147
147
  * @dev List resources by subscription.
148
148
  * @template Resource The ArmResource to list.
@@ -158,7 +158,7 @@ interface ResourceListBySubscription<Resource extends ArmResource> {
158
158
  * @template ParentFriendlyName The friendly name of the parent resource
159
159
  */
160
160
  interface ResourceListByParent<
161
- Resource extends ArmResource,
161
+ Resource extends Foundations.Resource,
162
162
  BaseParameters = DefaultBaseParameters<Resource>,
163
163
  ParentName extends valueof string = "",
164
164
  ParentFriendlyName extends valueof string = ""
@@ -179,7 +179,7 @@ interface ResourceListByParent<
179
179
  * @template BaseParameters The http parameters that are part of the request
180
180
  */
181
181
  interface ResourceRead<
182
- Resource extends ArmResource,
182
+ Resource extends Foundations.Resource,
183
183
  BaseParameters = DefaultBaseParameters<Resource>
184
184
  > {
185
185
  /**
@@ -196,7 +196,7 @@ interface ResourceRead<
196
196
  * @template BaseParameters The http parameters that are part of the request
197
197
  */
198
198
  interface ResourceCreateSync<
199
- Resource extends ArmResource,
199
+ Resource extends Foundations.Resource,
200
200
  BaseParameters = DefaultBaseParameters<Resource>
201
201
  > {
202
202
  /**
@@ -213,7 +213,7 @@ interface ResourceCreateSync<
213
213
  * @template BaseParameters The http parameters that are part of the request
214
214
  */
215
215
  interface ResourceCreateAsync<
216
- Resource extends ArmResource,
216
+ Resource extends Foundations.Resource,
217
217
  BaseParameters = DefaultBaseParameters<Resource>
218
218
  > {
219
219
  /**
@@ -233,7 +233,7 @@ interface ResourceCreateAsync<
233
233
  #deprecated "This should be deprecated in a future release"
234
234
  @doc("Delete a resource using the asynchronous call pattern")
235
235
  interface ResourceDeleteAsync<
236
- Resource extends ArmResource,
236
+ Resource extends Foundations.Resource,
237
237
  BaseParameters = DefaultBaseParameters<Resource>
238
238
  > {
239
239
  /**
@@ -251,7 +251,7 @@ interface ResourceDeleteAsync<
251
251
  */
252
252
  @doc("Delete a resource using the asynchronous call pattern")
253
253
  interface ResourceDeleteWithoutOkAsync<
254
- Resource extends ArmResource,
254
+ Resource extends Foundations.Resource,
255
255
  BaseParameters = DefaultBaseParameters<Resource>
256
256
  > {
257
257
  /**
@@ -269,7 +269,7 @@ interface ResourceDeleteWithoutOkAsync<
269
269
  */
270
270
  @doc("Delete a resource")
271
271
  interface ResourceDeleteSync<
272
- Resource extends ArmResource,
272
+ Resource extends Foundations.Resource,
273
273
  BaseParameters = DefaultBaseParameters<Resource>
274
274
  > {
275
275
  /**
@@ -288,7 +288,7 @@ interface ResourceDeleteSync<
288
288
  */
289
289
  @doc("Asynchronous resource update")
290
290
  interface ResourceUpdateAsync<
291
- Resource extends ArmResource,
291
+ Resource extends Foundations.Resource,
292
292
  Properties extends TypeSpec.Reflection.Model,
293
293
  BaseParameters = DefaultBaseParameters<Resource>
294
294
  > {
@@ -313,7 +313,7 @@ interface ResourceUpdateAsync<
313
313
  */
314
314
  @doc("Synchronous resource update")
315
315
  interface ResourceUpdateSync<
316
- Resource extends ArmResource,
316
+ Resource extends Foundations.Resource,
317
317
  Properties extends TypeSpec.Reflection.Model,
318
318
  BaseParameters = DefaultBaseParameters<Resource>
319
319
  > {
@@ -333,7 +333,7 @@ interface ResourceUpdateSync<
333
333
  */
334
334
  #suppress "deprecated" "This should be deprecated in a future release"
335
335
  interface ExtensionResourceInstanceOperations<
336
- Resource extends ArmResource,
336
+ Resource extends Foundations.Resource,
337
337
  Properties extends TypeSpec.Reflection.Model
338
338
  >
339
339
  extends ExtensionResourceRead<Resource>,
@@ -345,7 +345,7 @@ interface ExtensionResourceInstanceOperations<
345
345
  * A composite interface for resource collections that include a paginated list operation.
346
346
  * @template Resource The ArmResource that provides these operations
347
347
  */
348
- interface ExtensionResourceCollectionOperations<Resource extends ArmResource>
348
+ interface ExtensionResourceCollectionOperations<Resource extends Foundations.Resource>
349
349
  extends ExtensionResourceList<Resource> {}
350
350
 
351
351
  /**
@@ -354,84 +354,84 @@ interface ExtensionResourceCollectionOperations<Resource extends ArmResource>
354
354
  * @template Properties RP-specific property bag for the resource
355
355
  */
356
356
  interface ExtensionResourceOperations<
357
- Resource extends ArmResource,
357
+ Resource extends Foundations.Resource,
358
358
  Properties extends TypeSpec.Reflection.Model
359
359
  >
360
360
  extends ExtensionResourceInstanceOperations<Resource, Properties>,
361
361
  ExtensionResourceCollectionOperations<Resource> {}
362
362
 
363
363
  alias ResourceCreate<
364
- Resource extends ArmResource,
364
+ Resource extends Foundations.Resource,
365
365
  BaseParameters = DefaultBaseParameters<Resource>
366
366
  > = ResourceCreateAsync<Resource, BaseParameters>;
367
367
 
368
368
  alias ResourceUpdate<
369
- Resource extends ArmResource,
369
+ Resource extends Foundations.Resource,
370
370
  Properties extends TypeSpec.Reflection.Model,
371
371
  BaseParameters = DefaultBaseParameters<Resource>
372
372
  > = ResourceUpdateSync<Resource, Properties, BaseParameters>;
373
373
 
374
374
  #suppress "deprecated" "This should be deprecated in a future release"
375
375
  alias ResourceDelete<
376
- Resource extends ArmResource,
376
+ Resource extends Foundations.Resource,
377
377
  BaseParameters = DefaultBaseParameters<Resource>
378
378
  > = ResourceDeleteAsync<Resource, BaseParameters>;
379
379
 
380
380
  alias ProxyResourceUpdate<
381
- Resource extends ArmResource,
381
+ Resource extends Foundations.Resource,
382
382
  Properties extends TypeSpec.Reflection.Model
383
383
  > = ResourceUpdate<Resource, Properties>;
384
384
 
385
- alias ExtensionResourceRead<Resource extends ArmResource> = ResourceRead<
385
+ alias ExtensionResourceRead<Resource extends Foundations.Resource> = ResourceRead<
386
386
  Resource,
387
387
  ExtensionBaseParameters
388
388
  >;
389
389
 
390
- alias ExtensionResourceCreate<Resource extends ArmResource> = ResourceCreate<
390
+ alias ExtensionResourceCreate<Resource extends Foundations.Resource> = ResourceCreate<
391
391
  Resource,
392
392
  ExtensionBaseParameters
393
393
  >;
394
394
 
395
395
  alias ExtensionResourceUpdate<
396
- Resource extends ArmResource,
396
+ Resource extends Foundations.Resource,
397
397
  Properties extends TypeSpec.Reflection.Model
398
398
  > = ResourceUpdate<Resource, Properties, ExtensionBaseParameters>;
399
399
 
400
400
  #suppress "deprecated" "This should be deprecated in a future release"
401
- alias ExtensionResourceDelete<Resource extends ArmResource> = ResourceDelete<
401
+ alias ExtensionResourceDelete<Resource extends Foundations.Resource> = ResourceDelete<
402
402
  Resource,
403
403
  ExtensionBaseParameters
404
404
  >;
405
405
 
406
- alias ExtensionResourceList<Resource extends ArmResource> = ResourceListByParent<
406
+ alias ExtensionResourceList<Resource extends Foundations.Resource> = ResourceListByParent<
407
407
  Resource,
408
408
  ExtensionBaseParameters,
409
409
  "Extension",
410
410
  "parent"
411
411
  >;
412
412
 
413
- alias TenantResourceRead<Resource extends ArmResource> = ResourceRead<
413
+ alias TenantResourceRead<Resource extends Foundations.Resource> = ResourceRead<
414
414
  Resource,
415
415
  TenantBaseParameters
416
416
  >;
417
417
 
418
- alias TenantResourceCreate<Resource extends ArmResource> = ResourceCreateAsync<
418
+ alias TenantResourceCreate<Resource extends Foundations.Resource> = ResourceCreateAsync<
419
419
  Resource,
420
420
  TenantBaseParameters
421
421
  >;
422
422
 
423
423
  #suppress "deprecated" "This should be deprecated in a future release"
424
- alias TenantResourceDelete<Resource extends ArmResource> = ResourceDelete<
424
+ alias TenantResourceDelete<Resource extends Foundations.Resource> = ResourceDelete<
425
425
  Resource,
426
426
  TenantBaseParameters
427
427
  >;
428
428
 
429
429
  alias TenantResourceUpdate<
430
- Resource extends ArmResource,
430
+ Resource extends Foundations.Resource,
431
431
  Properties extends TypeSpec.Reflection.Model
432
432
  > = ResourceUpdate<Resource, Properties, TenantBaseParameters>;
433
433
 
434
- alias TenantResourceListByParent<Resource extends ArmResource> = ResourceListByParent<
434
+ alias TenantResourceListByParent<Resource extends Foundations.Resource> = ResourceListByParent<
435
435
  Resource,
436
436
  TenantBaseParameters,
437
437
  "Tenant",
package/lib/models.tsp CHANGED
@@ -17,7 +17,7 @@ namespace Azure.ResourceManager;
17
17
  * @template NamePattern The RegEx pattern of the name. Default is `^[a-zA-Z0-9-]{3,24}$`.
18
18
  */
19
19
  model ResourceNameParameter<
20
- Resource extends ArmResource,
20
+ Resource extends Foundations.Resource,
21
21
  KeyName extends valueof string = "",
22
22
  SegmentName extends valueof string = "",
23
23
  NamePattern extends valueof string = "^[a-zA-Z0-9-]{3,24}$"
@@ -39,7 +39,7 @@ model ResourceNameParameter<
39
39
  @doc("Concrete tracked resource types can be created by aliasing this type using a specific property type.")
40
40
  @armResourceInternal(Properties)
41
41
  @includeInapplicableMetadataInPayload(false)
42
- model TrackedResource<Properties extends {}> extends TrackedResourceBase {
42
+ model TrackedResource<Properties extends {}> extends Foundations.TrackedResource {
43
43
  @doc("The resource-specific properties for this resource.")
44
44
  @visibility("read", "create")
45
45
  @extension("x-ms-client-flatten", true)
@@ -55,7 +55,7 @@ model TrackedResource<Properties extends {}> extends TrackedResourceBase {
55
55
  @doc("Concrete proxy resource types can be created by aliasing this type using a specific property type.")
56
56
  @armResourceInternal(Properties)
57
57
  @includeInapplicableMetadataInPayload(false)
58
- model ProxyResource<Properties extends {}> extends ProxyResourceBase {
58
+ model ProxyResource<Properties extends {}> extends Foundations.ProxyResource {
59
59
  @doc("The resource-specific properties for this resource.")
60
60
  @visibility("read", "create")
61
61
  @extension("x-ms-client-flatten", true)
@@ -72,7 +72,7 @@ model ProxyResource<Properties extends {}> extends ProxyResourceBase {
72
72
  @doc("Concrete extension resource types can be created by aliasing this type using a specific property type.")
73
73
  @armResourceInternal(Properties)
74
74
  @includeInapplicableMetadataInPayload(false)
75
- model ExtensionResource<Properties extends {}> extends ExtensionResourceBase {
75
+ model ExtensionResource<Properties extends {}> extends Foundations.ExtensionResource {
76
76
  @doc("The resource-specific properties for this resource.")
77
77
  @visibility("read", "create")
78
78
  @extension("x-ms-client-flatten", true)
@@ -184,7 +184,8 @@ model DefaultProvisioningStateProperty {
184
184
  * ```
185
185
  */
186
186
  model ExtendedLocationProperty {
187
- extendedLocation: Foundations.ExtendedLocation;
187
+ @visibility("read", "create")
188
+ extendedLocation?: Foundations.ExtendedLocation;
188
189
  }
189
190
 
190
191
  #deprecated "Please change ManagedServiceIdentity to ManagedServiceIdentityProperty."
@@ -281,7 +282,7 @@ model ResourceKindProperty {
281
282
  */
282
283
  @doc("The response of a {name} list operation.", Resource)
283
284
  @friendlyName("{name}ListResult", Resource)
284
- model ResourceListResult<Resource extends ArmResource> is Azure.Core.Page<Resource>;
285
+ model ResourceListResult<Resource extends Foundations.Resource> is Azure.Core.Page<Resource>;
285
286
 
286
287
  #deprecated "`ResourcePlan` will be deprecated. Please use `ResourcePlanProperty` instead."
287
288
  alias ResourcePlan = ResourcePlanProperty;
@@ -301,7 +302,7 @@ alias ResourcePlan = ResourcePlanProperty;
301
302
  @doc("The resource plan property envelope.")
302
303
  model ResourcePlanProperty {
303
304
  @doc("Details of the resource plan.")
304
- plan?: ResourcePlanType;
305
+ plan?: Plan;
305
306
  }
306
307
 
307
308
  #deprecated "`ResourceSku` will be deprecated. Please use `ResourceSkuProperty` instead."
@@ -322,7 +323,7 @@ alias ResourceSku = ResourceSkuProperty;
322
323
  @doc("The SKU (Stock Keeping Unit) assigned to this resource.")
323
324
  model ResourceSkuProperty {
324
325
  @doc("The SKU (Stock Keeping Unit) assigned to this resource.")
325
- sku?: ResourceSkuType;
326
+ sku?: Sku;
326
327
  }
327
328
 
328
329
  #deprecated "`ManagedBy` will be deprecated. Please use `ManagedByProperty` instead."
@@ -21,8 +21,9 @@ namespace Azure.ResourceManager;
21
21
  @segmentOf(Resource)
22
22
  @armResourceList(Resource)
23
23
  @get
24
+ @Private.enforceConstraint(Resource, Foundations.Resource)
24
25
  op ArmListBySubscription<
25
- Resource extends ArmResource,
26
+ Resource extends Foundations.Resource,
26
27
  Parameters extends {} = {},
27
28
  Response extends {} = ArmResponse<ResourceListResult<Resource>>,
28
29
  Error extends {} = ErrorResponse
@@ -44,8 +45,9 @@ op ArmListBySubscription<
44
45
  @segmentOf(Resource)
45
46
  @armRenameListByOperation(Resource, ParentName, ParentFriendlyName) // This must come before @armResourceList!
46
47
  @armResourceList(Resource)
48
+ @Private.enforceConstraint(Resource, Foundations.Resource)
47
49
  op ArmResourceListByParent<
48
- Resource extends ArmResource,
50
+ Resource extends Foundations.Resource,
49
51
  BaseParameters = DefaultBaseParameters<Resource>,
50
52
  ParentName extends valueof string = "",
51
53
  ParentFriendlyName extends valueof string = "",
@@ -72,8 +74,9 @@ op ArmResourceListByParent<
72
74
  @segmentOf(Resource)
73
75
  @armRenameListByOperation(Resource) // This must come before @armResourceList!
74
76
  @armResourceList(Resource)
77
+ @Private.enforceConstraint(Resource, Foundations.Resource)
75
78
  op ArmResourceListAtScope<
76
- Resource extends ArmResource,
79
+ Resource extends Foundations.Resource,
77
80
  BaseParameters = DefaultBaseParameters<Resource>,
78
81
  Parameters extends {} = {},
79
82
  Response extends {} = ArmResponse<ResourceListResult<Resource>>,
@@ -97,7 +100,7 @@ op ArmResourceListAtScope<
97
100
  @get
98
101
  @armResourceRead(Resource)
99
102
  op ArmResourceRead<
100
- Resource extends ArmResourceBase,
103
+ Resource extends {},
101
104
  BaseParameters = DefaultBaseParameters<Resource>,
102
105
  Parameters extends {} = {},
103
106
  Response extends {} = ArmResponse<Resource>,
@@ -120,7 +123,7 @@ op ArmResourceRead<
120
123
  @doc("Check for the existence of a {name}", Resource)
121
124
  @head
122
125
  op ArmResourceCheckExistence<
123
- Resource extends ArmResourceBase,
126
+ Resource extends {},
124
127
  BaseParameters = DefaultBaseParameters<Resource>,
125
128
  Parameters extends {} = {},
126
129
  Response extends {} = ArmResourceExistsResponse | ArmResourceNotFoundResponse,
@@ -150,9 +153,10 @@ op ArmResourceCheckExistence<
150
153
  }
151
154
  )
152
155
  @armResourceCreateOrUpdate(Resource)
156
+ @Private.enforceConstraint(Resource, Foundations.Resource)
153
157
  @put
154
158
  op ArmResourceCreateOrUpdateAsync<
155
- Resource extends ArmResource,
159
+ Resource extends Foundations.Resource,
156
160
  BaseParameters = DefaultBaseParameters<Resource>,
157
161
  LroHeaders extends TypeSpec.Reflection.Model = Azure.Core.Foundations.RetryAfterHeader,
158
162
  Parameters extends {} = {},
@@ -180,9 +184,10 @@ op ArmResourceCreateOrUpdateAsync<
180
184
  @autoRoute
181
185
  @doc("Create a {name}", Resource)
182
186
  @armResourceCreateOrUpdate(Resource)
187
+ @Private.enforceConstraint(Resource, Foundations.Resource)
183
188
  @put
184
189
  op ArmResourceCreateOrUpdateSync<
185
- Resource extends ArmResource,
190
+ Resource extends Foundations.Resource,
186
191
  BaseParameters = DefaultBaseParameters<Resource>,
187
192
  Parameters extends {} = {},
188
193
  Response extends {} = ArmResponse<Resource>,
@@ -205,9 +210,10 @@ op ArmResourceCreateOrUpdateSync<
205
210
  @autoRoute
206
211
  @doc("Create a {name}", Resource)
207
212
  @armResourceCreateOrUpdate(Resource)
213
+ @Private.enforceConstraint(Resource, Foundations.Resource)
208
214
  @put
209
215
  op ArmResourceCreateOrReplaceSync<
210
- Resource extends ArmResource,
216
+ Resource extends Foundations.Resource,
211
217
  BaseParameters = DefaultBaseParameters<Resource>,
212
218
  Parameters extends {} = {},
213
219
  Response extends {} = ArmResourceUpdatedResponse<Resource> | ArmResourceCreatedSyncResponse<Resource>,
@@ -228,8 +234,9 @@ op ArmResourceCreateOrReplaceSync<
228
234
  * @template Response Optional. The success response for the createOrReplace operation
229
235
  * @template Error Optional. The error response, if non-standard.
230
236
  */
237
+ @Private.enforceConstraint(Resource, Foundations.Resource)
231
238
  op ArmResourceCreateOrReplaceAsync<
232
- Resource extends ArmResource,
239
+ Resource extends Foundations.Resource,
233
240
  BaseParameters = DefaultBaseParameters<Resource>,
234
241
  LroHeaders extends TypeSpec.Reflection.Model = Azure.Core.Foundations.RetryAfterHeader,
235
242
  Parameters extends {} = {},
@@ -254,8 +261,9 @@ op ArmResourceCreateOrReplaceAsync<
254
261
  * @template LroHeaders Optional. Allows overriding the lro headers that appear in the Accepted response
255
262
  * @template Parameters Optional. Additional parameters after the path parameters
256
263
  */
264
+ @Private.enforceConstraint(Resource, Foundations.Resource)
257
265
  op ArmTagsPatchAsync<
258
- Resource extends ArmResource,
266
+ Resource extends Foundations.Resource,
259
267
  Properties extends {} = TagsUpdateModel<Resource>,
260
268
  BaseParameters = DefaultBaseParameters<Resource>,
261
269
  LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader<
@@ -281,8 +289,9 @@ op ArmTagsPatchAsync<
281
289
  * @template LroHeaders Optional. Allows overriding the lro headers returned in the Accepted response
282
290
  * @template Parameters Optional. Additional parameters after the path parameters
283
291
  */
292
+ @Private.enforceConstraint(Resource, Foundations.Resource)
284
293
  op ArmResourcePatchAsync<
285
- Resource extends ArmResource,
294
+ Resource extends Foundations.Resource,
286
295
  Properties extends TypeSpec.Reflection.Model,
287
296
  BaseParameters = DefaultBaseParameters<Resource>,
288
297
  LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader<
@@ -320,9 +329,10 @@ op ArmResourcePatchAsync<
320
329
  }
321
330
  )
322
331
  @armResourceUpdate(Resource)
332
+ @Private.enforceConstraint(Resource, Foundations.Resource)
323
333
  @patch
324
334
  op ArmCustomPatchAsync<
325
- Resource extends ArmResource,
335
+ Resource extends Foundations.Resource,
326
336
  PatchModel extends TypeSpec.Reflection.Model = TagsUpdateModel<Resource>,
327
337
  BaseParameters = DefaultBaseParameters<Resource>,
328
338
  LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader<
@@ -350,8 +360,9 @@ op ArmCustomPatchAsync<
350
360
  * @template BaseParameters Optional. Allows overriding the operation parameters
351
361
  * @template Parameters Optional. Additional parameters after the path parameters
352
362
  */
363
+ @Private.enforceConstraint(Resource, Foundations.Resource)
353
364
  op ArmTagsPatchSync<
354
- Resource extends ArmResource,
365
+ Resource extends Foundations.Resource,
355
366
  BaseParameters = DefaultBaseParameters<Resource>,
356
367
  Parameters extends {} = {}
357
368
  > is ArmCustomPatchSync<Resource, TagsUpdateModel<Resource>, BaseParameters, Parameters>;
@@ -363,8 +374,9 @@ op ArmTagsPatchSync<
363
374
  * @template BaseParameters Optional. Allows overriding the operation parameters
364
375
  * @template Parameters Optional. Additional parameters after the path parameters
365
376
  */
377
+ @Private.enforceConstraint(Resource, Foundations.Resource)
366
378
  op ArmResourcePatchSync<
367
- Resource extends ArmResource,
379
+ Resource extends Foundations.Resource,
368
380
  Properties extends TypeSpec.Reflection.Model,
369
381
  BaseParameters = DefaultBaseParameters<Resource>,
370
382
  Parameters extends {} = {}
@@ -387,9 +399,10 @@ op ArmResourcePatchSync<
387
399
  @autoRoute
388
400
  @doc("Update a {name}", Resource)
389
401
  @armResourceUpdate(Resource)
402
+ @Private.enforceConstraint(Resource, Foundations.Resource)
390
403
  @patch
391
404
  op ArmCustomPatchSync<
392
- Resource extends ArmResource,
405
+ Resource extends Foundations.Resource,
393
406
  PatchModel extends TypeSpec.Reflection.Model = TagsUpdateModel<Resource>,
394
407
  BaseParameters = DefaultBaseParameters<Resource>,
395
408
  Parameters extends {} = {},
@@ -420,9 +433,10 @@ op ArmCustomPatchSync<
420
433
  }
421
434
  )
422
435
  @armResourceDelete(Resource)
436
+ @Private.enforceConstraint(Resource, Foundations.Resource)
423
437
  @delete
424
438
  op ArmResourceDeleteAsyncBase<
425
- Resource extends ArmResource,
439
+ Resource extends Foundations.Resource,
426
440
  Response,
427
441
  BaseParameters = DefaultBaseParameters<Resource>,
428
442
  Parameters extends {} = {},
@@ -439,8 +453,9 @@ op ArmResourceDeleteAsyncBase<
439
453
  * @template Error Optional. The error response, if non-standard.
440
454
  */
441
455
  #deprecated "Use 'ArmResourceDeleteWithoutOkAsync' instead"
456
+ @Private.enforceConstraint(Resource, Foundations.Resource)
442
457
  op ArmResourceDeleteAsync<
443
- Resource extends ArmResource,
458
+ Resource extends Foundations.Resource,
444
459
  BaseParameters = DefaultBaseParameters<Resource>,
445
460
  LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader &
446
461
  Azure.Core.Foundations.RetryAfterHeader,
@@ -458,8 +473,9 @@ op ArmResourceDeleteAsync<
458
473
  * @template Response Optional. The success response(s) for the delete operation
459
474
  * @template Error Optional. The error response, if non-standard.
460
475
  */
476
+ @Private.enforceConstraint(Resource, Foundations.Resource)
461
477
  op ArmResourceDeleteWithoutOkAsync<
462
- Resource extends ArmResource,
478
+ Resource extends Foundations.Resource,
463
479
  BaseParameters = DefaultBaseParameters<Resource>,
464
480
  LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader &
465
481
  Azure.Core.Foundations.RetryAfterHeader,
@@ -479,9 +495,10 @@ op ArmResourceDeleteWithoutOkAsync<
479
495
  @autoRoute
480
496
  @doc("Delete a {name}", Resource)
481
497
  @armResourceDelete(Resource)
498
+ @Private.enforceConstraint(Resource, Foundations.Resource)
482
499
  @delete
483
500
  op ArmResourceDeleteSync<
484
- Resource extends ArmResource,
501
+ Resource extends Foundations.Resource,
485
502
  BaseParameters = DefaultBaseParameters<Resource>,
486
503
  Parameters extends {} = {},
487
504
  Response extends {} = ArmDeletedResponse | ArmDeletedNoContentResponse,
@@ -506,9 +523,10 @@ op ArmResourceDeleteSync<
506
523
  }
507
524
  )
508
525
  @armResourceAction(Resource)
526
+ @Private.enforceConstraint(Resource, Foundations.Resource)
509
527
  @post
510
528
  op ArmResourceActionAsyncBase<
511
- Resource extends ArmResource,
529
+ Resource extends Foundations.Resource,
512
530
  Request extends TypeSpec.Reflection.Model | void,
513
531
  Response extends TypeSpec.Reflection.Model | void,
514
532
  BaseParameters extends TypeSpec.Reflection.Model,
@@ -534,8 +552,9 @@ op ArmResourceActionAsyncBase<
534
552
  * @template Error Optional. The error response, if non-standard.
535
553
  */
536
554
  @returnsDoc("Azure operation completed successfully.")
555
+ @Private.enforceConstraint(Resource, Foundations.Resource)
537
556
  op ArmResourceActionAsync<
538
- Resource extends ArmResource,
557
+ Resource extends Foundations.Resource,
539
558
  Request extends TypeSpec.Reflection.Model | void,
540
559
  Response extends TypeSpec.Reflection.Model | void,
541
560
  BaseParameters extends TypeSpec.Reflection.Model = DefaultBaseParameters<Resource>,
@@ -567,10 +586,11 @@ op ArmResourceActionAsync<
567
586
  */
568
587
  @autoRoute
569
588
  @armResourceAction(Resource)
589
+ @Private.enforceConstraint(Resource, Foundations.Resource)
570
590
  @post
571
591
  @returnsDoc("Azure operation completed successfully.")
572
592
  op ArmResourceActionSync<
573
- Resource extends ArmResource,
593
+ Resource extends Foundations.Resource,
574
594
  Request extends TypeSpec.Reflection.Model | void,
575
595
  Response extends TypeSpec.Reflection.Model | void,
576
596
  BaseParameters = DefaultBaseParameters<Resource>,
@@ -594,8 +614,9 @@ op ArmResourceActionSync<
594
614
  * @template Parameters Optional. Additional parameters after the path parameters
595
615
  * @template Error Optional. The error response, if non-standard.
596
616
  */
617
+ @Private.enforceConstraint(Resource, Foundations.Resource)
597
618
  op ArmResourceActionNoContentAsync<
598
- Resource extends ArmResource,
619
+ Resource extends Foundations.Resource,
599
620
  Request extends TypeSpec.Reflection.Model | void,
600
621
  BaseParameters extends TypeSpec.Reflection.Model = DefaultBaseParameters<Resource>,
601
622
  LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader &
@@ -623,8 +644,9 @@ op ArmResourceActionNoContentAsync<
623
644
  * @template Parameters Optional. Additional parameters after the path parameters
624
645
  * @template Error Optional. The error response, if non-standard.
625
646
  */
647
+ @Private.enforceConstraint(Resource, Foundations.Resource)
626
648
  op ArmResourceActionNoResponseContentAsync<
627
- Resource extends ArmResource,
649
+ Resource extends Foundations.Resource,
628
650
  Request extends TypeSpec.Reflection.Model | void,
629
651
  BaseParameters extends TypeSpec.Reflection.Model = DefaultBaseParameters<Resource>,
630
652
  LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader<
@@ -654,9 +676,10 @@ op ArmResourceActionNoResponseContentAsync<
654
676
  */
655
677
  @autoRoute
656
678
  @armResourceAction(Resource)
679
+ @Private.enforceConstraint(Resource, Foundations.Resource)
657
680
  @post
658
681
  op ArmResourceActionNoContentSync<
659
- Resource extends ArmResource,
682
+ Resource extends Foundations.Resource,
660
683
  Request extends TypeSpec.Reflection.Model | void,
661
684
  BaseParameters = DefaultBaseParameters<Resource>,
662
685
  Parameters extends {} = {},
@@ -150,7 +150,7 @@ model ResourceUriParameter {
150
150
  * @template BaseParameters The parameters representing the base Uri of the resource
151
151
  */
152
152
  model ResourceInstanceParameters<
153
- Resource extends ArmResourceBase,
153
+ Resource extends {},
154
154
  BaseParameters = DefaultBaseParameters<Resource>
155
155
  > {
156
156
  ...BaseParameters;
@@ -165,7 +165,7 @@ model ResourceInstanceParameters<
165
165
  * @template BaseParameters The parameters representing the base Uri of the resource
166
166
  */
167
167
  model ResourceParentParameters<
168
- Resource extends ArmResource,
168
+ Resource extends Foundations.Resource,
169
169
  BaseParameters = DefaultBaseParameters<Resource>
170
170
  > {
171
171
  ...BaseParameters;
@@ -177,7 +177,7 @@ model ResourceParentParameters<
177
177
  * The dynamic parameters of a list call for an extension resource instance.
178
178
  * @template Resource The extension resource
179
179
  */
180
- alias ExtensionResourceInstanceParameters<Resource extends ArmResource> = ResourceInstanceParameters<
180
+ alias ExtensionResourceInstanceParameters<Resource extends Foundations.Resource> = ResourceInstanceParameters<
181
181
  Resource,
182
182
  ExtensionBaseParameters
183
183
  >;
@@ -186,7 +186,7 @@ alias ExtensionResourceInstanceParameters<Resource extends ArmResource> = Resour
186
186
  * The dynamic parameters of a list call for a tenant resource instance.
187
187
  * @template Resource the tenant resource
188
188
  */
189
- alias TenantInstanceParameters<Resource extends ArmResource> = ResourceInstanceParameters<
189
+ alias TenantInstanceParameters<Resource extends Foundations.Resource> = ResourceInstanceParameters<
190
190
  Resource,
191
191
  TenantBaseParameters
192
192
  >;
@@ -93,3 +93,14 @@ extern dec defaultResourceKeySegmentName(
93
93
  keyName: valueof string,
94
94
  segment: valueof string
95
95
  );
96
+
97
+ /**
98
+ * Provides strict contraint type check.
99
+ *
100
+ * Due to TypeSpec language and all optional properties of `Foundations.Resource`,
101
+ * the `Resource extends Foundations.Resource` on many of the standard ARM templates is
102
+ * essentially equal to `Resource extends {}` and does not enforce the containt.
103
+ *
104
+ * Note, this is intended for internal use only for now.
105
+ */
106
+ extern dec enforceConstraint(target: Operation | Model, sourceType: Model, constraintType: Model);
package/lib/responses.tsp CHANGED
@@ -92,7 +92,7 @@ model ArmAcceptedLroResponse<
92
92
  model ArmOperationStatus<
93
93
  Properties extends {} = never,
94
94
  StatusValues extends TypeSpec.Reflection.Union = ResourceProvisioningState
95
- > is ArmResourceBase {
95
+ > {
96
96
  /** RP-specific properties for the operationStatus resource, only appears when operation ended with Succeeded status */
97
97
  @visibility("read")
98
98
  properties?: Properties;
@@ -204,7 +204,7 @@ model ArmNoContentResponse<Message extends valueof string = "Operation completed
204
204
  * @template Resource The resource being updated
205
205
  */
206
206
  @doc("Resource '{name}' update operation succeeded", Resource)
207
- model ArmResourceUpdatedResponse<Resource extends Azure.ResourceManager.Foundations.ArmResource>
207
+ model ArmResourceUpdatedResponse<Resource extends Azure.ResourceManager.Foundations.Resource>
208
208
  is ArmResponse<Resource>;
209
209
 
210
210
  /**
@@ -214,7 +214,7 @@ model ArmResourceUpdatedResponse<Resource extends Azure.ResourceManager.Foundati
214
214
  */
215
215
  @doc("Resource '{name}' create operation succeeded", Resource)
216
216
  model ArmResourceCreatedResponse<
217
- Resource extends Azure.ResourceManager.Foundations.ArmResource,
217
+ Resource extends Azure.ResourceManager.Foundations.Resource,
218
218
  LroHeaders extends TypeSpec.Reflection.Model = Azure.Core.Foundations.RetryAfterHeader
219
219
  > {
220
220
  ...CreatedResponse;
@@ -231,7 +231,7 @@ model ArmResourceCreatedResponse<
231
231
  * @template Resource The resource being updated
232
232
  */
233
233
  @doc("Resource '{name}' create operation succeeded", Resource)
234
- model ArmResourceCreatedSyncResponse<Resource extends Azure.ResourceManager.Foundations.ArmResource> {
234
+ model ArmResourceCreatedSyncResponse<Resource extends Azure.ResourceManager.Foundations.Resource> {
235
235
  ...CreatedResponse;
236
236
 
237
237
  @doc("The body type of the operation request or response.")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@azure-tools/typespec-azure-resource-manager",
3
- "version": "0.42.0-dev.15",
3
+ "version": "0.42.0-dev.16",
4
4
  "author": "Microsoft Corporation",
5
5
  "description": "TypeSpec Azure Resource Manager library",
6
6
  "homepage": "https://azure.github.io/typespec-azure",