@azure-tools/typespec-azure-resource-manager 0.43.0-dev.9 → 0.44.0-dev.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.
Files changed (51) hide show
  1. package/README.md +3 -3
  2. package/dist/src/common-types.d.ts +3 -2
  3. package/dist/src/common-types.d.ts.map +1 -1
  4. package/dist/src/common-types.js +48 -6
  5. package/dist/src/common-types.js.map +1 -1
  6. package/dist/src/commontypes.private.decorators.d.ts +44 -0
  7. package/dist/src/commontypes.private.decorators.d.ts.map +1 -0
  8. package/dist/src/commontypes.private.decorators.js +77 -0
  9. package/dist/src/commontypes.private.decorators.js.map +1 -0
  10. package/dist/src/lib.d.ts +17 -2
  11. package/dist/src/lib.d.ts.map +1 -1
  12. package/dist/src/lib.js +6 -0
  13. package/dist/src/lib.js.map +1 -1
  14. package/dist/src/namespace.d.ts.map +1 -1
  15. package/dist/src/namespace.js +35 -0
  16. package/dist/src/namespace.js.map +1 -1
  17. package/dist/src/private.decorators.d.ts +1 -42
  18. package/dist/src/private.decorators.d.ts.map +1 -1
  19. package/dist/src/private.decorators.js +0 -74
  20. package/dist/src/private.decorators.js.map +1 -1
  21. package/dist/src/rules/arm-common-types-version.d.ts.map +1 -1
  22. package/dist/src/rules/arm-common-types-version.js +2 -3
  23. package/dist/src/rules/arm-common-types-version.js.map +1 -1
  24. package/dist/src/rules/core-operations.js +1 -1
  25. package/dist/src/rules/core-operations.js.map +1 -1
  26. package/lib/Legacy/arm.legacy.tsp +1 -0
  27. package/lib/Legacy/managed-identity.tsp +74 -0
  28. package/lib/arm.tsp +3 -7
  29. package/lib/backcompat.tsp +27 -0
  30. package/lib/common-types/common-types.tsp +11 -1
  31. package/lib/common-types/commontypes.private.decorators.tsp +43 -0
  32. package/lib/common-types/customer-managed-keys-ref.tsp +27 -0
  33. package/lib/common-types/customer-managed-keys.tsp +37 -46
  34. package/lib/common-types/extended-location-ref.tsp +1 -0
  35. package/lib/common-types/extended-location.tsp +15 -16
  36. package/lib/common-types/internal.tsp +24 -0
  37. package/lib/common-types/managed-identity-ref.tsp +79 -0
  38. package/lib/common-types/managed-identity.tsp +50 -87
  39. package/lib/common-types/private-links-ref.tsp +159 -0
  40. package/lib/common-types/private-links.tsp +55 -101
  41. package/lib/common-types/types-ref.tsp +414 -0
  42. package/lib/common-types/types.tsp +323 -201
  43. package/lib/decorators.tsp +1 -1
  44. package/lib/{arm.foundations.tsp → foundations/arm.foundations.tsp} +28 -22
  45. package/lib/foundations/backcompat.tsp +39 -0
  46. package/lib/{common-types/backcompat.tsp → foundations/deprecation.tsp} +11 -0
  47. package/lib/models.tsp +18 -3
  48. package/lib/parameters.tsp +14 -67
  49. package/lib/private.decorators.tsp +0 -38
  50. package/lib/responses.tsp +1 -13
  51. package/package.json +14 -14
@@ -1,259 +1,220 @@
1
1
  using TypeSpec.Http;
2
+ using TypeSpec.Rest;
2
3
  using TypeSpec.OpenAPI;
4
+ using TypeSpec.Versioning;
3
5
  using Azure.Core;
4
- using Azure.ResourceManager.Private;
5
6
 
6
- namespace Azure.ResourceManager.Foundations;
7
+ namespace Azure.ResourceManager.CommonTypes;
7
8
 
8
- /**
9
- * Base model that defines common properties for all Azure Resource Manager resources.
10
- */
11
- @doc("Common properties for all Azure Resource Manager resources.")
9
+ /** Common fields that are returned in the response for all Azure Resource Manager resources */
10
+ @extension("x-ms-azure-resource", true)
12
11
  model Resource {
13
- @doc("Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}")
12
+ /** Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} */
13
+ @typeChangedFrom(Versions.v4, string)
14
14
  @visibility("read")
15
- id?: string;
15
+ id?: armResourceIdentifier;
16
16
 
17
- @doc("The name of the resource")
17
+ /** The name of the resource */
18
18
  @visibility("read")
19
19
  name?: string;
20
20
 
21
- @doc("The type of the resource. E.g. \"Microsoft.Compute/virtualMachines\" or \"Microsoft.Storage/storageAccounts\"")
21
+ /** The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" */
22
22
  @visibility("read")
23
23
  type?: string;
24
24
 
25
- @doc("Azure Resource Manager metadata containing createdBy and modifiedBy information.")
25
+ /** Azure Resource Manager metadata containing createdBy and modifiedBy information. */
26
26
  @visibility("read")
27
27
  systemData?: SystemData;
28
28
  }
29
29
 
30
30
  /** The resource model definition for an Azure Resource Manager resource with an etag. */
31
- @armCommonDefinition("TrackedResource", Azure.ResourceManager.CommonTypes.Versions.v3)
32
- @armCommonDefinition("TrackedResource", Azure.ResourceManager.CommonTypes.Versions.v4)
33
- @armCommonDefinition("TrackedResource", Azure.ResourceManager.CommonTypes.Versions.v5)
34
31
  model AzureEntityResource extends Resource {
35
32
  /** Resource Etag. */
36
33
  @visibility("read")
37
- etag: string;
34
+ etag?: string;
38
35
  }
39
36
 
40
37
  /**
41
- * Standard type definition for Azure Resource Manager Tags property.
42
- *
43
- * It is included in the TrackedResource template definition.
38
+ * The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'
44
39
  */
45
- @doc("The Azure Resource Manager Resource tags.")
46
- model ArmTagsProperty {
47
- @doc("Resource tags.")
40
+ model TrackedResource extends Resource {
41
+ /** Resource tags. */
48
42
  tags?: Record<string>;
49
- }
50
43
 
51
- /**
52
- * The base tracked resource.
53
- */
54
- @armCommonDefinition("TrackedResource", Azure.ResourceManager.CommonTypes.Versions.v3)
55
- @armCommonDefinition("TrackedResource", Azure.ResourceManager.CommonTypes.Versions.v4)
56
- @armCommonDefinition("TrackedResource", Azure.ResourceManager.CommonTypes.Versions.v5)
57
- @doc("The resource model definition for an Azure Resource Manager tracked top level resource which has 'tags' and a 'location'")
58
- model TrackedResource extends Resource {
59
- @doc("The geo-location where the resource lives")
44
+ /** The geo-location where the resource lives */
60
45
  @visibility("read", "create")
61
46
  location: string;
62
-
63
- ...ArmTagsProperty;
64
47
  }
65
48
 
66
49
  /**
67
- * The base proxy resource.
50
+ * The resource model definition for a Azure Resource Manager proxy resource. It will not have tags and a location
68
51
  */
69
- @doc("The base proxy resource.")
70
- @armCommonDefinition("ProxyResource", Azure.ResourceManager.CommonTypes.Versions.v3)
71
- @armCommonDefinition("ProxyResource", Azure.ResourceManager.CommonTypes.Versions.v4)
72
- @armCommonDefinition("ProxyResource", Azure.ResourceManager.CommonTypes.Versions.v5)
73
52
  model ProxyResource extends Resource {}
74
53
 
75
54
  /**
76
55
  * The base extension resource.
77
56
  */
78
57
  // Note that ProxyResource is the base definition for both kinds of resources
79
- @doc("The base extension resource.")
80
- @armCommonDefinition("ProxyResource", Azure.ResourceManager.CommonTypes.Versions.v3)
81
- @armCommonDefinition("ProxyResource", Azure.ResourceManager.CommonTypes.Versions.v4)
82
- @armCommonDefinition("ProxyResource", Azure.ResourceManager.CommonTypes.Versions.v5)
83
58
  model ExtensionResource extends Resource {}
84
59
 
85
60
  /**
86
- * The SKU (Stock Keeping Unit) assigned to this resource.
61
+ * The resource model definition containing the full set of allowed properties for a resource. Except properties bag, there cannot be a top level property outside of this set.
62
+ */
63
+ @extension("x-ms-azure-resource", true)
64
+ model ResourceModelWithAllowedPropertySet extends TrackedResource {
65
+ /** The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another Azure resource.
66
+ * If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource. */
67
+ managedBy?: string;
68
+
69
+ /** Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type.
70
+ * If supported, the resource provider must validate and persist this value. */
71
+ @pattern("^[-\\w\\._,\\(\\)]+$")
72
+ @visibility("read", "create")
73
+ kind?: string;
74
+
75
+ /** The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention.
76
+ * Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19),
77
+ * If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. */
78
+ eTag?: string;
79
+
80
+ identity?: Identity;
81
+ sku?: Sku;
82
+ plan?: Plan;
83
+ }
84
+
85
+ /**
86
+ * The resource model definition representing SKU
87
87
  */
88
- @doc("The SKU (Stock Keeping Unit) assigned to this resource.")
89
- @armCommonDefinition("Sku", Azure.ResourceManager.CommonTypes.Versions.v3)
90
- @armCommonDefinition("Sku", Azure.ResourceManager.CommonTypes.Versions.v4)
91
- @armCommonDefinition("Sku", Azure.ResourceManager.CommonTypes.Versions.v5)
92
88
  model Sku {
93
- @doc("The name of the SKU, usually a combination of letters and numbers, for example, 'P3'")
89
+ /** The name of the SKU. Ex - P3. It is typically a letter+number code */
94
90
  name: string;
95
91
 
96
- @doc("This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT.")
92
+ /** This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT. */
97
93
  tier?: SkuTier;
98
94
 
99
- @doc("The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code.")
95
+ /** The SKU size. When the name field is the combination of tier and some other value, this would be the standalone code. */
100
96
  size?: string;
101
97
 
102
- @doc("If the service has different generations of hardware, for the same SKU, then that can be captured here.")
98
+ /** If the service has different generations of hardware, for the same SKU, then that can be captured here. */
103
99
  family?: string;
104
100
 
105
- @doc("If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted.")
101
+ /** If the SKU supports scale out/in then the capacity integer should be included. If scale out/in is not possible for the resource this may be omitted. */
106
102
  capacity?: int32;
107
103
  }
108
104
 
109
105
  /**
110
- * Available service tiers for the SKU.
106
+ * This field is required to be implemented by the Resource Provider if the service has more than one tier, but is not required on a PUT.
111
107
  */
112
- @doc("Available service tiers for the SKU.")
113
- enum SkuTier {
114
- @doc("The Free service tier.")
115
- Free,
108
+ union SkuTier {
109
+ /** The Free service tier. */
110
+ Free: "Free",
116
111
 
117
- @doc("The Basic service tier.")
118
- Basic,
112
+ /** The Basic service tier. */
113
+ Basic: "Basic",
119
114
 
120
- @doc("The Standard service tier.")
121
- Standard,
115
+ /** The Standard service tier. */
116
+ Standard: "Standard",
122
117
 
123
- @doc("The Premium service tier.")
124
- Premium,
118
+ /** The Premium service tier. */
119
+ Premium: "Premium",
125
120
  }
126
121
 
127
122
  /**
128
123
  * A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results.
129
124
  */
130
- @armCommonDefinition("OperationListResult", Azure.ResourceManager.CommonTypes.Versions.v3)
131
- @armCommonDefinition("OperationListResult", Azure.ResourceManager.CommonTypes.Versions.v4)
132
- @armCommonDefinition("OperationListResult", Azure.ResourceManager.CommonTypes.Versions.v5)
133
- @doc("""
134
- A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results.
135
- """)
125
+ @friendlyName("OperationListResult")
136
126
  model OperationListResult is Azure.Core.Page<Operation>;
137
127
 
138
128
  /**
139
129
  * Details of a REST API operation, returned from the Resource Provider Operations API
140
130
  */
141
- @armCommonDefinition("Operation", Azure.ResourceManager.CommonTypes.Versions.v3)
142
- @armCommonDefinition("Operation", Azure.ResourceManager.CommonTypes.Versions.v4)
143
- @armCommonDefinition("Operation", Azure.ResourceManager.CommonTypes.Versions.v5)
144
- @doc("Details of a REST API operation, returned from the Resource Provider Operations API")
145
131
  model Operation {
146
- @doc("""
147
- The name of the operation, as per Resource-Based Access Control (RBAC). Examples: "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action"
148
- """)
132
+ /**
133
+ The name of the operation, as per Resource-Based Access Control (RBAC). Examples: "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action"
134
+ */
149
135
  @visibility("read")
150
136
  name?: string;
151
137
 
152
- @doc("""
153
- Whether the operation applies to data-plane. This is "true" for data-plane operations and "false" for Azure Resource Manager/control-plane operations.
154
- """)
138
+ /**
139
+ Whether the operation applies to data-plane. This is "true" for data-plane operations and "false" for Azure Resource Manager/control-plane operations.
140
+ */
155
141
  @visibility("read")
156
142
  isDataAction?: boolean;
157
143
 
158
- @doc("Localized display information for this particular operation.")
144
+ /** Localized display information for this particular operation. */
159
145
  display?: OperationDisplay;
160
146
 
161
- @doc("""
162
- The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is "user,system"
163
- """)
147
+ /**
148
+ The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is "user,system"
149
+ */
164
150
  @visibility("read")
165
151
  origin?: Origin;
166
152
 
167
- @doc("""
168
- Extensible enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs.
169
- """)
153
+ /**
154
+ Extensible enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs.
155
+ */
170
156
  actionType?: ActionType;
171
157
  }
172
158
 
173
159
  /**
174
160
  * Localized display information for and operation.
175
161
  */
176
- @armCommonDefinition("OperationDisplay", Azure.ResourceManager.CommonTypes.Versions.v3)
177
- @armCommonDefinition("OperationDisplay", Azure.ResourceManager.CommonTypes.Versions.v4)
178
- @armCommonDefinition("OperationDisplay", Azure.ResourceManager.CommonTypes.Versions.v5)
179
- @doc("Localized display information for and operation.")
180
162
  model OperationDisplay {
181
- @doc("""
163
+ /**
182
164
  The localized friendly form of the resource provider name, e.g. "Microsoft Monitoring Insights" or "Microsoft Compute".
183
- """)
165
+ */
184
166
  provider?: string;
185
167
 
186
- @doc("""
187
- The localized friendly name of the resource type related to this operation. E.g. "Virtual Machines" or "Job Schedule Collections".
188
- """)
168
+ /**
169
+ The localized friendly name of the resource type related to this operation. E.g. "Virtual Machines" or "Job Schedule Collections".
170
+ */
189
171
  resource?: string;
190
172
 
191
- @doc("""
192
- The concise, localized friendly name for the operation; suitable for dropdowns. E.g. "Create or Update Virtual Machine", "Restart Virtual Machine".
193
- """)
173
+ /**
174
+ The concise, localized friendly name for the operation; suitable for dropdowns. E.g. "Create or Update Virtual Machine", "Restart Virtual Machine".
175
+ */
194
176
  operation?: string;
195
177
 
196
- @doc("The short, localized friendly description of the operation; suitable for tool tips and detailed views.")
178
+ /** The short, localized friendly description of the operation; suitable for tool tips and detailed views. */
197
179
  description?: string;
198
180
  }
199
181
 
200
182
  /**
201
183
  * The current status of an async operation.
202
184
  */
203
- @armCommonDefinition("OperationStatusResult", Azure.ResourceManager.CommonTypes.Versions.v3)
204
- @armCommonDefinition("OperationStatusResult", Azure.ResourceManager.CommonTypes.Versions.v4)
205
- @armCommonDefinition("OperationStatusResult", Azure.ResourceManager.CommonTypes.Versions.v5)
206
- @doc("The current status of an async operation.")
207
185
  model OperationStatusResult {
208
- @doc("Fully qualified ID for the async operation.")
186
+ /** Fully qualified ID for the async operation. */
209
187
  id?: string;
210
188
 
211
- @doc("Name of the async operation.")
189
+ /** Name of the async operation. */
212
190
  name?: string;
213
191
 
214
- @doc("Operation status.")
192
+ /** Operation status. */
215
193
  status: string;
216
194
 
217
- @doc("Percent of the operation that is complete.")
195
+ /** Percent of the operation that is complete. */
218
196
  @minValue(0)
219
197
  @maxValue(100)
220
198
  percentComplete?: float64;
221
199
 
222
- @doc("The start time of the operation.")
200
+ /** The start time of the operation. */
223
201
  startTime?: utcDateTime;
224
202
 
225
- @doc("The end time of the operation.")
203
+ /** The end time of the operation. */
226
204
  endTime?: utcDateTime;
227
205
 
228
- @doc("The operations list.")
229
- operations: OperationStatusResult[];
206
+ /** The operations list. */
207
+ operations?: OperationStatusResult[];
230
208
 
231
- @doc("If present, details of the operation error.")
209
+ /** If present, details of the operation error. */
232
210
  error?: ErrorDetail;
233
211
  }
234
212
 
235
- /**
236
- * The default operationId parameter type.
237
- */
238
- @doc("The default operationId parameter type.")
239
- model OperationIdParameter {
240
- @path
241
- @minLength(1)
242
- @doc("The ID of an ongoing async operation.")
243
- @armCommonParameter("OperationIdParameter", Azure.ResourceManager.CommonTypes.Versions.v3)
244
- @armCommonParameter("OperationIdParameter", Azure.ResourceManager.CommonTypes.Versions.v4)
245
- @armCommonParameter("OperationIdParameter", Azure.ResourceManager.CommonTypes.Versions.v5)
246
- operationId: string;
247
- }
248
-
249
213
  /**
250
214
  * Extensible enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs.
251
215
  */
252
- @doc("""
253
- Extensible enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs.
254
- """)
255
216
  union ActionType {
256
- @doc("Actions are for internal-only APIs.")
217
+ /** Actions are for internal-only APIs. */
257
218
  Internal: "Internal",
258
219
 
259
220
  string,
@@ -262,17 +223,14 @@ union ActionType {
262
223
  /**
263
224
  * The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is "user,system"
264
225
  */
265
- @doc("""
266
- The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is "user,system"
267
- """)
268
226
  union Origin {
269
- @doc("Indicates the operation is initiated by a user.")
227
+ /** Indicates the operation is initiated by a user. */
270
228
  user: "user",
271
229
 
272
- @doc("Indicates the operation is initiated by a system.")
230
+ /** Indicates the operation is initiated by a system. */
273
231
  system: "system",
274
232
 
275
- @doc("Indicates the operation is initiated by a user or system.")
233
+ /** Indicates the operation is initiated by a user or system. */
276
234
  `user,system`: "user,system",
277
235
 
278
236
  string,
@@ -281,47 +239,47 @@ union Origin {
281
239
  /**
282
240
  * The error detail.
283
241
  */
284
- @armCommonDefinition("ErrorDetail", Azure.ResourceManager.CommonTypes.Versions.v3)
285
- @armCommonDefinition("ErrorDetail", Azure.ResourceManager.CommonTypes.Versions.v4)
286
- @armCommonDefinition("ErrorDetail", Azure.ResourceManager.CommonTypes.Versions.v5)
287
- @doc("The error detail.")
288
242
  model ErrorDetail {
289
- @doc("The error code.")
243
+ /** The error code. */
290
244
  @visibility("read")
291
245
  code?: string;
292
246
 
293
- @doc("The error message.")
247
+ /** The error message. */
294
248
  @visibility("read")
295
249
  message?: string;
296
250
 
297
- @doc("The error target.")
251
+ /** The error target. */
298
252
  @visibility("read")
299
253
  target?: string;
300
254
 
255
+ /** The error details. */
301
256
  @extension("x-ms-identifiers", ["message", "target"])
302
- @doc("The error details.")
303
257
  @visibility("read")
304
258
  details?: ErrorDetail[];
305
259
 
306
- @extension("x-ms-identifiers", ["message", "target"])
307
- @doc("The error additional info.")
260
+ /** The error additional info. */
308
261
  @visibility("read")
309
262
  additionalInfo?: ErrorAdditionalInfo[];
310
263
  }
311
264
 
265
+ /**
266
+ * Common error response for all Azure Resource Manager APIs to return error details for failed operations.
267
+ */
268
+ @error
269
+ model ErrorResponse {
270
+ /** The error object. */
271
+ error?: ErrorDetail;
272
+ }
273
+
312
274
  /**
313
275
  * The resource management error additional info.
314
276
  */
315
- @armCommonDefinition("ErrorAdditionalInfo", Azure.ResourceManager.CommonTypes.Versions.v3)
316
- @armCommonDefinition("ErrorAdditionalInfo", Azure.ResourceManager.CommonTypes.Versions.v4)
317
- @armCommonDefinition("ErrorAdditionalInfo", Azure.ResourceManager.CommonTypes.Versions.v5)
318
- @doc("The resource management error additional info.")
319
277
  model ErrorAdditionalInfo {
320
- @doc("The additional info type.")
278
+ /** The additional info type. */
321
279
  @visibility("read")
322
280
  type?: string;
323
281
 
324
- @doc("The additional info.")
282
+ /** The additional info. */
325
283
  @visibility("read")
326
284
  info?: {};
327
285
  }
@@ -329,124 +287,288 @@ model ErrorAdditionalInfo {
329
287
  /**
330
288
  * Metadata pertaining to creation and last modification of the resource.
331
289
  */
332
- @armCommonDefinition("systemData", Azure.ResourceManager.CommonTypes.Versions.v3)
333
- @armCommonDefinition("systemData", Azure.ResourceManager.CommonTypes.Versions.v4)
334
- @armCommonDefinition("systemData", Azure.ResourceManager.CommonTypes.Versions.v5)
335
- @doc("Metadata pertaining to creation and last modification of the resource.")
336
290
  model SystemData {
337
- @visibility("read")
338
- @doc("The identity that created the resource.")
291
+ /** The identity that created the resource. */
339
292
  createdBy?: string;
340
293
 
341
- @visibility("read")
342
- @doc("The type of identity that created the resource.")
294
+ /** The type of identity that created the resource. */
343
295
  createdByType?: createdByType;
344
296
 
345
- @visibility("read")
346
- @doc("The type of identity that created the resource.")
347
- createdAt?: plainDate;
297
+ /** The timestamp of resource creation (UTC). */
298
+ createdAt?: utcDateTime;
348
299
 
349
- @visibility("read")
350
- @doc("The identity that last modified the resource.")
300
+ /** The identity that last modified the resource. */
351
301
  lastModifiedBy?: string;
352
302
 
353
- @visibility("read")
354
- @doc("The type of identity that last modified the resource.")
303
+ /** The type of identity that last modified the resource. */
355
304
  lastModifiedByType?: createdByType;
356
305
 
357
- @visibility("read")
358
- @doc("The timestamp of resource last modification (UTC)")
359
- lastModifiedAt?: plainDate;
306
+ /** The timestamp of resource last modification (UTC) */
307
+ lastModifiedAt?: utcDateTime;
360
308
  }
361
309
 
362
310
  /**
363
311
  * The kind of entity that created the resource.
364
312
  */
365
313
  // NOTE: This is how the extensible enum is named in types.json
366
- @doc("The kind of entity that created the resource.")
367
314
  union createdByType {
368
- @doc("The entity was created by a user.")
315
+ /** The entity was created by a user. */
369
316
  User: "User",
370
317
 
371
- @doc("The entity was created by an application.")
318
+ /** The entity was created by an application. */
372
319
  Application: "Application",
373
320
 
374
- @doc("The entity was created by a managed identity.")
321
+ /** The entity was created by a managed identity. */
375
322
  ManagedIdentity: "ManagedIdentity",
376
323
 
377
- @doc("The entity was created by a key.")
324
+ /** The entity was created by a key. */
378
325
  Key: "Key",
379
326
 
380
327
  string,
381
328
  }
382
329
 
330
+ union ResourceIdentityType {
331
+ SystemAssigned: "SystemAssigned",
332
+ }
333
+
334
+ /** Identity for the resource. */
335
+ model Identity {
336
+ /** The principal ID of resource identity. The value must be an UUID. */
337
+ @typeChangedFrom(Versions.v4, string)
338
+ @visibility("read")
339
+ principalId?: uuid;
340
+
341
+ /** The tenant ID of resource. The value must be an UUID. */
342
+ @typeChangedFrom(Versions.v4, string)
343
+ @visibility("read")
344
+ tenantId?: uuid;
345
+
346
+ /** The identity type. */
347
+ type?: ResourceIdentityType;
348
+ }
349
+
350
+ model KeyVaultProperties {
351
+ /** Key vault uri to access the encryption key. */
352
+ keyIdentifier?: string;
353
+
354
+ /** The client ID of the identity which will be used to access key vault. */
355
+ identity?: string;
356
+ }
383
357
  /**
384
- * Details of the resource plan.
358
+ * Plan for the resource.
385
359
  */
386
- @doc("Details of the resource plan.")
387
- @armCommonDefinition("Plan", Azure.ResourceManager.CommonTypes.Versions.v3)
388
- @armCommonDefinition("Plan", Azure.ResourceManager.CommonTypes.Versions.v4)
389
- @armCommonDefinition("Plan", Azure.ResourceManager.CommonTypes.Versions.v5)
390
360
  model Plan {
391
- @doc("A user defined name of the 3rd Party Artifact that is being procured.")
361
+ /** A user defined name of the 3rd Party Artifact that is being procured. */
392
362
  name: string;
393
363
 
394
- @doc("The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic")
364
+ /** The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic */
395
365
  publisher: string;
396
366
 
397
- @doc("The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. ")
367
+ /** The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. */
398
368
  product: string;
399
369
 
400
- @doc("A publisher provided promotion code as provisioned in Data Market for the said product/artifact.")
370
+ /** A publisher provided promotion code as provisioned in Data Market for the said product/artifact. */
401
371
  promotionCode?: string;
402
372
 
403
- @doc("The version of the desired product/artifact.")
373
+ /** The version of the desired product/artifact. */
404
374
  version?: string;
405
375
  }
406
376
 
407
377
  /**
408
378
  * The check availability request body.
409
379
  */
410
- @armCommonDefinition("CheckNameAvailabilityRequest", Azure.ResourceManager.CommonTypes.Versions.v3)
411
- @armCommonDefinition("CheckNameAvailabilityRequest", Azure.ResourceManager.CommonTypes.Versions.v4)
412
- @armCommonDefinition("CheckNameAvailabilityRequest", Azure.ResourceManager.CommonTypes.Versions.v5)
413
- @doc("The check availability request body.")
414
380
  model CheckNameAvailabilityRequest {
415
- @doc("The name of the resource for which availability needs to be checked.")
381
+ /** The name of the resource for which availability needs to be checked. */
416
382
  name?: string;
417
383
 
418
- @doc("The resource type.")
384
+ /** The resource type. */
419
385
  type?: string;
420
386
  }
421
387
 
422
388
  /**
423
389
  * The check availability result.
424
390
  */
425
- @armCommonDefinition("CheckNameAvailabilityResponse", Azure.ResourceManager.CommonTypes.Versions.v3)
426
- @armCommonDefinition("CheckNameAvailabilityResponse", Azure.ResourceManager.CommonTypes.Versions.v4)
427
- @armCommonDefinition("CheckNameAvailabilityResponse", Azure.ResourceManager.CommonTypes.Versions.v5)
428
- @doc("The check availability result.")
429
391
  model CheckNameAvailabilityResponse {
430
- @doc("Indicates if the resource name is available.")
392
+ /** Indicates if the resource name is available. */
431
393
  nameAvailable?: boolean;
432
394
 
433
- @doc("The reason why the given name is not available.")
395
+ /** The reason why the given name is not available. */
434
396
  reason?: CheckNameAvailabilityReason;
435
397
 
436
- @doc("Detailed reason why the given name is not available.")
398
+ /** Detailed reason why the given name is not available. */
437
399
  message?: string;
438
400
  }
439
401
 
440
402
  /**
441
403
  * Possible reasons for a name not being available.
442
404
  */
443
- @doc("Possible reasons for a name not being available.")
444
405
  union CheckNameAvailabilityReason {
445
- @doc("Name is invalid.")
406
+ /** Name is invalid. */
446
407
  Invalid: "Invalid",
447
408
 
448
- @doc("Name already exists.")
409
+ /** Name already exists. */
449
410
  AlreadyExists: "AlreadyExists",
450
411
 
451
412
  string,
452
413
  }
414
+
415
+ /** Indicates whether or not the encryption is enabled for container registry. */
416
+ union EncryptionStatus {
417
+ /** Encryption is enabled. */
418
+ enabled: "enabled",
419
+
420
+ /** Encryption is disabled. */
421
+ disabled: "disabled",
422
+
423
+ string,
424
+ }
425
+ /**
426
+ * Configuration of key for data encryption
427
+ */
428
+ model EncryptionProperties {
429
+ /** Indicates whether or not the encryption is enabled for container registry. */
430
+ status?: EncryptionStatus;
431
+
432
+ /** Key vault properties. */
433
+ keyVaultProperties?: KeyVaultProperties;
434
+ }
435
+
436
+ /**
437
+ * Metadata pertaining to the geographic location of the resource.
438
+ */
439
+ model LocationData {
440
+ /** A canonical name for the geographic or physical location. */
441
+ @maxLength(256)
442
+ name: string;
443
+
444
+ /** The city or locality where the resource is located. */
445
+ city?: string;
446
+
447
+ /** The district, state, or province where the resource is located. */
448
+ district?: string;
449
+
450
+ /** The country or region where the resource is located */
451
+ countryOrRegion?: string;
452
+ }
453
+
454
+ /**
455
+ * The default api-version parameter type.
456
+ */
457
+ model ApiVersionParameter {
458
+ /** The API version to use for this operation. */
459
+ @query("api-version")
460
+ @minLength(1)
461
+ apiVersion: string;
462
+ }
463
+
464
+ /**
465
+ * The default operationId parameter type.
466
+ */
467
+ model OperationIdParameter {
468
+ /** The ID of an ongoing async operation. */
469
+ @path
470
+ @minLength(1)
471
+ operationId: string;
472
+ }
473
+
474
+ /**
475
+ * The default location parameter type.
476
+ */
477
+ model LocationParameter {
478
+ /** The name of Azure region. */
479
+ @path
480
+ @minLength(1)
481
+ @segment("locations")
482
+ location: string;
483
+ }
484
+
485
+ /**
486
+ * The default resource group parameter type.
487
+ */
488
+ model ResourceGroupNameParameter {
489
+ /** The name of the resource group. The name is case insensitive. */
490
+ @path
491
+ @minLength(1)
492
+ @maxLength(90)
493
+ @segment("resourceGroups")
494
+ @pattern("^[-\\w\\._\\(\\)]+$")
495
+ resourceGroupName: string;
496
+ }
497
+
498
+ /**
499
+ * The default subscriptionId parameter type.
500
+ */
501
+ model SubscriptionIdParameter {
502
+ /** The ID of the target subscription. The value must be an UUID. */
503
+ @typeChangedFrom(Versions.v4, string)
504
+ @path
505
+ @segment("subscriptions")
506
+ subscriptionId: uuid;
507
+ }
508
+
509
+ /** The default location parameter type. */
510
+ model LocationResourceParameter {
511
+ /** The name of the Azure region. */
512
+ @path
513
+ @minLength(1)
514
+ @segment("locations")
515
+ @key
516
+ location: string;
517
+ }
518
+
519
+ /**
520
+ * The default ManagementGroupName parameter type.
521
+ */
522
+ @added(Versions.v4)
523
+ model ManagementGroupNameParameter {
524
+ /** The name of the management group. The name is case insensitive. */
525
+ @path
526
+ @minLength(1)
527
+ @maxLength(90)
528
+ @segment("managementGroups")
529
+ managementGroupName: string;
530
+ }
531
+
532
+ /**
533
+ * The default Scope parameter type.
534
+ */
535
+ @added(Versions.v4)
536
+ model ScopeParameter {
537
+ /** The scope at which the operation is performed. */
538
+ @path
539
+ @segment("scope")
540
+ @minLength(1)
541
+ @extension("x-ms-skip-url-encoding", true)
542
+ scope: string;
543
+ }
544
+
545
+ /**
546
+ * The default ManagementGroupName parameter type.
547
+ */
548
+ @added(Versions.v4)
549
+ model TenantIdParameter {
550
+ /** The Azure tenant ID. This is a GUID-formatted string (e.g. 00000000-0000-0000-0000-000000000000) */
551
+ @path
552
+ @segment("tenant")
553
+ tenantId: uuid;
554
+ }
555
+
556
+ /**
557
+ * The default ARM If-Match header type.
558
+ */
559
+ @added(Versions.v4)
560
+ model IfMatchHeader {
561
+ /** The If-Match header that makes a request conditional. */
562
+ @header("If-Match")
563
+ ifMatch: string;
564
+ }
565
+
566
+ /**
567
+ * The default ARM If-Match header type.
568
+ */
569
+ @added(Versions.v4)
570
+ model IfNoneMatchHeader {
571
+ /** The If-None-Match header that makes a request conditional. */
572
+ @header("If-None-Match")
573
+ ifNoneMatch: string;
574
+ }