@azure-tools/typespec-azure-resource-manager 0.27.0
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/LICENSE +21 -0
- package/README.md +346 -0
- package/dist/src/common-types.d.ts +8 -0
- package/dist/src/common-types.d.ts.map +1 -0
- package/dist/src/common-types.js +14 -0
- package/dist/src/common-types.js.map +1 -0
- package/dist/src/index.d.ts +7 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +7 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/internal.d.ts +44 -0
- package/dist/src/internal.d.ts.map +1 -0
- package/dist/src/internal.js +142 -0
- package/dist/src/internal.js.map +1 -0
- package/dist/src/lib.d.ts +615 -0
- package/dist/src/lib.d.ts.map +1 -0
- package/dist/src/lib.js +250 -0
- package/dist/src/lib.js.map +1 -0
- package/dist/src/linter.d.ts +3 -0
- package/dist/src/linter.d.ts.map +1 -0
- package/dist/src/linter.js +42 -0
- package/dist/src/linter.js.map +1 -0
- package/dist/src/namespace.d.ts +16 -0
- package/dist/src/namespace.d.ts.map +1 -0
- package/dist/src/namespace.js +106 -0
- package/dist/src/namespace.js.map +1 -0
- package/dist/src/operations.d.ts +36 -0
- package/dist/src/operations.d.ts.map +1 -0
- package/dist/src/operations.js +186 -0
- package/dist/src/operations.js.map +1 -0
- package/dist/src/resource.d.ts +81 -0
- package/dist/src/resource.d.ts.map +1 -0
- package/dist/src/resource.js +358 -0
- package/dist/src/resource.js.map +1 -0
- package/dist/src/rules/arm-resource-action-no-segment.d.ts +2 -0
- package/dist/src/rules/arm-resource-action-no-segment.d.ts.map +1 -0
- package/dist/src/rules/arm-resource-action-no-segment.js +31 -0
- package/dist/src/rules/arm-resource-action-no-segment.js.map +1 -0
- package/dist/src/rules/arm-resource-invalid-chars.d.ts +2 -0
- package/dist/src/rules/arm-resource-invalid-chars.d.ts.map +1 -0
- package/dist/src/rules/arm-resource-invalid-chars.js +61 -0
- package/dist/src/rules/arm-resource-invalid-chars.js.map +1 -0
- package/dist/src/rules/arm-resource-invalid-version-format.d.ts +2 -0
- package/dist/src/rules/arm-resource-invalid-version-format.d.ts.map +1 -0
- package/dist/src/rules/arm-resource-invalid-version-format.js +48 -0
- package/dist/src/rules/arm-resource-invalid-version-format.js.map +1 -0
- package/dist/src/rules/arm-resource-operations.d.ts +2 -0
- package/dist/src/rules/arm-resource-operations.d.ts.map +1 -0
- package/dist/src/rules/arm-resource-operations.js +70 -0
- package/dist/src/rules/arm-resource-operations.js.map +1 -0
- package/dist/src/rules/arm-resource-properties.d.ts +2 -0
- package/dist/src/rules/arm-resource-properties.d.ts.map +1 -0
- package/dist/src/rules/arm-resource-properties.js +55 -0
- package/dist/src/rules/arm-resource-properties.js.map +1 -0
- package/dist/src/rules/arm-resource-provisioning-state-rule.d.ts +2 -0
- package/dist/src/rules/arm-resource-provisioning-state-rule.d.ts.map +1 -0
- package/dist/src/rules/arm-resource-provisioning-state-rule.js +62 -0
- package/dist/src/rules/arm-resource-provisioning-state-rule.js.map +1 -0
- package/dist/src/rules/beyond-nesting-levels.d.ts +5 -0
- package/dist/src/rules/beyond-nesting-levels.d.ts.map +1 -0
- package/dist/src/rules/beyond-nesting-levels.js +37 -0
- package/dist/src/rules/beyond-nesting-levels.js.map +1 -0
- package/dist/src/rules/core-operations.d.ts +2 -0
- package/dist/src/rules/core-operations.d.ts.map +1 -0
- package/dist/src/rules/core-operations.js +181 -0
- package/dist/src/rules/core-operations.js.map +1 -0
- package/dist/src/rules/delete-operation.d.ts +5 -0
- package/dist/src/rules/delete-operation.d.ts.map +1 -0
- package/dist/src/rules/delete-operation.js +28 -0
- package/dist/src/rules/delete-operation.js.map +1 -0
- package/dist/src/rules/envelope-properties.d.ts +5 -0
- package/dist/src/rules/envelope-properties.d.ts.map +1 -0
- package/dist/src/rules/envelope-properties.js +62 -0
- package/dist/src/rules/envelope-properties.js.map +1 -0
- package/dist/src/rules/list-operation.d.ts +5 -0
- package/dist/src/rules/list-operation.d.ts.map +1 -0
- package/dist/src/rules/list-operation.js +35 -0
- package/dist/src/rules/list-operation.js.map +1 -0
- package/dist/src/rules/no-response-body.d.ts +5 -0
- package/dist/src/rules/no-response-body.d.ts.map +1 -0
- package/dist/src/rules/no-response-body.js +27 -0
- package/dist/src/rules/no-response-body.js.map +1 -0
- package/dist/src/rules/operations-interface-missing.d.ts +5 -0
- package/dist/src/rules/operations-interface-missing.d.ts.map +1 -0
- package/dist/src/rules/operations-interface-missing.js +37 -0
- package/dist/src/rules/operations-interface-missing.js.map +1 -0
- package/dist/src/rules/resource-name.d.ts +5 -0
- package/dist/src/rules/resource-name.d.ts.map +1 -0
- package/dist/src/rules/resource-name.js +47 -0
- package/dist/src/rules/resource-name.js.map +1 -0
- package/dist/src/rules/retry-after.d.ts +5 -0
- package/dist/src/rules/retry-after.d.ts.map +1 -0
- package/dist/src/rules/retry-after.js +31 -0
- package/dist/src/rules/retry-after.js.map +1 -0
- package/dist/src/rules/unsupported-types.d.ts +5 -0
- package/dist/src/rules/unsupported-types.d.ts.map +1 -0
- package/dist/src/rules/unsupported-types.js +39 -0
- package/dist/src/rules/unsupported-types.js.map +1 -0
- package/dist/src/rules/utils.d.ts +18 -0
- package/dist/src/rules/utils.d.ts.map +1 -0
- package/dist/src/rules/utils.js +77 -0
- package/dist/src/rules/utils.js.map +1 -0
- package/dist/src/testing/index.d.ts +3 -0
- package/dist/src/testing/index.d.ts.map +1 -0
- package/dist/src/testing/index.js +24 -0
- package/dist/src/testing/index.js.map +1 -0
- package/lib/arm.foundations.tsp +465 -0
- package/lib/arm.tsp +31 -0
- package/lib/decorators.tsp +87 -0
- package/lib/interfaces.tsp +287 -0
- package/lib/models.tsp +203 -0
- package/lib/operations.tsp +260 -0
- package/lib/parameters.tsp +126 -0
- package/lib/responses.tsp +47 -0
- package/package.json +85 -0
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
using TypeSpec.Http;
|
|
2
|
+
using TypeSpec.Rest;
|
|
3
|
+
using OpenAPI;
|
|
4
|
+
using Autorest;
|
|
5
|
+
using Azure.ResourceManager.Foundations;
|
|
6
|
+
|
|
7
|
+
namespace Azure.ResourceManager;
|
|
8
|
+
|
|
9
|
+
// OPERATION TEMPLATES
|
|
10
|
+
@autoRoute
|
|
11
|
+
@doc("List {name} resources by subscription ID", TResource)
|
|
12
|
+
@list(TResource)
|
|
13
|
+
@segmentOf(TResource)
|
|
14
|
+
@armResourceList(TResource)
|
|
15
|
+
@get
|
|
16
|
+
op ArmListBySubscription<TResource extends ArmResource>(
|
|
17
|
+
...SubscriptionScope<TResource>
|
|
18
|
+
): ArmResponse<ResourceListResult<TResource>> | ErrorResponse;
|
|
19
|
+
|
|
20
|
+
@get
|
|
21
|
+
@autoRoute
|
|
22
|
+
@list(TResource)
|
|
23
|
+
@segmentOf(TResource)
|
|
24
|
+
@armRenameListByOperation(TResource, TParentName, TParentFriendlyName) // This must come before @armResourceList!
|
|
25
|
+
@armResourceList(TResource)
|
|
26
|
+
op ArmResourceListByParent<
|
|
27
|
+
TResource extends ArmResource,
|
|
28
|
+
TBaseParameters = BaseParameters<TResource>,
|
|
29
|
+
TParentName = "",
|
|
30
|
+
TParentFriendlyName = ""
|
|
31
|
+
>(
|
|
32
|
+
...ResourceParentParameters<TResource, TBaseParameters>
|
|
33
|
+
): ArmResponse<ResourceListResult<TResource>> | ErrorResponse;
|
|
34
|
+
|
|
35
|
+
@get
|
|
36
|
+
@autoRoute
|
|
37
|
+
@list(TResource)
|
|
38
|
+
@segmentOf(TResource)
|
|
39
|
+
@armRenameListByOperation(TResource) // This must come before @armResourceList!
|
|
40
|
+
@armResourceList(TResource)
|
|
41
|
+
op ArmResourceListAtScope<
|
|
42
|
+
TResource extends ArmResource,
|
|
43
|
+
TBaseParameters = BaseParameters<TResource>
|
|
44
|
+
>(
|
|
45
|
+
...ResourceParentParameters<TResource, TBaseParameters>
|
|
46
|
+
): ArmResponse<ResourceListResult<TResource>> | ErrorResponse;
|
|
47
|
+
|
|
48
|
+
@autoRoute
|
|
49
|
+
@doc("Get a {name}", TResource)
|
|
50
|
+
@get
|
|
51
|
+
@armResourceRead(TResource)
|
|
52
|
+
op ArmResourceRead<TResource extends ArmResource, TBaseParameters = BaseParameters<TResource>>(
|
|
53
|
+
...ResourceInstanceParameters<TResource, TBaseParameters>
|
|
54
|
+
): ArmResponse<TResource> | ErrorResponse;
|
|
55
|
+
|
|
56
|
+
@autoRoute
|
|
57
|
+
@doc("Create a {name}", TResource)
|
|
58
|
+
@extension("x-ms-long-running-operation", true)
|
|
59
|
+
@extension(
|
|
60
|
+
"x-ms-long-running-operation-options",
|
|
61
|
+
{
|
|
62
|
+
`final-state-via`: "azure-async-operation",
|
|
63
|
+
}
|
|
64
|
+
)
|
|
65
|
+
@armResourceCreateOrUpdate(TResource)
|
|
66
|
+
@put
|
|
67
|
+
op ArmResourceCreateOrUpdateAsync<
|
|
68
|
+
TResource extends ArmResource,
|
|
69
|
+
TBaseParameters = BaseParameters<TResource>
|
|
70
|
+
>(
|
|
71
|
+
...ResourceInstanceParameters<TResource, TBaseParameters>,
|
|
72
|
+
|
|
73
|
+
@doc("Resource create parameters.")
|
|
74
|
+
@body
|
|
75
|
+
resource: TResource
|
|
76
|
+
): ArmResponse<TResource> | ArmCreatedResponse<TResource> | ErrorResponse;
|
|
77
|
+
|
|
78
|
+
@autoRoute
|
|
79
|
+
@doc("Create a {name}", TResource)
|
|
80
|
+
@armResourceCreateOrUpdate(TResource)
|
|
81
|
+
@put
|
|
82
|
+
op ArmResourceCreateOrUpdateSync<
|
|
83
|
+
TResource extends ArmResource,
|
|
84
|
+
TBaseParameters = BaseParameters<TResource>
|
|
85
|
+
>(
|
|
86
|
+
...ResourceInstanceParameters<TResource, TBaseParameters>,
|
|
87
|
+
|
|
88
|
+
@doc("Resource create parameters.")
|
|
89
|
+
@body
|
|
90
|
+
resource: TResource
|
|
91
|
+
): ArmResponse<TResource> | ErrorResponse;
|
|
92
|
+
|
|
93
|
+
alias ArmTagsPatchAsync<
|
|
94
|
+
TResource extends ArmResource,
|
|
95
|
+
TProperties extends object,
|
|
96
|
+
TBaseParameters = BaseParameters<TResource>
|
|
97
|
+
> = ArmCustomPatchAsync<TResource, TagsUpdateModel<TResource>, TBaseParameters>;
|
|
98
|
+
|
|
99
|
+
alias ArmResourcePatchAsync<
|
|
100
|
+
TResource extends ArmResource,
|
|
101
|
+
TProperties extends object,
|
|
102
|
+
TBaseParameters = BaseParameters<TResource>
|
|
103
|
+
> = ArmCustomPatchAsync<TResource, ResourceUpdateModel<TResource, TProperties>, TBaseParameters>;
|
|
104
|
+
|
|
105
|
+
@autoRoute
|
|
106
|
+
@doc("Update a {name}", TResource)
|
|
107
|
+
@extension("x-ms-long-running-operation", true)
|
|
108
|
+
@extension(
|
|
109
|
+
"x-ms-long-running-operation-options",
|
|
110
|
+
{
|
|
111
|
+
`final-state-via`: "azure-async-operation",
|
|
112
|
+
}
|
|
113
|
+
)
|
|
114
|
+
@armResourceUpdate(TResource)
|
|
115
|
+
@patch
|
|
116
|
+
op ArmCustomPatchAsync<
|
|
117
|
+
TResource extends ArmResource,
|
|
118
|
+
TPatchModel extends object = TagsUpdateModel<TResource>,
|
|
119
|
+
TBaseParameters = BaseParameters<TResource>
|
|
120
|
+
>(
|
|
121
|
+
...ResourceInstanceParameters<TResource, TBaseParameters>,
|
|
122
|
+
|
|
123
|
+
@doc("The resource properties to be updated.")
|
|
124
|
+
@body
|
|
125
|
+
properties: TPatchModel
|
|
126
|
+
): ArmResponse<TResource> | ArmAcceptedResponse<"Resource update request accepted."> | ErrorResponse;
|
|
127
|
+
|
|
128
|
+
alias ArmTagsPatchSync<
|
|
129
|
+
TResource extends ArmResource,
|
|
130
|
+
TBaseParameters = BaseParameters<TResource>
|
|
131
|
+
> = ArmCustomPatchSync<TResource, TagsUpdateModel<TResource>, TBaseParameters>;
|
|
132
|
+
|
|
133
|
+
alias ArmResourcePatchSync<
|
|
134
|
+
TResource extends ArmResource,
|
|
135
|
+
TProperties extends object,
|
|
136
|
+
TBaseParameters = BaseParameters<TResource>
|
|
137
|
+
> = ArmCustomPatchSync<TResource, ResourceUpdateModel<TResource, TProperties>, TBaseParameters>;
|
|
138
|
+
|
|
139
|
+
@autoRoute
|
|
140
|
+
@doc("Update a {name}", TResource)
|
|
141
|
+
@armResourceUpdate(TResource)
|
|
142
|
+
@patch
|
|
143
|
+
op ArmCustomPatchSync<
|
|
144
|
+
TResource extends ArmResource,
|
|
145
|
+
TPatchModel extends object = TagsUpdateModel<TResource>,
|
|
146
|
+
TBaseParameters = BaseParameters<TResource>
|
|
147
|
+
>(
|
|
148
|
+
...ResourceInstanceParameters<TResource, TBaseParameters>,
|
|
149
|
+
|
|
150
|
+
@doc("The resource properties to be updated.")
|
|
151
|
+
@body
|
|
152
|
+
properties: TPatchModel
|
|
153
|
+
): ArmResponse<TResource> | ErrorResponse;
|
|
154
|
+
|
|
155
|
+
@autoRoute
|
|
156
|
+
@doc("Delete a {name}", TResource)
|
|
157
|
+
@extension("x-ms-long-running-operation", true)
|
|
158
|
+
@extension(
|
|
159
|
+
"x-ms-long-running-operation-options",
|
|
160
|
+
{
|
|
161
|
+
`final-state-via`: "azure-async-operation",
|
|
162
|
+
}
|
|
163
|
+
)
|
|
164
|
+
@armResourceDelete(TResource)
|
|
165
|
+
@delete
|
|
166
|
+
op ArmResourceDeleteAsync<
|
|
167
|
+
TResource extends ArmResource,
|
|
168
|
+
TBaseParameters = BaseParameters<TResource>
|
|
169
|
+
>(...ResourceInstanceParameters<TResource, TBaseParameters>):
|
|
170
|
+
| ArmDeletedResponse
|
|
171
|
+
| ArmDeleteAcceptedResponse
|
|
172
|
+
| ArmDeletedNoContentResponse
|
|
173
|
+
| ErrorResponse;
|
|
174
|
+
|
|
175
|
+
@autoRoute
|
|
176
|
+
@doc("Delete a {name}", TResource)
|
|
177
|
+
@armResourceDelete(TResource)
|
|
178
|
+
@delete
|
|
179
|
+
op ArmResourceDeleteSync<
|
|
180
|
+
TResource extends ArmResource,
|
|
181
|
+
TBaseParameters = BaseParameters<TResource>
|
|
182
|
+
>(
|
|
183
|
+
...ResourceInstanceParameters<TResource, TBaseParameters>
|
|
184
|
+
): ArmDeletedResponse | ArmDeletedNoContentResponse | ErrorResponse;
|
|
185
|
+
|
|
186
|
+
@autoRoute
|
|
187
|
+
@extension("x-ms-long-running-operation", true)
|
|
188
|
+
@extension(
|
|
189
|
+
"x-ms-long-running-operation-options",
|
|
190
|
+
{
|
|
191
|
+
`final-state-via`: "azure-async-operation",
|
|
192
|
+
}
|
|
193
|
+
)
|
|
194
|
+
@armResourceAction(TResource)
|
|
195
|
+
@post
|
|
196
|
+
op ArmResourceActionAsync<
|
|
197
|
+
TResource extends ArmResource,
|
|
198
|
+
TRequest extends object,
|
|
199
|
+
TResponse extends object,
|
|
200
|
+
TBaseParameters = BaseParameters<TResource>
|
|
201
|
+
>(
|
|
202
|
+
...ResourceInstanceParameters<TResource, TBaseParameters>,
|
|
203
|
+
|
|
204
|
+
@doc("The content of the action request")
|
|
205
|
+
@body
|
|
206
|
+
body: TRequest
|
|
207
|
+
): ArmResponse<TResponse> | ArmAcceptedResponse | ErrorResponse;
|
|
208
|
+
|
|
209
|
+
@autoRoute
|
|
210
|
+
@armResourceAction(TResource)
|
|
211
|
+
@post
|
|
212
|
+
op ArmResourceActionSync<
|
|
213
|
+
TResource extends ArmResource,
|
|
214
|
+
TRequest extends object,
|
|
215
|
+
TResponse extends object,
|
|
216
|
+
TBaseParameters = BaseParameters<TResource>
|
|
217
|
+
>(
|
|
218
|
+
...ResourceInstanceParameters<TResource, TBaseParameters>,
|
|
219
|
+
|
|
220
|
+
@doc("The content of the action request")
|
|
221
|
+
@body
|
|
222
|
+
body: TRequest
|
|
223
|
+
): ArmResponse<TResponse> | ErrorResponse;
|
|
224
|
+
|
|
225
|
+
@autoRoute
|
|
226
|
+
@extension("x-ms-long-running-operation", true)
|
|
227
|
+
@extension(
|
|
228
|
+
"x-ms-long-running-operation-options",
|
|
229
|
+
{
|
|
230
|
+
`final-state-via`: "azure-async-operation",
|
|
231
|
+
}
|
|
232
|
+
)
|
|
233
|
+
@armResourceAction(TResource)
|
|
234
|
+
@post
|
|
235
|
+
op ArmResourceActionNoContentAsync<
|
|
236
|
+
TResource extends ArmResource,
|
|
237
|
+
TRequest extends object,
|
|
238
|
+
TBaseParameters = BaseParameters<TResource>
|
|
239
|
+
>(
|
|
240
|
+
...ResourceInstanceParameters<TResource, TBaseParameters>,
|
|
241
|
+
|
|
242
|
+
@doc("The content of the action request")
|
|
243
|
+
@body
|
|
244
|
+
body: TRequest
|
|
245
|
+
): ArmNoContentResponse<"Action completed successfully."> | ArmAcceptedResponse | ErrorResponse;
|
|
246
|
+
|
|
247
|
+
@autoRoute
|
|
248
|
+
@armResourceAction(TResource)
|
|
249
|
+
@post
|
|
250
|
+
op ArmResourceActionNoContentSync<
|
|
251
|
+
TResource extends ArmResource,
|
|
252
|
+
TRequest extends object,
|
|
253
|
+
TBaseParameters = BaseParameters<TResource>
|
|
254
|
+
>(
|
|
255
|
+
...ResourceInstanceParameters<TResource, TBaseParameters>,
|
|
256
|
+
|
|
257
|
+
@doc("The content of the action request")
|
|
258
|
+
@body
|
|
259
|
+
body: TRequest
|
|
260
|
+
): ArmNoContentResponse<"Action completed successfully."> | ErrorResponse;
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
using TypeSpec.Http;
|
|
2
|
+
using TypeSpec.Rest;
|
|
3
|
+
using OpenAPI;
|
|
4
|
+
using Azure.ResourceManager.Foundations;
|
|
5
|
+
|
|
6
|
+
namespace Azure.ResourceManager;
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* The default api-version parameter type.
|
|
10
|
+
*/
|
|
11
|
+
@doc("The default api-version parameter type.")
|
|
12
|
+
model ApiVersionParameter {
|
|
13
|
+
@query("api-version")
|
|
14
|
+
@minLength(1)
|
|
15
|
+
@doc("The API version to use for this operation.")
|
|
16
|
+
@armCommonParameter("ApiVersionParameter")
|
|
17
|
+
@resourceParameterBaseFor(
|
|
18
|
+
[
|
|
19
|
+
ResourceHome.ResourceGroup,
|
|
20
|
+
ResourceHome.Subscription,
|
|
21
|
+
ResourceHome.Location,
|
|
22
|
+
ResourceHome.Tenant,
|
|
23
|
+
ResourceHome.Extension
|
|
24
|
+
]
|
|
25
|
+
)
|
|
26
|
+
apiVersion: string;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* The default subscriptionId parameter type.
|
|
31
|
+
*/
|
|
32
|
+
@doc("The default subscriptionId parameter type.")
|
|
33
|
+
model SubscriptionIdParameter {
|
|
34
|
+
@path
|
|
35
|
+
@minLength(1)
|
|
36
|
+
@segment("subscriptions")
|
|
37
|
+
@doc("The ID of the target subscription.")
|
|
38
|
+
@armCommonParameter("SubscriptionIdParameter")
|
|
39
|
+
@resourceParameterBaseFor(
|
|
40
|
+
[ResourceHome.ResourceGroup, ResourceHome.Subscription, ResourceHome.Location]
|
|
41
|
+
)
|
|
42
|
+
subscriptionId: string;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* The default subscriptionId parameter type.
|
|
47
|
+
*/
|
|
48
|
+
@doc("The default subscriptionId parameter type.")
|
|
49
|
+
model LocationParameter {
|
|
50
|
+
@path
|
|
51
|
+
@minLength(1)
|
|
52
|
+
@segment("locations")
|
|
53
|
+
@doc("The location name.")
|
|
54
|
+
@resourceParameterBaseFor([ResourceHome.Location])
|
|
55
|
+
location: string;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* The default resource group parameter type.
|
|
60
|
+
*/
|
|
61
|
+
@doc("The default resource group parameter type.")
|
|
62
|
+
model ResourceGroupParameter {
|
|
63
|
+
@path
|
|
64
|
+
@minLength(1)
|
|
65
|
+
@maxLength(90)
|
|
66
|
+
@segment("resourceGroups")
|
|
67
|
+
@pattern("^[-\\w\\._\\(\\)]+$")
|
|
68
|
+
@doc("The name of the resource group. The name is case insensitive.")
|
|
69
|
+
@armCommonParameter("ResourceGroupNameParameter")
|
|
70
|
+
@resourceParameterBaseFor([ResourceHome.ResourceGroup])
|
|
71
|
+
resourceGroupName: string;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* The default resourceUri parameter type.
|
|
76
|
+
*/
|
|
77
|
+
@doc("The default resourceUri parameter type.")
|
|
78
|
+
model ResourceUriParameter {
|
|
79
|
+
@path
|
|
80
|
+
@doc("The fully qualified Azure Resource manager identifier of the resource.")
|
|
81
|
+
@extension("x-ms-skip-url-encoding", true)
|
|
82
|
+
@resourceParameterBaseFor([ResourceHome.Extension])
|
|
83
|
+
resourceUri: string;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* The dynamic parameters of a resource instance - pass in the proper base type to indicate
|
|
88
|
+
* where the resource is based. The default is in a resource group
|
|
89
|
+
*/
|
|
90
|
+
model ResourceInstanceParameters<
|
|
91
|
+
TResource extends ArmResource,
|
|
92
|
+
TBaseParameters = BaseParameters<TResource>
|
|
93
|
+
> {
|
|
94
|
+
...TBaseParameters;
|
|
95
|
+
...ProviderNamespace<TResource>;
|
|
96
|
+
...KeysOf<TResource>;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* The dynamic parameters of a list call for a resource instance - pass in the proper base type to indicate
|
|
101
|
+
* where the list should take place. The default is in a resource group
|
|
102
|
+
*/
|
|
103
|
+
model ResourceParentParameters<
|
|
104
|
+
TResource extends ArmResource,
|
|
105
|
+
TBaseParameters = BaseParameters<TResource>
|
|
106
|
+
> {
|
|
107
|
+
...TBaseParameters;
|
|
108
|
+
...ProviderNamespace<TResource>;
|
|
109
|
+
...ParentKeysOf<TResource>;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* The dynamic parameters of a list call for an extension resource instance.
|
|
114
|
+
*/
|
|
115
|
+
alias ExtensionResourceInstanceParameters<TResource extends ArmResource> = ResourceInstanceParameters<
|
|
116
|
+
TResource,
|
|
117
|
+
ExtensionBaseParameters
|
|
118
|
+
>;
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* The dynamic parameters of a list call for a tenant resource instance.
|
|
122
|
+
*/
|
|
123
|
+
alias TenantInstanceParameters<TResource extends ArmResource> = ResourceInstanceParameters<
|
|
124
|
+
TResource,
|
|
125
|
+
TenantBaseParameters
|
|
126
|
+
>;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
using TypeSpec.Http;
|
|
2
|
+
using TypeSpec.Rest;
|
|
3
|
+
using OpenAPI;
|
|
4
|
+
using Azure.ResourceManager.Foundations;
|
|
5
|
+
|
|
6
|
+
namespace Azure.ResourceManager;
|
|
7
|
+
|
|
8
|
+
@doc("ARM operation completed successfully.")
|
|
9
|
+
model ArmResponse<T> {
|
|
10
|
+
...OkResponse;
|
|
11
|
+
...Body<T>;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
@doc("ARM create operation completed successfully.")
|
|
15
|
+
model ArmCreatedResponse<T> {
|
|
16
|
+
...CreatedResponse;
|
|
17
|
+
...Azure.Core.Foundations.RetryAfterHeader;
|
|
18
|
+
...Body<T>;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
@doc("Resource deleted successfully.")
|
|
22
|
+
model ArmDeletedResponse {
|
|
23
|
+
...OkResponse;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
model ArmDeleteAcceptedResponse is ArmAcceptedResponse<"Resource deletion accepted.">;
|
|
27
|
+
|
|
28
|
+
@doc(TMessage)
|
|
29
|
+
model ArmAcceptedResponse<TMessage extends string = "Resource operation accepted."> {
|
|
30
|
+
...AcceptedResponse;
|
|
31
|
+
...Azure.Core.Foundations.RetryAfterHeader;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
model ArmDeletedNoContentResponse is ArmNoContentResponse<"Resource deleted successfully.">;
|
|
35
|
+
|
|
36
|
+
@doc(TMessage)
|
|
37
|
+
model ArmNoContentResponse<TMessage extends string = "Operation completed successfully."> {
|
|
38
|
+
...NoContentResponse;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
@error
|
|
42
|
+
@armCommonDefinition
|
|
43
|
+
@doc("Common error response for all Azure Resource Manager APIs to return error details for failed operations.")
|
|
44
|
+
model ErrorResponse {
|
|
45
|
+
@doc("The error object.")
|
|
46
|
+
error?: ErrorDetail;
|
|
47
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@azure-tools/typespec-azure-resource-manager",
|
|
3
|
+
"version": "0.27.0",
|
|
4
|
+
"author": "Microsoft Corporation",
|
|
5
|
+
"description": "TypeSpec Azure Resource Manager library",
|
|
6
|
+
"homepage": "https://azure.github.io/typespec-azure",
|
|
7
|
+
"readme": "https://github.com/Microsoft/typespec/blob/master/README.md",
|
|
8
|
+
"license": "MIT",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/Microsoft/typespec.git"
|
|
12
|
+
},
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/Microsot/typespec/issues"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"typespec"
|
|
18
|
+
],
|
|
19
|
+
"main": "dist/src/index.js",
|
|
20
|
+
"tspMain": "lib/arm.tsp",
|
|
21
|
+
"exports": {
|
|
22
|
+
".": "./dist/src/index.js",
|
|
23
|
+
"./testing": "./dist/src/testing/index.js"
|
|
24
|
+
},
|
|
25
|
+
"typesVersions": {
|
|
26
|
+
"*": {
|
|
27
|
+
"*": [
|
|
28
|
+
"./dist/src/index.d.ts"
|
|
29
|
+
],
|
|
30
|
+
"testing": [
|
|
31
|
+
"./dist/src/testing/index.d.ts"
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"type": "module",
|
|
36
|
+
"engines": {
|
|
37
|
+
"node": ">=16.0.0"
|
|
38
|
+
},
|
|
39
|
+
"files": [
|
|
40
|
+
"lib/*.tsp",
|
|
41
|
+
"dist/**",
|
|
42
|
+
"!dist/test/**"
|
|
43
|
+
],
|
|
44
|
+
"peerDependencies": {
|
|
45
|
+
"@typespec/compiler": "~0.41.0",
|
|
46
|
+
"@azure-tools/typespec-azure-core": "~0.27.0",
|
|
47
|
+
"@azure-tools/typespec-autorest": "~0.27.0",
|
|
48
|
+
"@typespec/openapi": "~0.41.0",
|
|
49
|
+
"@typespec/rest": "~0.41.0",
|
|
50
|
+
"@typespec/http": "~0.41.0",
|
|
51
|
+
"@typespec/versioning": "~0.41.0"
|
|
52
|
+
},
|
|
53
|
+
"dependencies": {
|
|
54
|
+
"@typespec/lint": "~0.41.0"
|
|
55
|
+
},
|
|
56
|
+
"devDependencies": {
|
|
57
|
+
"@typespec/compiler": "~0.41.0",
|
|
58
|
+
"@typespec/openapi": "~0.41.0",
|
|
59
|
+
"@azure-tools/typespec-azure-core": "~0.27.0",
|
|
60
|
+
"@azure-tools/typespec-autorest": "~0.27.0",
|
|
61
|
+
"@typespec/rest": "~0.41.0",
|
|
62
|
+
"@typespec/http": "~0.41.0",
|
|
63
|
+
"@typespec/versioning": "~0.41.0",
|
|
64
|
+
"@types/mocha": "~10.0.0",
|
|
65
|
+
"@types/node": "~18.11.9",
|
|
66
|
+
"@typespec/eslint-config-typespec": "~0.6.0",
|
|
67
|
+
"@typespec/library-linter": "~0.41.0",
|
|
68
|
+
"@typespec/eslint-plugin": "~0.41.0",
|
|
69
|
+
"eslint": "^8.12.0",
|
|
70
|
+
"mocha": "~10.1.0",
|
|
71
|
+
"c8": "~7.12.0",
|
|
72
|
+
"rimraf": "~3.0.2",
|
|
73
|
+
"typescript": "~4.9.3"
|
|
74
|
+
},
|
|
75
|
+
"scripts": {
|
|
76
|
+
"clean": "rimraf ./dist ./temp",
|
|
77
|
+
"build": "tsc -p . && npm run lint-typespec-library",
|
|
78
|
+
"watch": "tsc -p . --watch",
|
|
79
|
+
"lint-typespec-library": "tsp compile . --warn-as-error --import @typespec/library-linter --no-emit",
|
|
80
|
+
"test": "mocha",
|
|
81
|
+
"test-official": "c8 mocha --forbid-only",
|
|
82
|
+
"lint": "eslint . --ext .ts --max-warnings=0",
|
|
83
|
+
"lint:fix": "eslint . --fix --ext .ts"
|
|
84
|
+
}
|
|
85
|
+
}
|