@azure-tools/typespec-azure-resource-manager 0.57.0-dev.4 → 0.57.0-dev.6
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/generated-defs/Azure.ResourceManager.Private.d.ts +9 -9
- package/dist/generated-defs/Azure.ResourceManager.Private.d.ts.map +1 -1
- package/lib/Legacy/operations.tsp +17 -17
- package/lib/arm.tsp +15 -0
- package/lib/common-types/types.tsp +18 -1
- package/lib/foundations/arm.foundations.tsp +27 -10
- package/lib/interfaces.tsp +33 -33
- package/lib/models.tsp +52 -4
- package/lib/operations.tsp +23 -23
- package/lib/parameters.tsp +51 -3
- package/lib/private.decorators.tsp +1 -1
- package/lib/responses.tsp +136 -3
- package/package.json +1 -1
|
@@ -13,13 +13,6 @@ export type ResourceParameterBaseForDecorator = (context: DecoratorContext, targ
|
|
|
13
13
|
* @param propertyName Name of the property to omit
|
|
14
14
|
*/
|
|
15
15
|
export type ResourceBaseParametersOfDecorator = (context: DecoratorContext, target: Model, propertyName: Model) => void;
|
|
16
|
-
/**
|
|
17
|
-
* This decorator is used to identify Azure Resource Manager resource. In generated
|
|
18
|
-
* swagger definition, it will be marked with `x-ms-azure-resource`.
|
|
19
|
-
*
|
|
20
|
-
* It is *not* meant to be used directly by a spec author,
|
|
21
|
-
*/
|
|
22
|
-
export type AzureResourceBaseDecorator = (context: DecoratorContext, target: Model) => void;
|
|
23
16
|
/**
|
|
24
17
|
* Please DO NOT USE in RestAPI specs.
|
|
25
18
|
* Internal decorator that deprecated direct usage of `x-ms-client-flatten` OpenAPI extension.
|
|
@@ -36,6 +29,13 @@ export type ConditionalClientFlattenDecorator = (context: DecoratorContext, targ
|
|
|
36
29
|
* @param resource Resource model
|
|
37
30
|
*/
|
|
38
31
|
export type AssignProviderNameValueDecorator = (context: DecoratorContext, target: ModelProperty, resource: Model) => void;
|
|
32
|
+
/**
|
|
33
|
+
* This decorator is used to identify Azure Resource Manager resource. In generated
|
|
34
|
+
* swagger definition, it will be marked with `x-ms-azure-resource`.
|
|
35
|
+
*
|
|
36
|
+
* It is *not* meant to be used directly by a spec author,
|
|
37
|
+
*/
|
|
38
|
+
export type AzureResourceBaseDecorator = (context: DecoratorContext, target: Model) => void;
|
|
39
39
|
/**
|
|
40
40
|
* Update the Azure Resource Manager provider namespace for a given entity.
|
|
41
41
|
*/
|
|
@@ -63,7 +63,7 @@ export type DefaultResourceKeySegmentNameDecorator = (context: DecoratorContext,
|
|
|
63
63
|
* Provides strict contraint type check.
|
|
64
64
|
*
|
|
65
65
|
* Due to TypeSpec language and all optional properties of `Foundations.Resource`,
|
|
66
|
-
* the `Resource extends Foundations.
|
|
66
|
+
* the `Resource extends Foundations.SimpleResource` on many of the standard ARM templates is
|
|
67
67
|
* essentially equal to `Resource extends {}` and does not enforce the containt.
|
|
68
68
|
*
|
|
69
69
|
* Note, this is intended for internal use only for now.
|
|
@@ -90,10 +90,10 @@ export type ArmBodyRootDecorator = (context: DecoratorContext, target: ModelProp
|
|
|
90
90
|
export type AzureResourceManagerPrivateDecorators = {
|
|
91
91
|
resourceParameterBaseFor: ResourceParameterBaseForDecorator;
|
|
92
92
|
resourceBaseParametersOf: ResourceBaseParametersOfDecorator;
|
|
93
|
-
azureResourceBase: AzureResourceBaseDecorator;
|
|
94
93
|
conditionalClientFlatten: ConditionalClientFlattenDecorator;
|
|
95
94
|
omitIfEmpty: OmitIfEmptyDecorator;
|
|
96
95
|
assignProviderNameValue: AssignProviderNameValueDecorator;
|
|
96
|
+
azureResourceBase: AzureResourceBaseDecorator;
|
|
97
97
|
armUpdateProviderNamespace: ArmUpdateProviderNamespaceDecorator;
|
|
98
98
|
armResourceInternal: ArmResourceInternalDecorator;
|
|
99
99
|
defaultResourceKeySegmentName: DefaultResourceKeySegmentNameDecorator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Azure.ResourceManager.Private.d.ts","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.Private.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAElG;;;;;GAKG;AACH,MAAM,MAAM,iCAAiC,GAAG,CAC9C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,IAAI,KACT,IAAI,CAAC;AAEV;;;;;GAKG;AACH,MAAM,MAAM,iCAAiC,GAAG,CAC9C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,YAAY,EAAE,KAAK,KAChB,IAAI,CAAC;AAEV
|
|
1
|
+
{"version":3,"file":"Azure.ResourceManager.Private.d.ts","sourceRoot":"","sources":["../../generated-defs/Azure.ResourceManager.Private.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAElG;;;;;GAKG;AACH,MAAM,MAAM,iCAAiC,GAAG,CAC9C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,IAAI,KACT,IAAI,CAAC;AAEV;;;;;GAKG;AACH,MAAM,MAAM,iCAAiC,GAAG,CAC9C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,YAAY,EAAE,KAAK,KAChB,IAAI,CAAC;AAEV;;;;;;;GAOG;AACH,MAAM,MAAM,iCAAiC,GAAG,CAC9C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,KAClB,IAAI,CAAC;AAgBV;;;;;GAKG;AACH,MAAM,MAAM,gCAAgC,GAAG,CAC7C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,QAAQ,EAAE,KAAK,KACZ,IAAI,CAAC;AAEV;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B,GAAG,CAAC,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,KAAK,IAAI,CAAC;AAE5F;;GAEG;AACH,MAAM,MAAM,mCAAmC,GAAG,CAChD,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,KACd,IAAI,CAAC;AAEV;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,4BAA4B,GAAG,CACzC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,KAAK,EACb,UAAU,EAAE,KAAK,KACd,IAAI,CAAC;AAEV;;;GAGG;AACH,MAAM,MAAM,sCAAsC,GAAG,CACnD,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,KAAK,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,KACZ,IAAI,CAAC;AAEV;;;;;;;;GAQG;AACH,MAAM,MAAM,0BAA0B,GAAG,CACvC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,GAAG,KAAK,EACzB,UAAU,EAAE,KAAK,EACjB,cAAc,EAAE,KAAK,KAClB,IAAI,CAAC;AAEV;;;;;;;GAOG;AACH,MAAM,MAAM,iCAAiC,GAAG,CAC9C,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,SAAS,EACjB,YAAY,EAAE,KAAK,EACnB,cAAc,CAAC,EAAE,MAAM,EACvB,sBAAsB,CAAC,EAAE,MAAM,EAC/B,oBAAoB,CAAC,EAAE,OAAO,KAC3B,IAAI,CAAC;AAEV;;;GAGG;AACH,MAAM,MAAM,yCAAyC,GAAG,CACtD,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,OAAO,KAChB,IAAI,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CACjC,OAAO,EAAE,gBAAgB,EACzB,MAAM,EAAE,aAAa,EACrB,UAAU,EAAE,OAAO,KAChB,IAAI,CAAC;AAEV,MAAM,MAAM,qCAAqC,GAAG;IAClD,wBAAwB,EAAE,iCAAiC,CAAC;IAC5D,wBAAwB,EAAE,iCAAiC,CAAC;IAC5D,wBAAwB,EAAE,iCAAiC,CAAC;IAC5D,WAAW,EAAE,oBAAoB,CAAC;IAClC,uBAAuB,EAAE,gCAAgC,CAAC;IAC1D,iBAAiB,EAAE,0BAA0B,CAAC;IAC9C,0BAA0B,EAAE,mCAAmC,CAAC;IAChE,mBAAmB,EAAE,4BAA4B,CAAC;IAClD,6BAA6B,EAAE,sCAAsC,CAAC;IACtE,iBAAiB,EAAE,0BAA0B,CAAC;IAC9C,wBAAwB,EAAE,iCAAiC,CAAC;IAC5D,gCAAgC,EAAE,yCAAyC,CAAC;IAC5E,WAAW,EAAE,oBAAoB,CAAC;CACnC,CAAC"}
|
|
@@ -35,7 +35,7 @@ interface LegacyOperations<
|
|
|
35
35
|
@Azure.Core.Foundations.Private.defaultFinalStateVia(#["location", "azure-async-operation"])
|
|
36
36
|
@put
|
|
37
37
|
CreateOrUpdateAsync<
|
|
38
|
-
Resource extends
|
|
38
|
+
Resource extends Foundations.SimpleResource,
|
|
39
39
|
LroHeaders extends TypeSpec.Reflection.Model = ArmAsyncOperationHeader<FinalResult = Resource> &
|
|
40
40
|
Azure.Core.Foundations.RetryAfterHeader,
|
|
41
41
|
Parameters extends {} = {},
|
|
@@ -48,7 +48,7 @@ interface LegacyOperations<
|
|
|
48
48
|
...ParentParameters,
|
|
49
49
|
...ResourceTypeParameter,
|
|
50
50
|
...Parameters,
|
|
51
|
-
@doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody)
|
|
51
|
+
@doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) resource: Resource,
|
|
52
52
|
): Response | ErrorType;
|
|
53
53
|
|
|
54
54
|
/**
|
|
@@ -64,7 +64,7 @@ interface LegacyOperations<
|
|
|
64
64
|
@armResourceCreateOrUpdate(Resource)
|
|
65
65
|
@put
|
|
66
66
|
CreateOrUpdateSync<
|
|
67
|
-
Resource extends
|
|
67
|
+
Resource extends Foundations.SimpleResource,
|
|
68
68
|
Parameters extends {} = {},
|
|
69
69
|
Response extends {} = ArmResourceUpdatedResponse<Resource> | ArmResourceCreatedSyncResponse<Resource>,
|
|
70
70
|
OptionalRequestBody extends valueof boolean = false
|
|
@@ -72,7 +72,7 @@ interface LegacyOperations<
|
|
|
72
72
|
...ParentParameters,
|
|
73
73
|
...ResourceTypeParameter,
|
|
74
74
|
...Parameters,
|
|
75
|
-
@doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody)
|
|
75
|
+
@doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) resource: Resource,
|
|
76
76
|
): Response | ErrorType;
|
|
77
77
|
|
|
78
78
|
/**
|
|
@@ -89,7 +89,7 @@ interface LegacyOperations<
|
|
|
89
89
|
@armResourceUpdate(Resource)
|
|
90
90
|
@patch(#{ implicitOptionality: false })
|
|
91
91
|
CustomPatchAsync<
|
|
92
|
-
Resource extends
|
|
92
|
+
Resource extends Foundations.SimpleResource,
|
|
93
93
|
PatchModel extends {} = Azure.ResourceManager.Foundations.TagsUpdateModel<Resource>,
|
|
94
94
|
LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader<
|
|
95
95
|
Azure.Core.StatusMonitorPollingOptions<ArmOperationStatus>,
|
|
@@ -107,7 +107,7 @@ interface LegacyOperations<
|
|
|
107
107
|
...ParentParameters,
|
|
108
108
|
...ResourceTypeParameter,
|
|
109
109
|
...Parameters,
|
|
110
|
-
@doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody)
|
|
110
|
+
@doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) properties: PatchModel,
|
|
111
111
|
): Response | ErrorType;
|
|
112
112
|
|
|
113
113
|
/**
|
|
@@ -123,7 +123,7 @@ interface LegacyOperations<
|
|
|
123
123
|
@armResourceUpdate(Resource)
|
|
124
124
|
@patch(#{ implicitOptionality: false })
|
|
125
125
|
CustomPatchSync<
|
|
126
|
-
Resource extends
|
|
126
|
+
Resource extends Foundations.SimpleResource,
|
|
127
127
|
PatchModel extends {} = Azure.ResourceManager.Foundations.TagsUpdateModel<Resource>,
|
|
128
128
|
Parameters extends {} = {},
|
|
129
129
|
Response extends {} = ArmResponse<Resource>,
|
|
@@ -132,7 +132,7 @@ interface LegacyOperations<
|
|
|
132
132
|
...ParentParameters,
|
|
133
133
|
...ResourceTypeParameter,
|
|
134
134
|
...Parameters,
|
|
135
|
-
@doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody)
|
|
135
|
+
@doc("Resource create parameters.") @armBodyRoot(OptionalRequestBody) properties: PatchModel,
|
|
136
136
|
): Response | ErrorType;
|
|
137
137
|
|
|
138
138
|
/**
|
|
@@ -148,8 +148,8 @@ interface LegacyOperations<
|
|
|
148
148
|
@delete
|
|
149
149
|
@deletesResource(Resource)
|
|
150
150
|
@armResourceDelete(Resource)
|
|
151
|
-
|
|
152
|
-
Resource extends
|
|
151
|
+
DeleteWithoutOkAsync<
|
|
152
|
+
Resource extends Foundations.SimpleResource,
|
|
153
153
|
LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader &
|
|
154
154
|
Azure.Core.Foundations.RetryAfterHeader,
|
|
155
155
|
Parameters extends {} = {},
|
|
@@ -169,7 +169,7 @@ interface LegacyOperations<
|
|
|
169
169
|
@deletesResource(Resource)
|
|
170
170
|
@armResourceDelete(Resource)
|
|
171
171
|
DeleteSync<
|
|
172
|
-
Resource extends
|
|
172
|
+
Resource extends Foundations.SimpleResource,
|
|
173
173
|
Parameters extends {} = {},
|
|
174
174
|
Response extends {} = ArmDeletedResponse | ArmDeletedNoContentResponse
|
|
175
175
|
>(...ParentParameters, ...ResourceTypeParameter, ...Parameters): Response | ErrorType;
|
|
@@ -186,7 +186,7 @@ interface LegacyOperations<
|
|
|
186
186
|
@readsResource(Resource)
|
|
187
187
|
@armResourceRead(Resource)
|
|
188
188
|
Read<
|
|
189
|
-
Resource extends
|
|
189
|
+
Resource extends Foundations.SimpleResource,
|
|
190
190
|
Parameters extends {} = {},
|
|
191
191
|
Response extends {} = ArmResponse<Resource>
|
|
192
192
|
>(...ParentParameters, ...ResourceTypeParameter, ...Parameters): Response | ErrorType;
|
|
@@ -204,7 +204,7 @@ interface LegacyOperations<
|
|
|
204
204
|
@segmentOf(Resource)
|
|
205
205
|
@armResourceList(Resource)
|
|
206
206
|
List<
|
|
207
|
-
Resource extends
|
|
207
|
+
Resource extends Foundations.SimpleResource,
|
|
208
208
|
Parameters extends {} = {},
|
|
209
209
|
Response extends {} = ArmResponse<ResourceListResult<Resource>>
|
|
210
210
|
>(...ParentParameters, ...Parameters): Response | ErrorType;
|
|
@@ -224,7 +224,7 @@ interface LegacyOperations<
|
|
|
224
224
|
@post
|
|
225
225
|
@returnsDoc("Azure operation completed successfully.")
|
|
226
226
|
ActionSync<
|
|
227
|
-
Resource extends Foundations.
|
|
227
|
+
Resource extends Foundations.SimpleResource,
|
|
228
228
|
Request extends TypeSpec.Reflection.Model | void,
|
|
229
229
|
Response extends TypeSpec.Reflection.Model | void,
|
|
230
230
|
Parameters extends {} = {},
|
|
@@ -256,7 +256,7 @@ interface LegacyOperations<
|
|
|
256
256
|
@post
|
|
257
257
|
@returnsDoc("Azure operation completed successfully.")
|
|
258
258
|
ActionAsync<
|
|
259
|
-
Resource extends Foundations.
|
|
259
|
+
Resource extends Foundations.SimpleResource,
|
|
260
260
|
Request extends TypeSpec.Reflection.Model | void,
|
|
261
261
|
Result extends TypeSpec.Reflection.Model | void,
|
|
262
262
|
LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader<
|
|
@@ -306,7 +306,7 @@ model Provider<Resource extends {} = TenantActionScope> {
|
|
|
306
306
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
307
307
|
@patch(#{ implicitOptionality: true })
|
|
308
308
|
op CustomPatchAsync<
|
|
309
|
-
Resource extends Foundations.
|
|
309
|
+
Resource extends Foundations.SimpleResource,
|
|
310
310
|
PatchModel extends TypeSpec.Reflection.Model = TagsUpdateModel<Resource>,
|
|
311
311
|
BaseParameters = DefaultBaseParameters<Resource>,
|
|
312
312
|
LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader<
|
|
@@ -346,7 +346,7 @@ op CustomPatchAsync<
|
|
|
346
346
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
347
347
|
@patch(#{ implicitOptionality: true })
|
|
348
348
|
op CustomPatchSync<
|
|
349
|
-
Resource extends Foundations.
|
|
349
|
+
Resource extends Foundations.SimpleResource,
|
|
350
350
|
PatchModel extends TypeSpec.Reflection.Model = TagsUpdateModel<Resource>,
|
|
351
351
|
BaseParameters = DefaultBaseParameters<Resource>,
|
|
352
352
|
Parameters extends {} = {},
|
package/lib/arm.tsp
CHANGED
|
@@ -28,6 +28,21 @@ namespace Azure.ResourceManager;
|
|
|
28
28
|
|
|
29
29
|
/**
|
|
30
30
|
* Supported versions of Azure.ResourceManager building blocks.
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typespec
|
|
34
|
+
* enum Versions {
|
|
35
|
+
* @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1)
|
|
36
|
+
* @useDependency(Azure.Core.Versions.v1_0_Preview_2)
|
|
37
|
+
* @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5)
|
|
38
|
+
* v2021_10_01_preview: "2021-10-01-preview",
|
|
39
|
+
*
|
|
40
|
+
* @useDependency(Azure.ResourceManager.Versions.v1_0_Preview_1)
|
|
41
|
+
* @useDependency(Azure.Core.Versions.v1_0_Preview_2)
|
|
42
|
+
* @armCommonTypesVersion(Azure.ResourceManager.CommonTypes.Versions.v5)
|
|
43
|
+
* v2021_11_01: "2021-11-01",
|
|
44
|
+
* }
|
|
45
|
+
* ```
|
|
31
46
|
*/
|
|
32
47
|
@doc("Supported versions of Azure.ResourceManager building blocks.")
|
|
33
48
|
enum Versions {
|
|
@@ -298,7 +298,7 @@ model ErrorAdditionalInfo {
|
|
|
298
298
|
|
|
299
299
|
/** The additional info. */
|
|
300
300
|
@visibility(Lifecycle.Read)
|
|
301
|
-
info?:
|
|
301
|
+
info?: unknown;
|
|
302
302
|
}
|
|
303
303
|
|
|
304
304
|
/**
|
|
@@ -473,6 +473,13 @@ model LocationData {
|
|
|
473
473
|
|
|
474
474
|
/**
|
|
475
475
|
* The default api-version parameter type.
|
|
476
|
+
*
|
|
477
|
+
* @example
|
|
478
|
+
* ```typespec
|
|
479
|
+
* model Employee is TrackedResource<EmployeeProperties> {
|
|
480
|
+
* ...ResourceNameParameter<Employee>;
|
|
481
|
+
* }
|
|
482
|
+
* ```
|
|
476
483
|
*/
|
|
477
484
|
model ApiVersionParameter {
|
|
478
485
|
/** The API version to use for this operation. */
|
|
@@ -493,6 +500,16 @@ model OperationIdParameter {
|
|
|
493
500
|
|
|
494
501
|
/**
|
|
495
502
|
* The default location parameter type.
|
|
503
|
+
*
|
|
504
|
+
* @example
|
|
505
|
+
* ```typespec
|
|
506
|
+
* op employee is ArmProviderActionSync<
|
|
507
|
+
* Request = Employee,
|
|
508
|
+
* Response = Employee,
|
|
509
|
+
* Scope = SubscriptionActionScope,
|
|
510
|
+
* Parameters = LocationParameter
|
|
511
|
+
* >;
|
|
512
|
+
* ```
|
|
496
513
|
*/
|
|
497
514
|
model LocationParameter {
|
|
498
515
|
/** The name of Azure region. */
|
|
@@ -99,7 +99,7 @@ model ExtensionBaseParameters is TenantBaseParameters {
|
|
|
99
99
|
@doc("The updatable properties of the {name}.", Resource)
|
|
100
100
|
@friendlyName("{name}UpdateProperties", Resource)
|
|
101
101
|
model ResourceUpdateModelProperties<
|
|
102
|
-
Resource extends Foundations.
|
|
102
|
+
Resource extends Foundations.SimpleResource,
|
|
103
103
|
Properties extends TypeSpec.Reflection.Model
|
|
104
104
|
> is OptionalProperties<UpdateableProperties<Properties>>;
|
|
105
105
|
|
|
@@ -113,7 +113,7 @@ model ResourceUpdateModelProperties<
|
|
|
113
113
|
@friendlyName("{name}Update", Resource)
|
|
114
114
|
@omitIfEmpty("properties")
|
|
115
115
|
model ResourceUpdateModel<
|
|
116
|
-
Resource extends Foundations.
|
|
116
|
+
Resource extends Foundations.SimpleResource,
|
|
117
117
|
Properties extends TypeSpec.Reflection.Model
|
|
118
118
|
>
|
|
119
119
|
is OptionalProperties<UpdateableProperties<OmitProperties<
|
|
@@ -131,47 +131,47 @@ model ResourceUpdateModel<
|
|
|
131
131
|
*/
|
|
132
132
|
@doc("The type used for updating tags in {name} resources.", Resource)
|
|
133
133
|
@friendlyName("{name}TagsUpdate", Resource)
|
|
134
|
-
model TagsUpdateModel<Resource extends Foundations.
|
|
134
|
+
model TagsUpdateModel<Resource extends Foundations.SimpleResource> {
|
|
135
135
|
...ArmTagsProperty;
|
|
136
136
|
}
|
|
137
137
|
|
|
138
138
|
// Tenant resource operation definitions
|
|
139
139
|
|
|
140
|
-
alias TenantParentScope<Resource extends Foundations.
|
|
140
|
+
alias TenantParentScope<Resource extends Foundations.SimpleResource> = TenantScope<Resource>;
|
|
141
141
|
|
|
142
142
|
/**
|
|
143
143
|
* Parameter model for listing a resource at the tenant scope
|
|
144
144
|
* @template Resource The type of the resource.
|
|
145
145
|
*/
|
|
146
|
-
model TenantScope<Resource extends Foundations.
|
|
146
|
+
model TenantScope<Resource extends Foundations.SimpleResource>
|
|
147
147
|
is ResourceParentParameters<Resource, TenantBaseParameters>;
|
|
148
148
|
|
|
149
149
|
/**
|
|
150
150
|
* Parameter model for listing a resource at the subscription scope
|
|
151
151
|
* @template Resource The type of the resource.
|
|
152
152
|
*/
|
|
153
|
-
model SubscriptionScope<Resource extends Foundations.
|
|
153
|
+
model SubscriptionScope<Resource extends Foundations.SimpleResource>
|
|
154
154
|
is ResourceParentParameters<Resource, SubscriptionBaseParameters>;
|
|
155
155
|
|
|
156
156
|
/**
|
|
157
157
|
* Parameter model for listing a resource at the location scope
|
|
158
158
|
* @template Resource The type of the resource.
|
|
159
159
|
*/
|
|
160
|
-
model LocationScope<Resource extends Foundations.
|
|
160
|
+
model LocationScope<Resource extends Foundations.SimpleResource>
|
|
161
161
|
is ResourceParentParameters<Resource, LocationBaseParameters>;
|
|
162
162
|
|
|
163
163
|
/**
|
|
164
164
|
* Parameter model for listing an extension resource
|
|
165
165
|
* @template Resource The type of the resource.
|
|
166
166
|
*/
|
|
167
|
-
model ExtensionScope<Resource extends Foundations.
|
|
167
|
+
model ExtensionScope<Resource extends Foundations.SimpleResource>
|
|
168
168
|
is ResourceParentParameters<Resource, ExtensionBaseParameters>;
|
|
169
169
|
|
|
170
170
|
/**
|
|
171
171
|
* Parameter model for listing a resource at the resource group scope
|
|
172
172
|
* @template Resource The type of the resource.
|
|
173
173
|
*/
|
|
174
|
-
model ResourceGroupScope<Resource extends Foundations.
|
|
174
|
+
model ResourceGroupScope<Resource extends Foundations.SimpleResource>
|
|
175
175
|
is ResourceParentParameters<Resource>;
|
|
176
176
|
|
|
177
177
|
/**
|
|
@@ -182,13 +182,30 @@ model ResourceGroupScope<Resource extends Foundations.Resource>
|
|
|
182
182
|
@doc("The type used for update operations of the {name}.", Resource)
|
|
183
183
|
@friendlyName("{name}Update", Resource)
|
|
184
184
|
model ProxyResourceUpdateModel<
|
|
185
|
-
Resource extends Foundations.
|
|
185
|
+
Resource extends Foundations.SimpleResource,
|
|
186
186
|
Properties extends TypeSpec.Reflection.Model
|
|
187
187
|
> {
|
|
188
188
|
@conditionalClientFlatten
|
|
189
189
|
properties?: ResourceUpdateModelProperties<Resource, Properties>;
|
|
190
190
|
}
|
|
191
191
|
|
|
192
|
+
/** A base definition of a resource using simple types. This
|
|
193
|
+
* model should only be used as a constraint for other models.
|
|
194
|
+
*/
|
|
195
|
+
model SimpleResource {
|
|
196
|
+
/** The resource identifier */
|
|
197
|
+
id?: string;
|
|
198
|
+
|
|
199
|
+
/** The resource name */
|
|
200
|
+
name?: string;
|
|
201
|
+
|
|
202
|
+
/** The resource type */
|
|
203
|
+
type?: string;
|
|
204
|
+
|
|
205
|
+
/** readonly data about the resource */
|
|
206
|
+
systemData?: unknown;
|
|
207
|
+
}
|
|
208
|
+
|
|
192
209
|
alias DefaultProviderNamespace = {
|
|
193
210
|
@path
|
|
194
211
|
@TypeSpec.Rest.segment("providers")
|
package/lib/interfaces.tsp
CHANGED
|
@@ -42,7 +42,7 @@ interface Operations {
|
|
|
42
42
|
*/
|
|
43
43
|
#deprecated "Use Azure.ResourceManager.TrackedResourceOperations instead"
|
|
44
44
|
interface ResourceOperations<
|
|
45
|
-
Resource extends Foundations.
|
|
45
|
+
Resource extends Foundations.SimpleResource,
|
|
46
46
|
Properties extends TypeSpec.Reflection.Model,
|
|
47
47
|
BaseParameters = DefaultBaseParameters<Resource>
|
|
48
48
|
> extends TrackedResourceOperations<Resource, Properties, BaseParameters> {}
|
|
@@ -58,7 +58,7 @@ interface ResourceOperations<
|
|
|
58
58
|
*
|
|
59
59
|
*/
|
|
60
60
|
interface TrackedResourceOperations<
|
|
61
|
-
Resource extends Foundations.
|
|
61
|
+
Resource extends Foundations.SimpleResource,
|
|
62
62
|
Properties extends TypeSpec.Reflection.Model,
|
|
63
63
|
BaseParameters = DefaultBaseParameters<Resource>
|
|
64
64
|
>
|
|
@@ -78,7 +78,7 @@ interface TrackedResourceOperations<
|
|
|
78
78
|
*/
|
|
79
79
|
#suppress "deprecated" "This should be deprecated in a future release"
|
|
80
80
|
interface ProxyResourceOperations<
|
|
81
|
-
Resource extends Foundations.
|
|
81
|
+
Resource extends Foundations.SimpleResource,
|
|
82
82
|
BaseParameters = DefaultBaseParameters<Resource>
|
|
83
83
|
>
|
|
84
84
|
extends ResourceRead<Resource, BaseParameters>,
|
|
@@ -99,7 +99,7 @@ interface ProxyResourceOperations<
|
|
|
99
99
|
*/
|
|
100
100
|
#suppress "deprecated" "This should be deprecated in a future release"
|
|
101
101
|
interface TenantResourceOperations<
|
|
102
|
-
Resource extends Foundations.
|
|
102
|
+
Resource extends Foundations.SimpleResource,
|
|
103
103
|
Properties extends TypeSpec.Reflection.Model
|
|
104
104
|
>
|
|
105
105
|
extends TenantResourceRead<Resource>,
|
|
@@ -117,7 +117,7 @@ interface TenantResourceOperations<
|
|
|
117
117
|
*/
|
|
118
118
|
#suppress "deprecated" "This should be deprecated in a future release"
|
|
119
119
|
interface ResourceInstanceOperations<
|
|
120
|
-
Resource extends Foundations.
|
|
120
|
+
Resource extends Foundations.SimpleResource,
|
|
121
121
|
Properties extends TypeSpec.Reflection.Model,
|
|
122
122
|
BaseParameters = DefaultBaseParameters<Resource>,
|
|
123
123
|
PatchModel = ResourceUpdateModel<Resource, Properties>
|
|
@@ -133,7 +133,7 @@ interface ResourceInstanceOperations<
|
|
|
133
133
|
* @template BaseParameters The http parameters that are part of the request
|
|
134
134
|
*/
|
|
135
135
|
interface ResourceCollectionOperations<
|
|
136
|
-
Resource extends Foundations.
|
|
136
|
+
Resource extends Foundations.SimpleResource,
|
|
137
137
|
BaseParameters = DefaultBaseParameters<Resource>
|
|
138
138
|
> extends ResourceListByParent<Resource, BaseParameters>, ResourceListBySubscription<Resource> {}
|
|
139
139
|
|
|
@@ -141,7 +141,7 @@ interface ResourceCollectionOperations<
|
|
|
141
141
|
* An interface for resources with can be listed by subscription.
|
|
142
142
|
* @template Resource The ArmResource that provides these operations
|
|
143
143
|
*/
|
|
144
|
-
interface ResourceListBySubscription<Resource extends Foundations.
|
|
144
|
+
interface ResourceListBySubscription<Resource extends Foundations.SimpleResource> {
|
|
145
145
|
/**
|
|
146
146
|
* @dev List resources by subscription.
|
|
147
147
|
* @template Resource The ArmResource to list.
|
|
@@ -157,7 +157,7 @@ interface ResourceListBySubscription<Resource extends Foundations.Resource> {
|
|
|
157
157
|
* @template ParentFriendlyName The friendly name of the parent resource
|
|
158
158
|
*/
|
|
159
159
|
interface ResourceListByParent<
|
|
160
|
-
Resource extends Foundations.
|
|
160
|
+
Resource extends Foundations.SimpleResource,
|
|
161
161
|
BaseParameters = DefaultBaseParameters<Resource>,
|
|
162
162
|
ParentName extends valueof string = "",
|
|
163
163
|
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 Foundations.
|
|
182
|
+
Resource extends Foundations.SimpleResource,
|
|
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 Foundations.
|
|
199
|
+
Resource extends Foundations.SimpleResource,
|
|
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 Foundations.
|
|
216
|
+
Resource extends Foundations.SimpleResource,
|
|
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 Foundations.
|
|
236
|
+
Resource extends Foundations.SimpleResource,
|
|
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 Foundations.
|
|
254
|
+
Resource extends Foundations.SimpleResource,
|
|
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 Foundations.
|
|
272
|
+
Resource extends Foundations.SimpleResource,
|
|
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 Foundations.
|
|
291
|
+
Resource extends Foundations.SimpleResource,
|
|
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 Foundations.
|
|
316
|
+
Resource extends Foundations.SimpleResource,
|
|
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 Foundations.
|
|
336
|
+
Resource extends Foundations.SimpleResource,
|
|
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 Foundations.
|
|
348
|
+
interface ExtensionResourceCollectionOperations<Resource extends Foundations.SimpleResource>
|
|
349
349
|
extends ExtensionResourceList<Resource> {}
|
|
350
350
|
|
|
351
351
|
/**
|
|
@@ -354,84 +354,84 @@ interface ExtensionResourceCollectionOperations<Resource extends Foundations.Res
|
|
|
354
354
|
* @template Properties RP-specific property bag for the resource
|
|
355
355
|
*/
|
|
356
356
|
interface ExtensionResourceOperations<
|
|
357
|
-
Resource extends Foundations.
|
|
357
|
+
Resource extends Foundations.SimpleResource,
|
|
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 Foundations.
|
|
364
|
+
Resource extends Foundations.SimpleResource,
|
|
365
365
|
BaseParameters = DefaultBaseParameters<Resource>
|
|
366
366
|
> = ResourceCreateAsync<Resource, BaseParameters>;
|
|
367
367
|
|
|
368
368
|
alias ResourceUpdate<
|
|
369
|
-
Resource extends Foundations.
|
|
369
|
+
Resource extends Foundations.SimpleResource,
|
|
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 Foundations.
|
|
376
|
+
Resource extends Foundations.SimpleResource,
|
|
377
377
|
BaseParameters = DefaultBaseParameters<Resource>
|
|
378
378
|
> = ResourceDeleteAsync<Resource, BaseParameters>;
|
|
379
379
|
|
|
380
380
|
alias ProxyResourceUpdate<
|
|
381
|
-
Resource extends Foundations.
|
|
381
|
+
Resource extends Foundations.SimpleResource,
|
|
382
382
|
Properties extends TypeSpec.Reflection.Model
|
|
383
383
|
> = ResourceUpdate<Resource, Properties>;
|
|
384
384
|
|
|
385
|
-
alias ExtensionResourceRead<Resource extends Foundations.
|
|
385
|
+
alias ExtensionResourceRead<Resource extends Foundations.SimpleResource> = ResourceRead<
|
|
386
386
|
Resource,
|
|
387
387
|
ExtensionBaseParameters
|
|
388
388
|
>;
|
|
389
389
|
|
|
390
|
-
alias ExtensionResourceCreate<Resource extends Foundations.
|
|
390
|
+
alias ExtensionResourceCreate<Resource extends Foundations.SimpleResource> = ResourceCreate<
|
|
391
391
|
Resource,
|
|
392
392
|
ExtensionBaseParameters
|
|
393
393
|
>;
|
|
394
394
|
|
|
395
395
|
alias ExtensionResourceUpdate<
|
|
396
|
-
Resource extends Foundations.
|
|
396
|
+
Resource extends Foundations.SimpleResource,
|
|
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 Foundations.
|
|
401
|
+
alias ExtensionResourceDelete<Resource extends Foundations.SimpleResource> = ResourceDelete<
|
|
402
402
|
Resource,
|
|
403
403
|
ExtensionBaseParameters
|
|
404
404
|
>;
|
|
405
405
|
|
|
406
|
-
alias ExtensionResourceList<Resource extends Foundations.
|
|
406
|
+
alias ExtensionResourceList<Resource extends Foundations.SimpleResource> = ResourceListByParent<
|
|
407
407
|
Resource,
|
|
408
408
|
ExtensionBaseParameters,
|
|
409
409
|
"Extension",
|
|
410
410
|
"parent"
|
|
411
411
|
>;
|
|
412
412
|
|
|
413
|
-
alias TenantResourceRead<Resource extends Foundations.
|
|
413
|
+
alias TenantResourceRead<Resource extends Foundations.SimpleResource> = ResourceRead<
|
|
414
414
|
Resource,
|
|
415
415
|
TenantBaseParameters
|
|
416
416
|
>;
|
|
417
417
|
|
|
418
|
-
alias TenantResourceCreate<Resource extends Foundations.
|
|
418
|
+
alias TenantResourceCreate<Resource extends Foundations.SimpleResource> = 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 Foundations.
|
|
424
|
+
alias TenantResourceDelete<Resource extends Foundations.SimpleResource> = ResourceDelete<
|
|
425
425
|
Resource,
|
|
426
426
|
TenantBaseParameters
|
|
427
427
|
>;
|
|
428
428
|
|
|
429
429
|
alias TenantResourceUpdate<
|
|
430
|
-
Resource extends Foundations.
|
|
430
|
+
Resource extends Foundations.SimpleResource,
|
|
431
431
|
Properties extends TypeSpec.Reflection.Model
|
|
432
432
|
> = ResourceUpdate<Resource, Properties, TenantBaseParameters>;
|
|
433
433
|
|
|
434
|
-
alias TenantResourceListByParent<Resource extends Foundations.
|
|
434
|
+
alias TenantResourceListByParent<Resource extends Foundations.SimpleResource> = ResourceListByParent<
|
|
435
435
|
Resource,
|
|
436
436
|
TenantBaseParameters,
|
|
437
437
|
"Tenant",
|
package/lib/models.tsp
CHANGED
|
@@ -19,9 +19,21 @@ namespace Azure.ResourceManager;
|
|
|
19
19
|
* @template SegmentName Override default segment name of the resource.
|
|
20
20
|
* @template NamePattern The RegEx pattern of the name. Default is `^[a-zA-Z0-9-]{3,24}$`.
|
|
21
21
|
* @template Type The type of the name property. Default type is string. However you can pass an union with string values.
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typespec
|
|
25
|
+
* model Employee is TrackedResource<EmployeeProperties> {
|
|
26
|
+
* ...ResourceNameParameter<
|
|
27
|
+
* Resource = Employee,
|
|
28
|
+
* KeyName = "employeeName",
|
|
29
|
+
* SegmentName = "employees",
|
|
30
|
+
* NamePattern = "^[^<>%&:?#/\\\\]+$"
|
|
31
|
+
* >;
|
|
32
|
+
* }
|
|
33
|
+
* ```
|
|
22
34
|
*/
|
|
23
35
|
model ResourceNameParameter<
|
|
24
|
-
Resource extends Foundations.
|
|
36
|
+
Resource extends Foundations.SimpleResource,
|
|
25
37
|
KeyName extends valueof string = "",
|
|
26
38
|
SegmentName extends valueof string = "",
|
|
27
39
|
NamePattern extends valueof string = "^[a-zA-Z0-9-]{3,24}$",
|
|
@@ -41,6 +53,13 @@ model ResourceNameParameter<
|
|
|
41
53
|
* See more details on [different Azure Resource Manager resource type here.](https://azure.github.io/typespec-azure/docs/howtos/ARM/resource-type)
|
|
42
54
|
* @template Properties A model containing the provider-specific properties for this resource
|
|
43
55
|
* @template PropertiesOptional A boolean flag indicating whether the resource `Properties` field is marked as optional or required. Default true is optional and recommended.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typespec
|
|
59
|
+
* model Employee is TrackedResource<EmployeeProperties> {
|
|
60
|
+
* ...ResourceNameParameter<Employee>
|
|
61
|
+
* }
|
|
62
|
+
* ```
|
|
44
63
|
*/
|
|
45
64
|
@doc("Concrete tracked resource types can be created by aliasing this type using a specific property type.")
|
|
46
65
|
@armResourceInternal(Properties)
|
|
@@ -59,6 +78,13 @@ model TrackedResource<Properties extends {}, PropertiesOptional extends valueof
|
|
|
59
78
|
* See more details on [different Azure Resource Manager resource type here.](https://azure.github.io/typespec-azure/docs/howtos/ARM/resource-type)
|
|
60
79
|
* @template Properties A model containing the provider-specific properties for this resource
|
|
61
80
|
* @template PropertiesOptional A boolean flag indicating whether the resource `Properties` field is marked as optional or required. Default true is optional and recommended.
|
|
81
|
+
*
|
|
82
|
+
* @example
|
|
83
|
+
* ```typespec
|
|
84
|
+
* model Employee is ProxyResource<EmployeeProperties> {
|
|
85
|
+
* ...ResourceNameParameter<Employee>;
|
|
86
|
+
* }
|
|
87
|
+
* ```
|
|
62
88
|
*/
|
|
63
89
|
@doc("Concrete proxy resource types can be created by aliasing this type using a specific property type.")
|
|
64
90
|
@armResourceInternal(Properties)
|
|
@@ -77,6 +103,18 @@ model ProxyResource<Properties extends {}, PropertiesOptional extends valueof bo
|
|
|
77
103
|
* See more details on [different Azure Resource Manager resource type here.](https://azure.github.io/typespec-azure/docs/howtos/ARM/resource-type)
|
|
78
104
|
* @template Properties A model containing the provider-specific properties for this resource
|
|
79
105
|
* @template PropertiesOptional A boolean flag indicating whether the resource `Properties` field is marked as optional or required. Default true is optional and recommended.
|
|
106
|
+
*
|
|
107
|
+
* @example
|
|
108
|
+
* ```typespec
|
|
109
|
+
* model PetInstance is ExtensionResource<PetProperties> {
|
|
110
|
+
* @key
|
|
111
|
+
* @path
|
|
112
|
+
* @segment("petInstances")
|
|
113
|
+
* @pattern("^[a-zA-Z0-9-]{3,24}$")
|
|
114
|
+
* @visibility(Lifecycle.Read)
|
|
115
|
+
* name: string;
|
|
116
|
+
* }
|
|
117
|
+
* ```
|
|
80
118
|
*/
|
|
81
119
|
@extensionResource
|
|
82
120
|
@doc("Concrete extension resource types can be created by aliasing this type using a specific property type.")
|
|
@@ -290,10 +328,19 @@ model ResourceKindProperty {
|
|
|
290
328
|
/**
|
|
291
329
|
* Paged response containing resources
|
|
292
330
|
* @template Resource The type of the values returned in the paged response (must be a resource)
|
|
331
|
+
*
|
|
332
|
+
* @example
|
|
333
|
+
* ```typespec
|
|
334
|
+
* op list is ArmResourceActionSync<
|
|
335
|
+
* Resource = Employee,
|
|
336
|
+
* Request = void,
|
|
337
|
+
* Response = ResourceListResult<Employee>
|
|
338
|
+
* >;
|
|
339
|
+
* ```
|
|
293
340
|
*/
|
|
294
341
|
@doc("The response of a {name} list operation.", Resource)
|
|
295
342
|
@friendlyName("{name}ListResult", Resource)
|
|
296
|
-
model ResourceListResult<Resource extends Foundations.
|
|
343
|
+
model ResourceListResult<Resource extends Foundations.SimpleResource> is Azure.Core.Page<Resource>;
|
|
297
344
|
|
|
298
345
|
/**
|
|
299
346
|
* Paged response containing results
|
|
@@ -396,10 +443,11 @@ model EncryptionProperty {
|
|
|
396
443
|
/**
|
|
397
444
|
* Model representing the standard `zones` envelope property for a resource.
|
|
398
445
|
* Spread this model into a resource Model if the resource supports ARM `zones`.
|
|
446
|
+
*
|
|
399
447
|
* @example
|
|
400
|
-
* ```
|
|
448
|
+
* ```typespec
|
|
401
449
|
* model Foo is TrackedResource<FooProperties> {
|
|
402
|
-
*
|
|
450
|
+
* ...AvailabilityZonesProperty;
|
|
403
451
|
* }
|
|
404
452
|
* ```
|
|
405
453
|
*/
|
package/lib/operations.tsp
CHANGED
|
@@ -22,7 +22,7 @@ namespace Azure.ResourceManager;
|
|
|
22
22
|
@get
|
|
23
23
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
24
24
|
op ArmListBySubscription<
|
|
25
|
-
Resource extends Foundations.
|
|
25
|
+
Resource extends Foundations.SimpleResource,
|
|
26
26
|
Parameters extends {} = {},
|
|
27
27
|
Response extends {} = ArmResponse<ResourceListResult<Resource>>,
|
|
28
28
|
Error extends {} = ErrorResponse
|
|
@@ -46,7 +46,7 @@ op ArmListBySubscription<
|
|
|
46
46
|
@armResourceList(Resource)
|
|
47
47
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
48
48
|
op ArmResourceListByParent<
|
|
49
|
-
Resource extends Foundations.
|
|
49
|
+
Resource extends Foundations.SimpleResource,
|
|
50
50
|
BaseParameters = DefaultBaseParameters<Resource>,
|
|
51
51
|
ParentName extends valueof string = "",
|
|
52
52
|
ParentFriendlyName extends valueof string = "",
|
|
@@ -75,7 +75,7 @@ op ArmResourceListByParent<
|
|
|
75
75
|
@armResourceList(Resource)
|
|
76
76
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
77
77
|
op ArmResourceListAtScope<
|
|
78
|
-
Resource extends Foundations.
|
|
78
|
+
Resource extends Foundations.SimpleResource,
|
|
79
79
|
BaseParameters = DefaultBaseParameters<Resource>,
|
|
80
80
|
Parameters extends {} = {},
|
|
81
81
|
Response extends {} = ArmResponse<ResourceListResult<Resource>>,
|
|
@@ -149,7 +149,7 @@ op ArmResourceCheckExistence<
|
|
|
149
149
|
@Azure.Core.Foundations.Private.defaultFinalStateVia(#["location", "azure-async-operation"])
|
|
150
150
|
@put
|
|
151
151
|
op ArmResourceCreateOrUpdateAsync<
|
|
152
|
-
Resource extends Foundations.
|
|
152
|
+
Resource extends Foundations.SimpleResource,
|
|
153
153
|
BaseParameters = DefaultBaseParameters<Resource>,
|
|
154
154
|
LroHeaders extends TypeSpec.Reflection.Model = ArmAsyncOperationHeader<FinalResult = Resource> &
|
|
155
155
|
Azure.Core.Foundations.RetryAfterHeader,
|
|
@@ -181,7 +181,7 @@ op ArmResourceCreateOrUpdateAsync<
|
|
|
181
181
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
182
182
|
@put
|
|
183
183
|
op ArmResourceCreateOrUpdateSync<
|
|
184
|
-
Resource extends Foundations.
|
|
184
|
+
Resource extends Foundations.SimpleResource,
|
|
185
185
|
BaseParameters = DefaultBaseParameters<Resource>,
|
|
186
186
|
Parameters extends {} = {},
|
|
187
187
|
Response extends {} = ArmResponse<Resource>,
|
|
@@ -207,7 +207,7 @@ op ArmResourceCreateOrUpdateSync<
|
|
|
207
207
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
208
208
|
@put
|
|
209
209
|
op ArmResourceCreateOrReplaceSync<
|
|
210
|
-
Resource extends Foundations.
|
|
210
|
+
Resource extends Foundations.SimpleResource,
|
|
211
211
|
BaseParameters = DefaultBaseParameters<Resource>,
|
|
212
212
|
Parameters extends {} = {},
|
|
213
213
|
Response extends {} = ArmResourceUpdatedResponse<Resource> | ArmResourceCreatedSyncResponse<Resource>,
|
|
@@ -230,7 +230,7 @@ op ArmResourceCreateOrReplaceSync<
|
|
|
230
230
|
*/
|
|
231
231
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
232
232
|
op ArmResourceCreateOrReplaceAsync<
|
|
233
|
-
Resource extends Foundations.
|
|
233
|
+
Resource extends Foundations.SimpleResource,
|
|
234
234
|
BaseParameters = DefaultBaseParameters<Resource>,
|
|
235
235
|
LroHeaders extends TypeSpec.Reflection.Model = ArmAsyncOperationHeader<FinalResult = Resource> &
|
|
236
236
|
Azure.Core.Foundations.RetryAfterHeader,
|
|
@@ -259,7 +259,7 @@ op ArmResourceCreateOrReplaceAsync<
|
|
|
259
259
|
*/
|
|
260
260
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
261
261
|
op ArmTagsPatchAsync<
|
|
262
|
-
Resource extends Foundations.
|
|
262
|
+
Resource extends Foundations.SimpleResource,
|
|
263
263
|
Properties extends {} = TagsUpdateModel<Resource>,
|
|
264
264
|
BaseParameters = DefaultBaseParameters<Resource>,
|
|
265
265
|
LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader<
|
|
@@ -287,7 +287,7 @@ op ArmTagsPatchAsync<
|
|
|
287
287
|
*/
|
|
288
288
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
289
289
|
op ArmResourcePatchAsync<
|
|
290
|
-
Resource extends Foundations.
|
|
290
|
+
Resource extends Foundations.SimpleResource,
|
|
291
291
|
Properties extends TypeSpec.Reflection.Model,
|
|
292
292
|
BaseParameters = DefaultBaseParameters<Resource>,
|
|
293
293
|
LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader<
|
|
@@ -315,7 +315,7 @@ op ArmResourcePatchAsync<
|
|
|
315
315
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
316
316
|
@patch(#{ implicitOptionality: true })
|
|
317
317
|
op ArmCustomPatchAsync<
|
|
318
|
-
Resource extends Foundations.
|
|
318
|
+
Resource extends Foundations.SimpleResource,
|
|
319
319
|
PatchModel extends TypeSpec.Reflection.Model = TagsUpdateModel<Resource>,
|
|
320
320
|
BaseParameters = DefaultBaseParameters<Resource>,
|
|
321
321
|
LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader<
|
|
@@ -345,7 +345,7 @@ op ArmCustomPatchAsync<
|
|
|
345
345
|
*/
|
|
346
346
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
347
347
|
op ArmTagsPatchSync<
|
|
348
|
-
Resource extends Foundations.
|
|
348
|
+
Resource extends Foundations.SimpleResource,
|
|
349
349
|
BaseParameters = DefaultBaseParameters<Resource>,
|
|
350
350
|
Parameters extends {} = {}
|
|
351
351
|
> is ArmCustomPatchSync<Resource, TagsUpdateModel<Resource>, BaseParameters, Parameters>;
|
|
@@ -359,7 +359,7 @@ op ArmTagsPatchSync<
|
|
|
359
359
|
*/
|
|
360
360
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
361
361
|
op ArmResourcePatchSync<
|
|
362
|
-
Resource extends Foundations.
|
|
362
|
+
Resource extends Foundations.SimpleResource,
|
|
363
363
|
Properties extends TypeSpec.Reflection.Model,
|
|
364
364
|
BaseParameters = DefaultBaseParameters<Resource>,
|
|
365
365
|
Parameters extends {} = {}
|
|
@@ -380,7 +380,7 @@ op ArmResourcePatchSync<
|
|
|
380
380
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
381
381
|
@patch(#{ implicitOptionality: true })
|
|
382
382
|
op ArmCustomPatchSync<
|
|
383
|
-
Resource extends Foundations.
|
|
383
|
+
Resource extends Foundations.SimpleResource,
|
|
384
384
|
PatchModel extends TypeSpec.Reflection.Model = TagsUpdateModel<Resource>,
|
|
385
385
|
BaseParameters = DefaultBaseParameters<Resource>,
|
|
386
386
|
Parameters extends {} = {},
|
|
@@ -407,7 +407,7 @@ op ArmCustomPatchSync<
|
|
|
407
407
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
408
408
|
@delete
|
|
409
409
|
op ArmResourceDeleteAsyncBase<
|
|
410
|
-
Resource extends Foundations.
|
|
410
|
+
Resource extends Foundations.SimpleResource,
|
|
411
411
|
Response,
|
|
412
412
|
BaseParameters = DefaultBaseParameters<Resource>,
|
|
413
413
|
Parameters extends {} = {},
|
|
@@ -426,7 +426,7 @@ op ArmResourceDeleteAsyncBase<
|
|
|
426
426
|
#deprecated "Use 'ArmResourceDeleteWithoutOkAsync' instead"
|
|
427
427
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
428
428
|
op ArmResourceDeleteAsync<
|
|
429
|
-
Resource extends Foundations.
|
|
429
|
+
Resource extends Foundations.SimpleResource,
|
|
430
430
|
BaseParameters = DefaultBaseParameters<Resource>,
|
|
431
431
|
LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader &
|
|
432
432
|
Azure.Core.Foundations.RetryAfterHeader,
|
|
@@ -446,7 +446,7 @@ op ArmResourceDeleteAsync<
|
|
|
446
446
|
*/
|
|
447
447
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
448
448
|
op ArmResourceDeleteWithoutOkAsync<
|
|
449
|
-
Resource extends Foundations.
|
|
449
|
+
Resource extends Foundations.SimpleResource,
|
|
450
450
|
BaseParameters = DefaultBaseParameters<Resource>,
|
|
451
451
|
LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader &
|
|
452
452
|
Azure.Core.Foundations.RetryAfterHeader,
|
|
@@ -469,7 +469,7 @@ op ArmResourceDeleteWithoutOkAsync<
|
|
|
469
469
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
470
470
|
@delete
|
|
471
471
|
op ArmResourceDeleteSync<
|
|
472
|
-
Resource extends Foundations.
|
|
472
|
+
Resource extends Foundations.SimpleResource,
|
|
473
473
|
BaseParameters = DefaultBaseParameters<Resource>,
|
|
474
474
|
Parameters extends {} = {},
|
|
475
475
|
Response extends {} = ArmDeletedResponse | ArmDeletedNoContentResponse,
|
|
@@ -491,7 +491,7 @@ op ArmResourceDeleteSync<
|
|
|
491
491
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
492
492
|
@post
|
|
493
493
|
op ArmResourceActionAsyncBase<
|
|
494
|
-
Resource extends Foundations.
|
|
494
|
+
Resource extends Foundations.SimpleResource,
|
|
495
495
|
Request extends TypeSpec.Reflection.Model | void,
|
|
496
496
|
Response extends TypeSpec.Reflection.Model | void,
|
|
497
497
|
BaseParameters extends TypeSpec.Reflection.Model,
|
|
@@ -521,7 +521,7 @@ op ArmResourceActionAsyncBase<
|
|
|
521
521
|
@returnsDoc("Azure operation completed successfully.")
|
|
522
522
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
523
523
|
op ArmResourceActionAsync<
|
|
524
|
-
Resource extends Foundations.
|
|
524
|
+
Resource extends Foundations.SimpleResource,
|
|
525
525
|
Request extends TypeSpec.Reflection.Model | void,
|
|
526
526
|
Response extends TypeSpec.Reflection.Model | void,
|
|
527
527
|
BaseParameters extends TypeSpec.Reflection.Model = DefaultBaseParameters<Resource>,
|
|
@@ -560,7 +560,7 @@ op ArmResourceActionAsync<
|
|
|
560
560
|
@post
|
|
561
561
|
@returnsDoc("Azure operation completed successfully.")
|
|
562
562
|
op ArmResourceActionSync<
|
|
563
|
-
Resource extends Foundations.
|
|
563
|
+
Resource extends Foundations.SimpleResource,
|
|
564
564
|
Request extends TypeSpec.Reflection.Model | void,
|
|
565
565
|
Response extends TypeSpec.Reflection.Model | void,
|
|
566
566
|
BaseParameters = DefaultBaseParameters<Resource>,
|
|
@@ -588,7 +588,7 @@ op ArmResourceActionSync<
|
|
|
588
588
|
*/
|
|
589
589
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
590
590
|
op ArmResourceActionNoContentAsync<
|
|
591
|
-
Resource extends Foundations.
|
|
591
|
+
Resource extends Foundations.SimpleResource,
|
|
592
592
|
Request extends TypeSpec.Reflection.Model | void,
|
|
593
593
|
BaseParameters extends TypeSpec.Reflection.Model = DefaultBaseParameters<Resource>,
|
|
594
594
|
LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader &
|
|
@@ -621,7 +621,7 @@ op ArmResourceActionNoContentAsync<
|
|
|
621
621
|
*/
|
|
622
622
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
623
623
|
op ArmResourceActionNoResponseContentAsync<
|
|
624
|
-
Resource extends Foundations.
|
|
624
|
+
Resource extends Foundations.SimpleResource,
|
|
625
625
|
Request extends TypeSpec.Reflection.Model | void,
|
|
626
626
|
BaseParameters extends TypeSpec.Reflection.Model = DefaultBaseParameters<Resource>,
|
|
627
627
|
LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader<
|
|
@@ -657,7 +657,7 @@ op ArmResourceActionNoResponseContentAsync<
|
|
|
657
657
|
@Private.enforceConstraint(Resource, Foundations.Resource)
|
|
658
658
|
@post
|
|
659
659
|
op ArmResourceActionNoContentSync<
|
|
660
|
-
Resource extends Foundations.
|
|
660
|
+
Resource extends Foundations.SimpleResource,
|
|
661
661
|
Request extends TypeSpec.Reflection.Model | void,
|
|
662
662
|
BaseParameters = DefaultBaseParameters<Resource>,
|
|
663
663
|
Parameters extends {} = {},
|
package/lib/parameters.tsp
CHANGED
|
@@ -53,12 +53,28 @@ model LocationResourceParameter {
|
|
|
53
53
|
/**
|
|
54
54
|
* The location resource for tenant-based locations. This can be used as a parent
|
|
55
55
|
* resource for resource types that are homed in a tenant-based location.
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typespec
|
|
59
|
+
* @parentResource(TenantLocationResource)
|
|
60
|
+
* model Employee is TrackedResource<EmployeeProperties> {
|
|
61
|
+
* ...ResourceNameParameter<Employee>
|
|
62
|
+
* }
|
|
63
|
+
* ```
|
|
56
64
|
*/
|
|
57
65
|
model TenantLocationResource is ArmLocationResource<"Tenant">;
|
|
58
66
|
|
|
59
67
|
/**
|
|
60
68
|
* The location resource for subscription-based locations. This can be used as a parent
|
|
61
69
|
* resource for resource types that are homed in a subscription-based location.
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* ```typespec
|
|
73
|
+
* @parentResource(SubscriptionLocationResource)
|
|
74
|
+
* model Employee is TrackedResource<EmployeeProperties> {
|
|
75
|
+
* ...ResourceNameParameter<Employee>;
|
|
76
|
+
* }
|
|
77
|
+
* ```
|
|
62
78
|
*/
|
|
63
79
|
model SubscriptionLocationResource is ArmLocationResource<"Subscription">;
|
|
64
80
|
|
|
@@ -72,6 +88,14 @@ model ResourceGroupLocationResource is ArmLocationResource<"ResourceGroup">;
|
|
|
72
88
|
* Template for ARM location resources. Use the parameter to specify
|
|
73
89
|
* the parent of the location resource.
|
|
74
90
|
* @template BaseType The parent of the location, one of "Subscription", "Tenant", "ResourceGroup", or "Extension".
|
|
91
|
+
*
|
|
92
|
+
* @example
|
|
93
|
+
* ```typespec
|
|
94
|
+
* @parentResource(ArmLocationResource<"ResourceGroup">)
|
|
95
|
+
* model Employee is TrackedResource<EmployeeProperties> {
|
|
96
|
+
* ...ResourceNameParameter<Employee>;
|
|
97
|
+
* }
|
|
98
|
+
* ```
|
|
75
99
|
*/
|
|
76
100
|
@friendlyName("Location")
|
|
77
101
|
@armVirtualResource
|
|
@@ -87,6 +111,13 @@ model ArmLocationResource<BaseType extends
|
|
|
87
111
|
|
|
88
112
|
/**
|
|
89
113
|
* The default resourceUri parameter type.
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```typespec
|
|
117
|
+
* model Employee {
|
|
118
|
+
* ...ResourceUriParameter;
|
|
119
|
+
* }
|
|
120
|
+
* ```
|
|
90
121
|
*/
|
|
91
122
|
@doc("The default resourceUri parameter type.")
|
|
92
123
|
model ResourceUriParameter {
|
|
@@ -101,6 +132,13 @@ model ResourceUriParameter {
|
|
|
101
132
|
* where the resource is based. The default is in a resource group
|
|
102
133
|
* @template Resource The resource to get parameters for
|
|
103
134
|
* @template BaseParameters The parameters representing the base Uri of the resource
|
|
135
|
+
*
|
|
136
|
+
* @example
|
|
137
|
+
* ```typespec
|
|
138
|
+
* op get(
|
|
139
|
+
* ...ResourceInstanceParameters<Employee>,
|
|
140
|
+
* ): ArmResponse<EmployeeResponse> | ErrorResponse;
|
|
141
|
+
* ```
|
|
104
142
|
*/
|
|
105
143
|
model ResourceInstanceParameters<
|
|
106
144
|
Resource extends {},
|
|
@@ -118,7 +156,7 @@ model ResourceInstanceParameters<
|
|
|
118
156
|
* @template BaseParameters The parameters representing the base Uri of the resource
|
|
119
157
|
*/
|
|
120
158
|
model ResourceParentParameters<
|
|
121
|
-
Resource extends Foundations.
|
|
159
|
+
Resource extends Foundations.SimpleResource,
|
|
122
160
|
BaseParameters = DefaultBaseParameters<Resource>
|
|
123
161
|
> {
|
|
124
162
|
...BaseParameters;
|
|
@@ -130,7 +168,7 @@ model ResourceParentParameters<
|
|
|
130
168
|
* The dynamic parameters of a list call for an extension resource instance.
|
|
131
169
|
* @template Resource The extension resource
|
|
132
170
|
*/
|
|
133
|
-
alias ExtensionResourceInstanceParameters<Resource extends Foundations.
|
|
171
|
+
alias ExtensionResourceInstanceParameters<Resource extends Foundations.SimpleResource> = ResourceInstanceParameters<
|
|
134
172
|
Resource,
|
|
135
173
|
ExtensionBaseParameters
|
|
136
174
|
>;
|
|
@@ -139,13 +177,18 @@ alias ExtensionResourceInstanceParameters<Resource extends Foundations.Resource>
|
|
|
139
177
|
* The dynamic parameters of a list call for a tenant resource instance.
|
|
140
178
|
* @template Resource the tenant resource
|
|
141
179
|
*/
|
|
142
|
-
alias TenantInstanceParameters<Resource extends Foundations.
|
|
180
|
+
alias TenantInstanceParameters<Resource extends Foundations.SimpleResource> = ResourceInstanceParameters<
|
|
143
181
|
Resource,
|
|
144
182
|
TenantBaseParameters
|
|
145
183
|
>;
|
|
146
184
|
|
|
147
185
|
/**
|
|
148
186
|
* Template used by ArmProviderAction templates.
|
|
187
|
+
*
|
|
188
|
+
* @example
|
|
189
|
+
* ```typespec
|
|
190
|
+
* op action is ArmProviderActionSync<Response = Employee, Scope = SubscriptionActionScope>;
|
|
191
|
+
* ```
|
|
149
192
|
*/
|
|
150
193
|
@armVirtualResource
|
|
151
194
|
@subscriptionResource
|
|
@@ -160,6 +203,11 @@ model SubscriptionActionScope {
|
|
|
160
203
|
|
|
161
204
|
/**
|
|
162
205
|
* Template used by ArmTenantAction templates.
|
|
206
|
+
*
|
|
207
|
+
* @example
|
|
208
|
+
* ```typespec
|
|
209
|
+
* op action is ArmProviderActionSync<Response = Employee, Scope = TenantActionScope>;
|
|
210
|
+
* ```
|
|
163
211
|
*/
|
|
164
212
|
@armVirtualResource
|
|
165
213
|
@tenantResource
|
|
@@ -60,7 +60,7 @@ extern dec defaultResourceKeySegmentName(
|
|
|
60
60
|
* Provides strict contraint type check.
|
|
61
61
|
*
|
|
62
62
|
* Due to TypeSpec language and all optional properties of `Foundations.Resource`,
|
|
63
|
-
* the `Resource extends Foundations.
|
|
63
|
+
* the `Resource extends Foundations.SimpleResource` on many of the standard ARM templates is
|
|
64
64
|
* essentially equal to `Resource extends {}` and does not enforce the containt.
|
|
65
65
|
*
|
|
66
66
|
* Note, this is intended for internal use only for now.
|
package/lib/responses.tsp
CHANGED
|
@@ -10,6 +10,11 @@ namespace Azure.ResourceManager;
|
|
|
10
10
|
/**
|
|
11
11
|
* The Azure Resource Manager synchronous OK response
|
|
12
12
|
* @template ResponseBody The contents of the response body
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typespec
|
|
16
|
+
* op get is ArmResourceRead<Employee, Response = ArmResponse<Employee>>;
|
|
17
|
+
* ```
|
|
13
18
|
*/
|
|
14
19
|
@doc("Azure operation completed successfully.")
|
|
15
20
|
model ArmResponse<ResponseBody> {
|
|
@@ -24,6 +29,15 @@ model ArmResponse<ResponseBody> {
|
|
|
24
29
|
* The Azure Resource Manager 201 response for a resource
|
|
25
30
|
* @template ResponseBody The contents of the response body
|
|
26
31
|
* @template ExtraHeaders Additional headers in the response. Default includes Retry-After header
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typespec
|
|
35
|
+
* @post
|
|
36
|
+
* op post(...ResourceInstanceParameters<Employee>): ArmCreatedResponse<
|
|
37
|
+
* Employee,
|
|
38
|
+
* ExtraHeaders = {@header("x-ms-client-request-id") clientRequestId: string}
|
|
39
|
+
* >;
|
|
40
|
+
* ```
|
|
27
41
|
*/
|
|
28
42
|
@doc("Azure create operation completed successfully.")
|
|
29
43
|
model ArmCreatedResponse<
|
|
@@ -37,6 +51,15 @@ model ArmCreatedResponse<
|
|
|
37
51
|
|
|
38
52
|
/**
|
|
39
53
|
* The response for synchronous delete of a resource
|
|
54
|
+
*
|
|
55
|
+
* @example
|
|
56
|
+
* ```typespec
|
|
57
|
+
* @delete
|
|
58
|
+
* @armResourceDelete(Employee)
|
|
59
|
+
* op delete(
|
|
60
|
+
* ...ResourceInstanceParameters<Employee>,
|
|
61
|
+
* ): ArmDeletedResponse | ArmDeletedNoContentResponse | ErrorResponse;
|
|
62
|
+
* ```
|
|
40
63
|
*/
|
|
41
64
|
@doc("Resource deleted successfully.")
|
|
42
65
|
model ArmDeletedResponse {
|
|
@@ -46,6 +69,14 @@ model ArmDeletedResponse {
|
|
|
46
69
|
/**
|
|
47
70
|
* @dev The response for asynchronous Azure Resource Manager delete ACCEPTED
|
|
48
71
|
* @template LroHeaders Optional. Allows overriding the Lro headers returned in the response.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typespec
|
|
75
|
+
* op delete is ArmResourceDeleteWithoutOkAsync<
|
|
76
|
+
* Employee,
|
|
77
|
+
* Response = ArmDeleteAcceptedLroResponse | ArmDeletedNoContentResponse
|
|
78
|
+
*>;
|
|
79
|
+
* ```
|
|
49
80
|
*/
|
|
50
81
|
model ArmDeleteAcceptedLroResponse<LroHeaders extends TypeSpec.Reflection.Model = ArmLroLocationHeader &
|
|
51
82
|
Azure.Core.Foundations.RetryAfterHeader>
|
|
@@ -60,6 +91,15 @@ model ArmDeleteAcceptedResponse is ArmAcceptedResponse<"Resource deletion accept
|
|
|
60
91
|
* @dev The standard ACCEPTED response
|
|
61
92
|
* @template Message The description of the response status (defaults to `Resource operation accepted`)
|
|
62
93
|
* @template ExtraHeaders Additional headers in the response. Default includes Retry-After header
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```typespec
|
|
97
|
+
* op post is ArmProviderActionSync<
|
|
98
|
+
* Request = Employee,
|
|
99
|
+
* Response = ArmAcceptedResponse<ExtraHeaders = ArmLroLocationHeader>,
|
|
100
|
+
* Scope = SubscriptionActionScope
|
|
101
|
+
* >;
|
|
102
|
+
* ```
|
|
63
103
|
*/
|
|
64
104
|
@doc(Message)
|
|
65
105
|
model ArmAcceptedResponse<
|
|
@@ -74,6 +114,17 @@ model ArmAcceptedResponse<
|
|
|
74
114
|
* @dev The standard Azure Resource Manager response for asynchronous PATCH, POST, and DELETE operations
|
|
75
115
|
* @template Description The description of the response status (defaults to `Resource operation accepted`)
|
|
76
116
|
* @template LroHeaders Optional. The lro headers that appear in the Accepted response
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```typespec
|
|
120
|
+
* @post
|
|
121
|
+
* op post(
|
|
122
|
+
* ...ResourceInstanceParameters<Employee>,
|
|
123
|
+
* ): ArmAcceptedLroResponse<
|
|
124
|
+
* LroHeaders = ArmLroLocationHeader<FinalResult = Employee> &
|
|
125
|
+
* Azure.Core.Foundations.RetryAfterHeader
|
|
126
|
+
* > | ErrorResponse;
|
|
127
|
+
* ```
|
|
77
128
|
*/
|
|
78
129
|
@doc(Description)
|
|
79
130
|
model ArmAcceptedLroResponse<
|
|
@@ -134,6 +185,16 @@ model ArmOperationStatus<
|
|
|
134
185
|
* @template StatusMonitor The status monitor type for lro polling
|
|
135
186
|
* @template UrlValue The value type of the Azure-AsyncOperation header
|
|
136
187
|
* @template FinalResult The logical final result of the operation
|
|
188
|
+
*
|
|
189
|
+
* @example
|
|
190
|
+
* ```typespec
|
|
191
|
+
* op changeWidget is ArmResourceActionAsync<
|
|
192
|
+
* WidgetResource,
|
|
193
|
+
* WidgetResourceRequest,
|
|
194
|
+
* WidgetResourceResponse,
|
|
195
|
+
* LroHeaders = ArmAsyncOperationHeader<FinalResult = WidgetResource>
|
|
196
|
+
* >;
|
|
197
|
+
* ```
|
|
137
198
|
*/
|
|
138
199
|
model ArmAsyncOperationHeader<
|
|
139
200
|
StatusMonitor extends {} = ArmOperationStatus,
|
|
@@ -152,6 +213,19 @@ model ArmAsyncOperationHeader<
|
|
|
152
213
|
* @template LroPollingOptions The polling options when polling the url in the location header
|
|
153
214
|
* @template FinalResult The ultimate final result of the logical operation
|
|
154
215
|
* @template UrlValue The value type for the location header
|
|
216
|
+
*
|
|
217
|
+
* @example
|
|
218
|
+
* ```typespec
|
|
219
|
+
* op update is ArmResourceActionAsync<
|
|
220
|
+
* Employee,
|
|
221
|
+
* Employee,
|
|
222
|
+
* OkResponse,
|
|
223
|
+
* LroHeaders = ArmLroLocationHeader<
|
|
224
|
+
* Azure.Core.StatusMonitorPollingOptions<ArmOperationStatus>,
|
|
225
|
+
* Employee
|
|
226
|
+
* >
|
|
227
|
+
>;
|
|
228
|
+
* ```
|
|
155
229
|
*/
|
|
156
230
|
model ArmLroLocationHeader<
|
|
157
231
|
LroPollingOptions extends Azure.Core.PollingOptions = Azure.Core.StatusMonitorPollingOptions<PollingModel = ArmOperationStatus>,
|
|
@@ -171,6 +245,14 @@ model ArmLroLocationHeader<
|
|
|
171
245
|
* @template FinalResult The type of the logical result when following the location header
|
|
172
246
|
* @template PollingUrlValue The value type of the link to the status monitor
|
|
173
247
|
* @template FinalUrlValue The value type fo the link to the final result
|
|
248
|
+
*
|
|
249
|
+
* @example
|
|
250
|
+
* ```typespec
|
|
251
|
+
* op delete is ArmResourceDeleteWithoutOkAsync<
|
|
252
|
+
* Employee,
|
|
253
|
+
* LroHeaders = ArmCombinedLroHeaders<ArmOperationStatus, Employee>
|
|
254
|
+
* >;
|
|
255
|
+
* ```
|
|
174
256
|
*/
|
|
175
257
|
model ArmCombinedLroHeaders<
|
|
176
258
|
StatusMonitor extends {} = ArmOperationStatus,
|
|
@@ -191,12 +273,26 @@ model ArmCombinedLroHeaders<
|
|
|
191
273
|
|
|
192
274
|
/**
|
|
193
275
|
* @dev Azure Resource Manager response for a properly formed delete request, with no resource found
|
|
276
|
+
*
|
|
277
|
+
* @example
|
|
278
|
+
* ```typespec
|
|
279
|
+
* op delete is ArmResourceDeleteWithoutOkAsync<
|
|
280
|
+
* Employee,
|
|
281
|
+
* Response = ArmDeleteAcceptedLroResponse | ArmDeletedNoContentResponse
|
|
282
|
+
* >;
|
|
283
|
+
* ```
|
|
194
284
|
*/
|
|
195
285
|
model ArmDeletedNoContentResponse is ArmNoContentResponse<"Resource does not exist.">;
|
|
196
286
|
|
|
197
287
|
/**
|
|
198
288
|
* Standard Azure Resource Manager NoContent (204) response
|
|
199
289
|
* @template Message The description of the response status (defaults to `Operation completed successfully`)
|
|
290
|
+
*
|
|
291
|
+
* @example
|
|
292
|
+
* ```typespec
|
|
293
|
+
* @delete
|
|
294
|
+
* op delete(@path id:string): ArmNoContentResponse;
|
|
295
|
+
* ```
|
|
200
296
|
*/
|
|
201
297
|
@doc(Message)
|
|
202
298
|
model ArmNoContentResponse<Message extends valueof string = "Operation completed successfully."> {
|
|
@@ -206,19 +302,38 @@ model ArmNoContentResponse<Message extends valueof string = "Operation completed
|
|
|
206
302
|
/**
|
|
207
303
|
* @dev Resource update operation succeeded
|
|
208
304
|
* @template Resource The resource being updated
|
|
305
|
+
*
|
|
306
|
+
* @example
|
|
307
|
+
* ```typespec
|
|
308
|
+
* @put
|
|
309
|
+
* op update(
|
|
310
|
+
* ...ResourceInstanceParameters<Employee>,
|
|
311
|
+
* ): ArmResourceUpdatedResponse<Employee>;
|
|
312
|
+
* ```
|
|
209
313
|
*/
|
|
210
314
|
@doc("Resource '{name}' update operation succeeded", Resource)
|
|
211
|
-
model ArmResourceUpdatedResponse<Resource extends Azure.ResourceManager.Foundations.
|
|
315
|
+
model ArmResourceUpdatedResponse<Resource extends Azure.ResourceManager.Foundations.SimpleResource>
|
|
212
316
|
is ArmResponse<Resource>;
|
|
213
317
|
|
|
214
318
|
/**
|
|
215
319
|
* @dev Resource create operation succeeded
|
|
216
320
|
* @template Resource The resource being updated
|
|
217
321
|
* @template LroHeaders Optional. The lro headers returned with a Created response
|
|
322
|
+
*
|
|
323
|
+
* @example
|
|
324
|
+
* ```typespec
|
|
325
|
+
* op createOrUpdate is ArmResourceCreateOrReplaceAsync<
|
|
326
|
+
* Employee,
|
|
327
|
+
* Response = ArmResponse<Employee> | ArmResourceCreatedResponse<
|
|
328
|
+
* Employee,
|
|
329
|
+
* LroHeaders = ArmLroLocationHeader<FinalResult = Employee> & Azure.Core.Foundations.RetryAfterHeader
|
|
330
|
+
* >
|
|
331
|
+
* >;
|
|
332
|
+
* ```
|
|
218
333
|
*/
|
|
219
334
|
@doc("Resource '{name}' create operation succeeded", Resource)
|
|
220
335
|
model ArmResourceCreatedResponse<
|
|
221
|
-
Resource extends Azure.ResourceManager.Foundations.
|
|
336
|
+
Resource extends Azure.ResourceManager.Foundations.SimpleResource,
|
|
222
337
|
LroHeaders extends TypeSpec.Reflection.Model = Azure.Core.Foundations.RetryAfterHeader
|
|
223
338
|
> {
|
|
224
339
|
...CreatedResponse;
|
|
@@ -233,9 +348,17 @@ model ArmResourceCreatedResponse<
|
|
|
233
348
|
/**
|
|
234
349
|
* @dev Resource synchronous create operation succeeded
|
|
235
350
|
* @template Resource The resource being updated
|
|
351
|
+
*
|
|
352
|
+
* @example
|
|
353
|
+
* ```typespec
|
|
354
|
+
* op createOrUpdate is ArmResourceCreateOrReplaceSync<
|
|
355
|
+
* Employee,
|
|
356
|
+
* Response = ArmResponse<Employee> | ArmResourceCreatedSyncResponse<Employee>
|
|
357
|
+
* >;
|
|
358
|
+
* ```
|
|
236
359
|
*/
|
|
237
360
|
@doc("Resource '{name}' create operation succeeded", Resource)
|
|
238
|
-
model ArmResourceCreatedSyncResponse<Resource extends Azure.ResourceManager.Foundations.
|
|
361
|
+
model ArmResourceCreatedSyncResponse<Resource extends Azure.ResourceManager.Foundations.SimpleResource> {
|
|
239
362
|
...CreatedResponse;
|
|
240
363
|
|
|
241
364
|
@doc("The body type of the operation request or response.")
|
|
@@ -245,6 +368,12 @@ model ArmResourceCreatedSyncResponse<Resource extends Azure.ResourceManager.Foun
|
|
|
245
368
|
|
|
246
369
|
/**
|
|
247
370
|
* @dev Resource exists response
|
|
371
|
+
*
|
|
372
|
+
* @example
|
|
373
|
+
* ```typespec
|
|
374
|
+
* @head
|
|
375
|
+
* op head(...ResourceInstanceParameters<Employee>): ArmResourceExistsResponse;
|
|
376
|
+
* ```
|
|
248
377
|
*/
|
|
249
378
|
@doc("The Azure resource exists")
|
|
250
379
|
model ArmResourceExistsResponse {
|
|
@@ -253,6 +382,10 @@ model ArmResourceExistsResponse {
|
|
|
253
382
|
|
|
254
383
|
/**
|
|
255
384
|
* @dev Resource is not found response
|
|
385
|
+
* ```typespec
|
|
386
|
+
* @head
|
|
387
|
+
* op head(...ResourceInstanceParameters<Employee>): ArmResponse<Employee> | ArmResourceNotFoundResponse;
|
|
388
|
+
* ```
|
|
256
389
|
*/
|
|
257
390
|
@doc("The Azure resource is not found")
|
|
258
391
|
model ArmResourceNotFoundResponse {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@azure-tools/typespec-azure-resource-manager",
|
|
3
|
-
"version": "0.57.0-dev.
|
|
3
|
+
"version": "0.57.0-dev.6",
|
|
4
4
|
"author": "Microsoft Corporation",
|
|
5
5
|
"description": "TypeSpec Azure Resource Manager library",
|
|
6
6
|
"homepage": "https://azure.github.io/typespec-azure",
|