@azure-typespec/http-client-csharp-mgmt 1.0.0-alpha.20260415.1 → 1.0.0-alpha.20260416.2
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/emitter/resolve-arm-resources-converter.d.ts +1 -5
- package/dist/emitter/resolve-arm-resources-converter.d.ts.map +1 -1
- package/dist/emitter/resolve-arm-resources-converter.js +62 -95
- package/dist/emitter/resolve-arm-resources-converter.js.map +1 -1
- package/dist/emitter/resource-detection.d.ts.map +1 -1
- package/dist/emitter/resource-detection.js +44 -38
- package/dist/emitter/resource-detection.js.map +1 -1
- package/dist/emitter/resource-metadata.d.ts +138 -19
- package/dist/emitter/resource-metadata.d.ts.map +1 -1
- package/dist/emitter/resource-metadata.js +330 -174
- package/dist/emitter/resource-metadata.js.map +1 -1
- package/dist/generator/Azure.Generator.Management.deps.json +2 -2
- package/dist/generator/Azure.Generator.Management.dll +0 -0
- package/dist/generator/Azure.Generator.Management.pdb +0 -0
- package/dist/generator/Azure.Generator.Management.xml +138 -12
- package/dist/generator/net10.0/Azure.Generator.Management.deps.json +2 -2
- package/dist/generator/net10.0/Azure.Generator.Management.dll +0 -0
- package/dist/generator/net10.0/Azure.Generator.Management.pdb +0 -0
- package/dist/generator/net10.0/Azure.Generator.Management.xml +138 -12
- package/package.json +1 -1
- package/dist/emitter/utils.d.ts +0 -36
- package/dist/emitter/utils.d.ts.map +0 -1
- package/dist/emitter/utils.js +0 -85
- package/dist/emitter/utils.js.map +0 -1
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
* allowing gradual migration to the standardized API.
|
|
22
22
|
*/
|
|
23
23
|
import { Program } from "@typespec/compiler";
|
|
24
|
-
import { ArmProviderSchema
|
|
24
|
+
import { ArmProviderSchema } from "./resource-metadata.js";
|
|
25
25
|
import { CSharpEmitterContext } from "@typespec/http-client-csharp";
|
|
26
26
|
/**
|
|
27
27
|
* Resolves ARM resources from TypeSpec definitions using the standard resolveArmResources API
|
|
@@ -35,8 +35,4 @@ import { CSharpEmitterContext } from "@typespec/http-client-csharp";
|
|
|
35
35
|
* @returns The ARM provider schema in our expected format
|
|
36
36
|
*/
|
|
37
37
|
export declare function resolveArmResources(program: Program, sdkContext: CSharpEmitterContext): ArmProviderSchema;
|
|
38
|
-
/**
|
|
39
|
-
* Determine operation scope from path
|
|
40
|
-
*/
|
|
41
|
-
export declare function getOperationScopeFromPath(path: string): ResourceScope;
|
|
42
38
|
//# sourceMappingURL=resolve-arm-resources-converter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-arm-resources-converter.d.ts","sourceRoot":"","sources":["../../emitter/src/resolve-arm-resources-converter.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EACL,OAAO,EAKR,MAAM,oBAAoB,CAAC;AAM5B,OAAO,
|
|
1
|
+
{"version":3,"file":"resolve-arm-resources-converter.d.ts","sourceRoot":"","sources":["../../emitter/src/resolve-arm-resources-converter.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EACL,OAAO,EAKR,MAAM,oBAAoB,CAAC;AAM5B,OAAO,EAGL,iBAAiB,EAalB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAcpE;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,oBAAoB,GAC/B,iBAAiB,CA6OnB"}
|
|
@@ -24,9 +24,8 @@
|
|
|
24
24
|
*/
|
|
25
25
|
import { getPattern, getMinLength, getMaxLength } from "@typespec/compiler";
|
|
26
26
|
import { resolveArmResources as resolveArmResourcesFromLibrary } from "@azure-tools/typespec-azure-resource-manager";
|
|
27
|
-
import { ResourceOperationKind,
|
|
27
|
+
import { findLongestPrefixMatch, RequestPath, ResourceOperationKind, ResourceScopeKind, postProcessArmResources, assignNonResourceMethodsToResources, resolveResourceApiVersions, extractRbacRoles } from "./resource-metadata.js";
|
|
28
28
|
import { getCrossLanguageDefinitionId, getClientType } from "@azure-tools/typespec-client-generator-core";
|
|
29
|
-
import { isVariableSegment, isPrefix, findLongestPrefixMatch, countProviderSegments } from "./utils.js";
|
|
30
29
|
import { getAllSdkClients } from "./sdk-client-utils.js";
|
|
31
30
|
import { extensionResourceOperationName, legacyExtensionResourceOperationName, legacyResourceOperationName, builtInResourceOperationName } from "./sdk-context-options.js";
|
|
32
31
|
/**
|
|
@@ -118,7 +117,7 @@ export function resolveArmResources(program, sdkContext) {
|
|
|
118
117
|
// In this case, parent information comes from ResolvedResource objects
|
|
119
118
|
// Build validResourceMap once for efficient lookup
|
|
120
119
|
const validResourceMap = new Map();
|
|
121
|
-
for (const r of resources.filter((r) => r.metadata.resourceIdPattern !==
|
|
120
|
+
for (const r of resources.filter((r) => r.metadata.resourceIdPattern !== undefined)) {
|
|
122
121
|
const resolvedR = schemaToResolvedResource.get(r);
|
|
123
122
|
if (resolvedR) {
|
|
124
123
|
validResourceMap.set(resolvedR.resourceInstancePath, r);
|
|
@@ -151,11 +150,12 @@ export function resolveArmResources(program, sdkContext) {
|
|
|
151
150
|
if (!methodId) {
|
|
152
151
|
continue;
|
|
153
152
|
}
|
|
153
|
+
const opPath = new RequestPath(operation.path);
|
|
154
154
|
nonResourceMethods.push({
|
|
155
155
|
methodId,
|
|
156
|
-
operationPath:
|
|
156
|
+
operationPath: opPath,
|
|
157
157
|
// TODO: this is also temporary because resolveArmResources does not have the scope of a provider operation
|
|
158
|
-
operationScope:
|
|
158
|
+
operationScope: opPath.operationScope
|
|
159
159
|
});
|
|
160
160
|
}
|
|
161
161
|
}
|
|
@@ -185,11 +185,12 @@ export function resolveArmResources(program, sdkContext) {
|
|
|
185
185
|
if (!operation || operation.kind !== "http" || !operation.path) {
|
|
186
186
|
continue;
|
|
187
187
|
}
|
|
188
|
+
const opPath = new RequestPath(operation.path);
|
|
188
189
|
// Add this missing operation as a non-resource method
|
|
189
190
|
nonResourceMethods.push({
|
|
190
191
|
methodId: methodId,
|
|
191
|
-
operationPath:
|
|
192
|
-
operationScope:
|
|
192
|
+
operationPath: opPath,
|
|
193
|
+
operationScope: opPath.operationScope
|
|
193
194
|
});
|
|
194
195
|
}
|
|
195
196
|
}
|
|
@@ -212,7 +213,7 @@ export function resolveArmResources(program, sdkContext) {
|
|
|
212
213
|
*/
|
|
213
214
|
function convertResolvedResourceToMetadata(program, sdkContext, resolvedResource, methodKindMap, methodResponseModelIdMap, resourceModelIds) {
|
|
214
215
|
const methods = [];
|
|
215
|
-
const
|
|
216
|
+
const operationScopeKind = convertScopeToResourceScope(resolvedResource.scope);
|
|
216
217
|
let resourceIdPattern = "";
|
|
217
218
|
// Convert lifecycle operations
|
|
218
219
|
if (resolvedResource.operations.lifecycle) {
|
|
@@ -224,9 +225,9 @@ function convertResolvedResourceToMetadata(program, sdkContext, resolvedResource
|
|
|
224
225
|
methods.push({
|
|
225
226
|
methodId,
|
|
226
227
|
kind: ResourceOperationKind.Read,
|
|
227
|
-
operationPath: readOp.path,
|
|
228
|
-
operationScope:
|
|
229
|
-
|
|
228
|
+
operationPath: new RequestPath(readOp.path),
|
|
229
|
+
operationScope: operationScopeKind,
|
|
230
|
+
resourceScopeIdPattern: findResourceScopeIdPattern(readOp.path, resolvedResource)
|
|
230
231
|
});
|
|
231
232
|
// Use the first read operation's path as the resource ID pattern
|
|
232
233
|
if (!resourceIdPattern) {
|
|
@@ -242,9 +243,9 @@ function convertResolvedResourceToMetadata(program, sdkContext, resolvedResource
|
|
|
242
243
|
methods.push({
|
|
243
244
|
methodId,
|
|
244
245
|
kind: ResourceOperationKind.Create,
|
|
245
|
-
operationPath: createOp.path,
|
|
246
|
-
operationScope:
|
|
247
|
-
|
|
246
|
+
operationPath: new RequestPath(createOp.path),
|
|
247
|
+
operationScope: operationScopeKind,
|
|
248
|
+
resourceScopeIdPattern: findResourceScopeIdPattern(createOp.path, resolvedResource)
|
|
248
249
|
});
|
|
249
250
|
}
|
|
250
251
|
}
|
|
@@ -256,9 +257,9 @@ function convertResolvedResourceToMetadata(program, sdkContext, resolvedResource
|
|
|
256
257
|
methods.push({
|
|
257
258
|
methodId,
|
|
258
259
|
kind: ResourceOperationKind.Update,
|
|
259
|
-
operationPath: updateOp.path,
|
|
260
|
-
operationScope:
|
|
261
|
-
|
|
260
|
+
operationPath: new RequestPath(updateOp.path),
|
|
261
|
+
operationScope: operationScopeKind,
|
|
262
|
+
resourceScopeIdPattern: findResourceScopeIdPattern(updateOp.path, resolvedResource)
|
|
262
263
|
});
|
|
263
264
|
}
|
|
264
265
|
}
|
|
@@ -270,9 +271,9 @@ function convertResolvedResourceToMetadata(program, sdkContext, resolvedResource
|
|
|
270
271
|
methods.push({
|
|
271
272
|
methodId,
|
|
272
273
|
kind: ResourceOperationKind.Delete,
|
|
273
|
-
operationPath: deleteOp.path,
|
|
274
|
-
operationScope:
|
|
275
|
-
|
|
274
|
+
operationPath: new RequestPath(deleteOp.path),
|
|
275
|
+
operationScope: operationScopeKind,
|
|
276
|
+
resourceScopeIdPattern: findResourceScopeIdPattern(deleteOp.path, resolvedResource)
|
|
276
277
|
});
|
|
277
278
|
}
|
|
278
279
|
}
|
|
@@ -296,9 +297,9 @@ function convertResolvedResourceToMetadata(program, sdkContext, resolvedResource
|
|
|
296
297
|
kind: isResourceList
|
|
297
298
|
? ResourceOperationKind.List
|
|
298
299
|
: ResourceOperationKind.Action,
|
|
299
|
-
operationPath: actionOp.path,
|
|
300
|
-
operationScope:
|
|
301
|
-
|
|
300
|
+
operationPath: new RequestPath(actionOp.path),
|
|
301
|
+
operationScope: operationScopeKind,
|
|
302
|
+
resourceScopeIdPattern: findResourceScopeIdPattern(actionOp.path, resolvedResource)
|
|
302
303
|
});
|
|
303
304
|
}
|
|
304
305
|
}
|
|
@@ -331,16 +332,23 @@ function convertResolvedResourceToMetadata(program, sdkContext, resolvedResource
|
|
|
331
332
|
const sdkModel = getClientType(sdkContext, resolvedResource.type);
|
|
332
333
|
const rbacRoles = extractRbacRoles(sdkModel);
|
|
333
334
|
return {
|
|
334
|
-
// we only assign resourceIdPattern when this resource has a read operation, otherwise this is
|
|
335
|
-
resourceIdPattern: resourceIdPattern
|
|
335
|
+
// we only assign resourceIdPattern when this resource has a read operation, otherwise this is undefined
|
|
336
|
+
resourceIdPattern: resourceIdPattern
|
|
337
|
+
? new RequestPath(resourceIdPattern)
|
|
338
|
+
: undefined,
|
|
336
339
|
resourceType,
|
|
337
340
|
methods,
|
|
338
|
-
|
|
341
|
+
scope: {
|
|
342
|
+
kind: resourceScopeValue,
|
|
343
|
+
scopeIdPattern: resourceIdPattern
|
|
344
|
+
? new RequestPath(resourceIdPattern).scopePath
|
|
345
|
+
: RequestPath.empty
|
|
346
|
+
},
|
|
339
347
|
parentResourceId: undefined,
|
|
340
348
|
parentResourceModelId: undefined,
|
|
341
349
|
// TODO: Temporary - waiting for resolveArmResources API update to include singleton information
|
|
342
350
|
// Once the API includes this, we can remove this extraction logic
|
|
343
|
-
singletonResourceName:
|
|
351
|
+
singletonResourceName: new RequestPath(resolvedResource.resourceInstancePath).singletonName,
|
|
344
352
|
resourceName: resourceName,
|
|
345
353
|
nameConstraints,
|
|
346
354
|
apiVersions,
|
|
@@ -357,58 +365,34 @@ function getMethodIdFromOperation(sdkContext, operation) {
|
|
|
357
365
|
return getCrossLanguageDefinitionId(sdkContext, operation);
|
|
358
366
|
}
|
|
359
367
|
/**
|
|
360
|
-
* Convert scope string/object to
|
|
368
|
+
* Convert scope string/object to ResourceScopeKind enum
|
|
361
369
|
*/
|
|
362
370
|
function convertScopeToResourceScope(scope) {
|
|
363
371
|
if (!scope) {
|
|
364
372
|
// TODO: does it make sense that we have something without scope??
|
|
365
|
-
return
|
|
373
|
+
return ResourceScopeKind.ResourceGroup; // Default
|
|
366
374
|
}
|
|
367
375
|
if (typeof scope === "string") {
|
|
368
376
|
switch (scope) {
|
|
369
377
|
case "Tenant":
|
|
370
|
-
return
|
|
378
|
+
return ResourceScopeKind.Tenant;
|
|
371
379
|
case "Subscription":
|
|
372
|
-
return
|
|
380
|
+
return ResourceScopeKind.Subscription;
|
|
373
381
|
case "ResourceGroup":
|
|
374
|
-
return
|
|
382
|
+
return ResourceScopeKind.ResourceGroup;
|
|
375
383
|
case "ManagementGroup":
|
|
376
|
-
return
|
|
384
|
+
return ResourceScopeKind.ManagementGroup;
|
|
377
385
|
case "Scope":
|
|
378
386
|
case "ExternalResource":
|
|
379
|
-
return
|
|
387
|
+
return ResourceScopeKind.Extension;
|
|
380
388
|
default:
|
|
381
|
-
return
|
|
389
|
+
return ResourceScopeKind.ResourceGroup;
|
|
382
390
|
}
|
|
383
391
|
}
|
|
384
392
|
// TODO: Schema update needed - when scope is a ResolvedResource (extension resource),
|
|
385
393
|
// our schema needs to support representing the specific parent resource, not just "Extension"
|
|
386
394
|
// If scope is a ResolvedResource, it's an extension resource
|
|
387
|
-
return
|
|
388
|
-
}
|
|
389
|
-
/**
|
|
390
|
-
* Determine operation scope from path
|
|
391
|
-
*/
|
|
392
|
-
export function getOperationScopeFromPath(path) {
|
|
393
|
-
// Match any path starting with a variable segment followed by /providers/
|
|
394
|
-
// This covers scope-based operations like /{resourceUri}/providers/..., /{scope}/providers/..., /{resourceId}/providers/..., etc.
|
|
395
|
-
const lastProviderIndex = path.lastIndexOf("/providers/");
|
|
396
|
-
const scopePath = path.substring(0, lastProviderIndex);
|
|
397
|
-
if (!scopePath) {
|
|
398
|
-
return ResourceScope.Tenant;
|
|
399
|
-
}
|
|
400
|
-
else if (/^\/subscriptions\/\{[^}]+\}\/resourceGroups\/\{[^}]+\}$/.test(scopePath)) {
|
|
401
|
-
return ResourceScope.ResourceGroup;
|
|
402
|
-
}
|
|
403
|
-
else if (/^\/subscriptions\/\{[^}]+\}$/.test(scopePath)) {
|
|
404
|
-
return ResourceScope.Subscription;
|
|
405
|
-
}
|
|
406
|
-
else if (/^\/providers\/Microsoft\.Management\/managementGroups\/\{[^}]+\}$/.test(scopePath)) {
|
|
407
|
-
return ResourceScope.ManagementGroup;
|
|
408
|
-
}
|
|
409
|
-
else {
|
|
410
|
-
return ResourceScope.Extension;
|
|
411
|
-
}
|
|
395
|
+
return ResourceScopeKind.Extension;
|
|
412
396
|
}
|
|
413
397
|
/**
|
|
414
398
|
* Format ResourceType to a string
|
|
@@ -416,27 +400,17 @@ export function getOperationScopeFromPath(path) {
|
|
|
416
400
|
function formatResourceType(resourceType) {
|
|
417
401
|
return `${resourceType.provider}/${resourceType.types.join("/")}`;
|
|
418
402
|
}
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
const segments = path.split("/").filter((s) => s.length > 0);
|
|
425
|
-
const lastSegment = segments[segments.length - 1];
|
|
426
|
-
// If the last segment is not a parameter (doesn't start with {), it's a singleton
|
|
427
|
-
if (lastSegment && !isVariableSegment(lastSegment)) {
|
|
428
|
-
return lastSegment;
|
|
429
|
-
}
|
|
430
|
-
return undefined;
|
|
431
|
-
}
|
|
432
|
-
function calculateResourceScope(operationPath, resolvedResource) {
|
|
433
|
-
if (isPrefix(resolvedResource.resourceInstancePath, operationPath)) {
|
|
434
|
-
return resolvedResource.resourceInstancePath;
|
|
403
|
+
function findResourceScopeIdPattern(operationPath, resolvedResource) {
|
|
404
|
+
const opPath = new RequestPath(operationPath);
|
|
405
|
+
const instancePath = new RequestPath(resolvedResource.resourceInstancePath);
|
|
406
|
+
if (instancePath.isPrefixOf(opPath)) {
|
|
407
|
+
return instancePath;
|
|
435
408
|
}
|
|
436
409
|
let parent = resolvedResource.parent;
|
|
437
410
|
while (parent) {
|
|
438
|
-
|
|
439
|
-
|
|
411
|
+
const parentPath = new RequestPath(parent.resourceInstancePath);
|
|
412
|
+
if (parentPath.isPrefixOf(opPath)) {
|
|
413
|
+
return parentPath;
|
|
440
414
|
}
|
|
441
415
|
parent = parent.parent;
|
|
442
416
|
}
|
|
@@ -533,22 +507,14 @@ function assignListOperationsToResources(sdkContext, resources, schemaToResolved
|
|
|
533
507
|
}
|
|
534
508
|
else {
|
|
535
509
|
// Multiple resources for the same model — use prefix matching to find the correct one
|
|
536
|
-
targetResource = findLongestPrefixMatch(listOp.path, resourcesForModel, (r) =>
|
|
537
|
-
const pattern = r.metadata.resourceIdPattern;
|
|
538
|
-
if (!pattern)
|
|
539
|
-
return undefined;
|
|
540
|
-
// Strip the last segment (the key variable like {resourceName})
|
|
541
|
-
// so we compare against the collection/type segment
|
|
542
|
-
const lastSlash = pattern.lastIndexOf("/");
|
|
543
|
-
return lastSlash > 0 ? pattern.substring(0, lastSlash) : undefined;
|
|
544
|
-
});
|
|
510
|
+
targetResource = findLongestPrefixMatch(new RequestPath(listOp.path), resourcesForModel, (r) => r.metadata.resourceIdPattern?.trimLastSegment);
|
|
545
511
|
// Fall back to resource type matching if prefix matching didn't find a match
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
512
|
+
const listPath = new RequestPath(listOp.path);
|
|
513
|
+
const listType = listPath.resourceType;
|
|
514
|
+
if (!targetResource && listType !== undefined) {
|
|
549
515
|
targetResource = resourcesForModel.find((r) => {
|
|
550
|
-
if (
|
|
551
|
-
|
|
516
|
+
if (!r.metadata.resourceIdPattern ||
|
|
517
|
+
!listPath.hasSameScopeNesting(r.metadata.resourceIdPattern)) {
|
|
552
518
|
return false;
|
|
553
519
|
}
|
|
554
520
|
return r.metadata.resourceType === listType;
|
|
@@ -559,12 +525,13 @@ function assignListOperationsToResources(sdkContext, resources, schemaToResolved
|
|
|
559
525
|
if (!targetResource) {
|
|
560
526
|
targetResource = resource;
|
|
561
527
|
}
|
|
528
|
+
const listPath = new RequestPath(listOp.path);
|
|
562
529
|
targetResource.metadata.methods.push({
|
|
563
530
|
methodId,
|
|
564
531
|
kind: ResourceOperationKind.List,
|
|
565
|
-
operationPath:
|
|
566
|
-
operationScope:
|
|
567
|
-
|
|
532
|
+
operationPath: listPath,
|
|
533
|
+
operationScope: listPath.operationScope,
|
|
534
|
+
resourceScopeIdPattern: undefined
|
|
568
535
|
});
|
|
569
536
|
}
|
|
570
537
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-arm-resources-converter.js","sourceRoot":"","sources":["../../emitter/src/resolve-arm-resources-converter.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAC5D,+FAA+F;AAE/F;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAGL,UAAU,EACV,YAAY,EACZ,YAAY,EACb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,mBAAmB,IAAI,8BAA8B,EACtD,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAOL,qBAAqB,EACrB,aAAa,EACb,uBAAuB,EAEvB,mCAAmC,EACnC,6BAA6B,EAC7B,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,4BAA4B,EAC5B,aAAa,EAEd,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,iBAAiB,EACjB,QAAQ,EACR,sBAAsB,EACtB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EACL,8BAA8B,EAC9B,oCAAoC,EACpC,2BAA2B,EAC3B,4BAA4B,EAC7B,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAgB,EAChB,UAAgC;IAEhC,MAAM,QAAQ,GAAG,8BAA8B,CAAC,OAAO,CAAC,CAAC;IAEzD,oBAAoB;IACpB,MAAM,SAAS,GAAwB,EAAE,CAAC;IAC1C,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC7C,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAGrC,CAAC;IAEJ,8EAA8E;IAC9E,+DAA+D;IAC/D,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAoB,CAAC;IACzD,qFAAqF;IACrF,2EAA2E;IAC3E,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,yFAAyF;IACzF,uEAAuE;IACvE,MAAM,wBAAwB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3D,KAAK,MAAM,MAAM,IAAI,gBAAgB,CAAC,UAAU,CAAC,EAAE,CAAC;QAClD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,CAAC;gBAChE,oBAAoB,CAAC,GAAG,CACtB,MAAM,CAAC,yBAAyB,EAChC,MAAM,CAAC,WAAW,CACnB,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAAE,CAAC;gBACzD,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,yBAAyB,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACnE,CAAC;YACD,IACE,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,CAAC;gBACzD,CAAC,wBAAwB,CAAC,GAAG,CAAC,MAAM,CAAC,yBAAyB,CAAC,EAC/D,CAAC;gBACD,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC;gBAC3C,IACE,YAAY,EAAE,IAAI,KAAK,OAAO;oBAC9B,YAAY,CAAC,SAAS,CAAC,IAAI,KAAK,OAAO,EACvC,CAAC;oBACD,wBAAwB,CAAC,GAAG,CAC1B,MAAM,CAAC,yBAAyB,EAC/B,YAAY,CAAC,SAA0B,CAAC,yBAAyB,CACnE,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,KAAK,MAAM,gBAAgB,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YAClD,MAAM,OAAO,GAAG,4BAA4B,CAC1C,UAAU,EACV,gBAAgB,CAAC,IAAI,CACtB,CAAC;YACF,IAAI,OAAO,EAAE,CAAC;gBACZ,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,KAAK,MAAM,gBAAgB,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;YAClD,iCAAiC;YACjC,MAAM,OAAO,GAAG,4BAA4B,CAC1C,UAAU,EACV,gBAAgB,CAAC,IAAI,CACtB,CAAC;YACF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,SAAS;YACX,CAAC;YAED,4DAA4D;YAC5D,MAAM,WAAW,GAAG,GAAG,OAAO,IAAI,gBAAgB,CAAC,oBAAoB,EAAE,CAAC;YAC1E,IAAI,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxC,SAAS;YACX,CAAC;YACD,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAEpC,wCAAwC;YACxC,MAAM,QAAQ,GAAG,iCAAiC,CAChD,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,wBAAwB,EACxB,gBAAgB,CACjB,CAAC;YAEF,MAAM,QAAQ,GAAG;gBACf,eAAe,EAAE,OAAO;gBACxB,QAAQ;aACT,CAAC;YACF,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACzB,wBAAwB,CAAC,GAAG,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,iFAAiF;IACjF,iFAAiF;IACjF,+EAA+E;IAC/E,uEAAuE;IACvE,+BAA+B,CAC7B,UAAU,EACV,SAAS,EACT,wBAAwB,CACzB,CAAC;IAEF,+BAA+B;IAC/B,MAAM,kBAAkB,GAAwB,EAAE,CAAC;IAEnD,uDAAuD;IACvD,uEAAuE;IACvE,mDAAmD;IACnD,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA6B,CAAC;IAC9D,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,MAAM,CAC9B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,KAAK,EAAE,CAC3C,EAAE,CAAC;QACF,MAAM,SAAS,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAClD,IAAI,SAAS,EAAE,CAAC;YACd,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAgC;QAChD,iBAAiB,EAAE,CACjB,QAA2B,EACI,EAAE;YACjC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACxD,IAAI,CAAC,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAEhC,kDAAkD;YAClD,IAAI,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC7B,OAAO,MAAM,EAAE,CAAC;gBACd,MAAM,cAAc,GAAG,gBAAgB,CAAC,GAAG,CACzC,MAAM,CAAC,oBAAoB,CAC5B,CAAC;gBACF,IAAI,cAAc,EAAE,CAAC;oBACnB,OAAO,cAAc,CAAC;gBACxB,CAAC;gBACD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YACzB,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;KACF,CAAC;IAEF,0CAA0C;IAC1C,MAAM,iBAAiB,GAAG,uBAAuB,CAC/C,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,CACzB,CAAC;IAEF,kDAAkD;IAClD,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC;QAChC,KAAK,MAAM,SAAS,IAAI,QAAQ,CAAC,kBAAkB,EAAE,CAAC;YACpD,mCAAmC;YACnC,MAAM,QAAQ,GAAG,wBAAwB,CACvC,UAAU,EACV,SAAS,CAAC,SAAS,CACpB,CAAC;YACF,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,SAAS;YACX,CAAC;YAED,kBAAkB,CAAC,IAAI,CAAC;gBACtB,QAAQ;gBACR,aAAa,EAAE,SAAS,CAAC,IAAI;gBAC7B,2GAA2G;gBAC3G,cAAc,EAAE,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC;aAC1D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,oFAAoF;IACpF,uCAAuC;IACvC,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/C,iDAAiD;IACjD,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;QACzC,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC/C,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IACD,KAAK,MAAM,iBAAiB,IAAI,kBAAkB,EAAE,CAAC;QACnD,oBAAoB,CAAC,GAAG,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,yBAAyB;IACzB,MAAM,aAAa,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACnD,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;QACnC,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,yBAAyB,CAAC;YAClD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;YAEnC,2BAA2B;YAC3B,IAAI,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACvC,SAAS;YACX,CAAC;YAED,4CAA4C;YAC5C,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBAC/D,SAAS;YACX,CAAC;YAED,sDAAsD;YACtD,kBAAkB,CAAC,IAAI,CAAC;gBACtB,QAAQ,EAAE,QAAQ;gBAClB,aAAa,EAAE,SAAS,CAAC,IAAI;gBAC7B,cAAc,EAAE,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC;aAC1D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,mFAAmF;IACnF,wFAAwF;IACxF,iEAAiE;IACjE,mCAAmC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;IAE3E,2EAA2E;IAC3E,uEAAuE;IACvE,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;QACzC,QAAQ,CAAC,QAAQ,CAAC,WAAW,GAAG,0BAA0B,CACxD,QAAQ,CAAC,QAAQ,CAAC,OAAO,EACzB,oBAAoB,CACrB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,SAAS,EAAE,iBAAiB;QAC5B,kBAAkB;KACnB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,iCAAiC,CACxC,OAAgB,EAChB,UAAgC,EAChC,gBAAkC,EAClC,aAAmC,EACnC,wBAA8C,EAC9C,gBAA8B;IAE9B,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,MAAM,aAAa,GAAG,2BAA2B,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAC1E,IAAI,iBAAiB,GAAG,EAAE,CAAC;IAE3B,+BAA+B;IAC/B,IAAI,gBAAgB,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAG,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC;QAExD,IAAI,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;gBACpC,MAAM,QAAQ,GAAG,wBAAwB,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;gBACxE,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CAAC;wBACX,QAAQ;wBACR,IAAI,EAAE,qBAAqB,CAAC,IAAI;wBAChC,aAAa,EAAE,MAAM,CAAC,IAAI;wBAC1B,cAAc,EAAE,aAAa;wBAC7B,aAAa,EAAE,sBAAsB,CAAC,MAAM,CAAC,IAAI,EAAE,gBAAgB,CAAC;qBACrE,CAAC,CAAC;oBACH,iEAAiE;oBACjE,IAAI,CAAC,iBAAiB,EAAE,CAAC;wBACvB,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC;oBAClC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,SAAS,CAAC,cAAc,IAAI,SAAS,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;gBAChD,MAAM,QAAQ,GAAG,wBAAwB,CACvC,UAAU,EACV,QAAQ,CAAC,SAAS,CACnB,CAAC;gBACF,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CAAC;wBACX,QAAQ;wBACR,IAAI,EAAE,qBAAqB,CAAC,MAAM;wBAClC,aAAa,EAAE,QAAQ,CAAC,IAAI;wBAC5B,cAAc,EAAE,aAAa;wBAC7B,aAAa,EAAE,sBAAsB,CACnC,QAAQ,CAAC,IAAI,EACb,gBAAgB,CACjB;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,wBAAwB,CACvC,UAAU,EACV,QAAQ,CAAC,SAAS,CACnB,CAAC;gBACF,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CAAC;wBACX,QAAQ;wBACR,IAAI,EAAE,qBAAqB,CAAC,MAAM;wBAClC,aAAa,EAAE,QAAQ,CAAC,IAAI;wBAC5B,cAAc,EAAE,aAAa;wBAC7B,aAAa,EAAE,sBAAsB,CACnC,QAAQ,CAAC,IAAI,EACb,gBAAgB,CACjB;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpD,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;gBACxC,MAAM,QAAQ,GAAG,wBAAwB,CACvC,UAAU,EACV,QAAQ,CAAC,SAAS,CACnB,CAAC;gBACF,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,CAAC,IAAI,CAAC;wBACX,QAAQ;wBACR,IAAI,EAAE,qBAAqB,CAAC,MAAM;wBAClC,aAAa,EAAE,QAAQ,CAAC,IAAI;wBAC5B,cAAc,EAAE,aAAa;wBAC7B,aAAa,EAAE,sBAAsB,CACnC,QAAQ,CAAC,IAAI,EACb,gBAAgB,CACjB;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,4BAA4B;IAC5B,IAAI,gBAAgB,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxC,KAAK,MAAM,QAAQ,IAAI,gBAAgB,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;YAC3D,MAAM,QAAQ,GAAG,wBAAwB,CAAC,UAAU,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC1E,IAAI,QAAQ,EAAE,CAAC;gBACb,6EAA6E;gBAC7E,+EAA+E;gBAC/E,+CAA+C;gBAC/C,MAAM,aAAa,GAAG,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACnD,MAAM,eAAe,GAAG,wBAAwB,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAChE,MAAM,cAAc,GAClB,aAAa,KAAK,QAAQ;oBAC1B,gBAAgB,KAAK,SAAS;oBAC9B,gBAAgB,CAAC,GAAG,CAAC,eAAgB,CAAC,CAAC;gBACzC,OAAO,CAAC,IAAI,CAAC;oBACX,QAAQ;oBACR,IAAI,EAAE,cAAc;wBAClB,CAAC,CAAC,qBAAqB,CAAC,IAAI;wBAC5B,CAAC,CAAC,qBAAqB,CAAC,MAAM;oBAChC,aAAa,EAAE,QAAQ,CAAC,IAAI;oBAC5B,cAAc,EAAE,aAAa;oBAC7B,aAAa,EAAE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;iBACvE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,yBAAyB;IACzB,MAAM,kBAAkB,GAAG,2BAA2B,CACpD,gBAAgB,CAAC,KAAK,CACvB,CAAC;IAEF,6BAA6B;IAC7B,MAAM,YAAY,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;IAEvE,6FAA6F;IAC7F,wFAAwF;IACxF,qFAAqF;IACrF,IAAI,YAAY,GAAG,gBAAgB,CAAC,YAAY,CAAC;IACjD,MAAM,YAAY,GAAG,qCAAqC,CAAC,gBAAgB,CAAC,CAAC;IAC7E,IAAI,YAAY,EAAE,CAAC;QACjB,YAAY,GAAG,YAAY,CAAC;IAC9B,CAAC;IAED,qEAAqE;IACrE,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,YAAY;QAC7B,CAAC,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC;QACnC,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,eAAe,GAAoB;QACvC,OAAO,EAAE,UAAU,IAAI,SAAS;QAChC,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;QACzE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS;KAC1E,CAAC;IAEF,iFAAiF;IACjF,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,mDAAmD;IACnD,MAAM,QAAQ,GAAG,aAAa,CAC5B,UAAU,EACV,gBAAgB,CAAC,IAAI,CACN,CAAC;IAClB,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE7C,OAAO;QACL,oGAAoG;QACpG,iBAAiB,EAAE,iBAAiB;QACpC,YAAY;QACZ,OAAO;QACP,aAAa,EAAE,kBAAkB;QACjC,gBAAgB,EAAE,SAAS;QAC3B,qBAAqB,EAAE,SAAS;QAChC,gGAAgG;QAChG,kEAAkE;QAClE,qBAAqB,EAAE,oBAAoB,CACzC,gBAAgB,CAAC,oBAAoB,CACtC;QACD,YAAY,EAAE,YAAY;QAC1B,eAAe;QACf,WAAW;QACX,SAAS;KACV,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,wBAAwB,CAC/B,UAAgC,EAChC,SAAoB;IAEpB,sEAAsE;IACtE,oEAAoE;IACpE,OAAO,4BAA4B,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AAC7D,CAAC;AAED;;GAEG;AACH,SAAS,2BAA2B,CAClC,KAA4C;IAE5C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,kEAAkE;QAClE,OAAO,aAAa,CAAC,aAAa,CAAC,CAAC,UAAU;IAChD,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,QAAQ;gBACX,OAAO,aAAa,CAAC,MAAM,CAAC;YAC9B,KAAK,cAAc;gBACjB,OAAO,aAAa,CAAC,YAAY,CAAC;YACpC,KAAK,eAAe;gBAClB,OAAO,aAAa,CAAC,aAAa,CAAC;YACrC,KAAK,iBAAiB;gBACpB,OAAO,aAAa,CAAC,eAAe,CAAC;YACvC,KAAK,OAAO,CAAC;YACb,KAAK,kBAAkB;gBACrB,OAAO,aAAa,CAAC,SAAS,CAAC;YACjC;gBACE,OAAO,aAAa,CAAC,aAAa,CAAC;QACvC,CAAC;IACH,CAAC;IAED,sFAAsF;IACtF,8FAA8F;IAC9F,6DAA6D;IAC7D,OAAO,aAAa,CAAC,SAAS,CAAC;AACjC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAAY;IACpD,0EAA0E;IAC1E,kIAAkI;IAClI,MAAM,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,iBAAiB,CAAC,CAAC;IACvD,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,aAAa,CAAC,MAAM,CAAC;IAChC,CAAC;SACI,IACH,yDAAyD,CAAC,IAAI,CAAC,SAAS,CAAC,EACzE,CAAC;QACD,OAAO,aAAa,CAAC,aAAa,CAAC;IACrC,CAAC;SAAM,IAAI,8BAA8B,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1D,OAAO,aAAa,CAAC,YAAY,CAAC;IACpC,CAAC;SAAM,IACL,mEAAmE,CAAC,IAAI,CACtE,SAAS,CACV,EACD,CAAC;QACD,OAAO,aAAa,CAAC,eAAe,CAAC;IACvC,CAAC;SACI,CAAC;QACJ,OAAO,aAAa,CAAC,SAAS,CAAC;IACjC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,YAA0B;IACpD,OAAO,GAAG,YAAY,CAAC,QAAQ,IAAI,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,IAAY;IACxC,oEAAoE;IACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAElD,kFAAkF;IAClF,IAAI,WAAW,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,EAAE,CAAC;QACnD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,sBAAsB,CAC7B,aAAqB,EACrB,gBAAkC;IAElC,IAAI,QAAQ,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,aAAa,CAAC,EAAE,CAAC;QACnE,OAAO,gBAAgB,CAAC,oBAAoB,CAAC;IAC/C,CAAC;IAED,IAAI,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC;IACrC,OAAO,MAAM,EAAE,CAAC;QACd,IAAI,QAAQ,CAAC,MAAM,CAAC,oBAAoB,EAAE,aAAa,CAAC,EAAE,CAAC;YACzD,OAAO,MAAM,CAAC,oBAAoB,CAAC;QACrC,CAAC;QACD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IACzB,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,SAAS,qCAAqC,CAC5C,gBAAkC;IAElC,MAAM,SAAS,GAAG,gBAAgB,CAAC,UAAU,CAAC,SAAS,CAAC;IACxD,IAAI,CAAC,SAAS;QAAE,OAAO,SAAS,CAAC;IAEjC,0DAA0D;IAC1D,MAAM,UAAU,GAAgB,EAAE,CAAC;IACnC,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI;YAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IACD,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;QAC7B,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,cAAc;YAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;QACrB,KAAK,MAAM,EAAE,IAAI,SAAS,CAAC,MAAM;YAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,MAAM,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;QACxC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,EAAE,IAAI,CAAC;YACxC,IACE,IAAI,KAAK,8BAA8B;gBACvC,IAAI,KAAK,oCAAoC;gBAC7C,IAAI,KAAK,2BAA2B,EACpC,CAAC;gBACD,6GAA6G;gBAC7G,kHAAkH;gBAClH,MAAM,QAAQ,GAAG,IAAI,KAAK,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACjE,IACE,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,QAAQ;oBAChC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO;oBAChC,OAAO,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,KAAK,QAAQ;oBACnD,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAkB,CAAC,MAAM,GAAG,CAAC,EACvD,CAAC;oBACD,OAAO,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAiB,CAAC;gBACpD,CAAC;YACH,CAAC;YACD,yGAAyG;YACzG,IAAI,IAAI,KAAK,4BAA4B,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvE,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAiB,CAAC;YAC7C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,+BAA+B,CACtC,UAAgC,EAChC,SAA8B,EAC9B,wBAAkE;IAElE,wEAAwE;IACxE,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAA+B,CAAC;IAClE,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAC3D,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC,IAAI,wBAAwB,EAAE,CAAC;QACpE,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK;YAAE,SAAS;QAEjD,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC;QACzC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QAEhE,KAAK,MAAM,MAAM,IAAI,gBAAgB,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACvD,MAAM,QAAQ,GAAG,wBAAwB,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;YACxE,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,IAAI,cAA6C,CAAC;YAElD,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,kDAAkD;gBAClD,cAAc,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,sFAAsF;gBACtF,cAAc,GAAG,sBAAsB,CACrC,MAAM,CAAC,IAAI,EACX,iBAAiB,EACjB,CAAC,CAAC,EAAE,EAAE;oBACJ,MAAM,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;oBAC7C,IAAI,CAAC,OAAO;wBAAE,OAAO,SAAS,CAAC;oBAC/B,gEAAgE;oBAChE,oDAAoD;oBACpD,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;oBAC3C,OAAO,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBACrE,CAAC,CACF,CAAC;gBAEF,6EAA6E;gBAC7E,IAAI,CAAC,cAAc,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;oBAC3D,MAAM,QAAQ,GAAG,6BAA6B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC5D,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBAC7D,cAAc,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;wBAC5C,IACE,qBAAqB,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC;4BACnD,iBAAiB,EACjB,CAAC;4BACD,OAAO,KAAK,CAAC;wBACf,CAAC;wBACD,OAAO,CAAC,CAAC,QAAQ,CAAC,YAAY,KAAK,QAAQ,CAAC;oBAC9C,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,qDAAqD;YACrD,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,cAAc,GAAG,QAAQ,CAAC;YAC5B,CAAC;YAED,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC;gBACnC,QAAQ;gBACR,IAAI,EAAE,qBAAqB,CAAC,IAAI;gBAChC,aAAa,EAAE,MAAM,CAAC,IAAI;gBAC1B,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,IAAI,CAAC;gBACtD,aAAa,EAAE,SAAS;aACzB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"resolve-arm-resources-converter.js","sourceRoot":"","sources":["../../emitter/src/resolve-arm-resources-converter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-detection.d.ts","sourceRoot":"","sources":["../../emitter/src/resource-detection.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,WAAW,EAEZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,
|
|
1
|
+
{"version":3,"file":"resource-detection.d.ts","sourceRoot":"","sources":["../../emitter/src/resource-detection.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,WAAW,EAEZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAML,iBAAiB,EAUlB,MAAM,wBAAwB,CAAC;AAqChC,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAGvD,wBAAsB,aAAa,CACjC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,oBAAoB,EAChC,OAAO,EAAE,uBAAuB,iBAWjC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,oBAAoB,EAChC,SAAS,EAAE,SAAS,GACnB,iBAAiB,CA2dnB;AAgYD,wBAAgB,aAAa,CAAC,SAAS,EAAE,SAAS,GAAG,WAAW,EAAE,CAOjE"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
2
2
|
// Licensed under the MIT License. See License.txt in the project root for license information.
|
|
3
|
-
import {
|
|
3
|
+
import { ResourceOperationKind, ResourceScopeKind, convertArmProviderSchemaToArguments, postProcessArmResources, assignNonResourceMethodsToResources, resolveResourceApiVersions, extractRbacRoles, findLongestPrefixMatch, RequestPath } from "./resource-metadata.js";
|
|
4
4
|
import { getClientType } from "@azure-tools/typespec-client-generator-core";
|
|
5
5
|
import pluralize from "pluralize";
|
|
6
|
-
import { armProviderSchema, armResourceActionName, armResourceCreateOrUpdateName, armResourceDeleteName, armResourceInternal, armResourceListName, armResourceReadName, armResourceUpdateName, armResourceWithParameter, customAzureResource, extensionResourceOperationName, legacyExtensionResourceOperationName, legacyResourceOperationName, builtInResourceOperationName, parentResourceName, readsResourceName, singleton
|
|
6
|
+
import { armProviderSchema, armResourceActionName, armResourceCreateOrUpdateName, armResourceDeleteName, armResourceInternal, armResourceListName, armResourceReadName, armResourceUpdateName, armResourceWithParameter, customAzureResource, extensionResourceOperationName, legacyExtensionResourceOperationName, legacyResourceOperationName, builtInResourceOperationName, parentResourceName, readsResourceName, singleton } from "./sdk-context-options.js";
|
|
7
7
|
import { NoTarget, getPattern, getMinLength, getMaxLength } from "@typespec/compiler";
|
|
8
|
-
import { resolveArmResources
|
|
9
|
-
import { findLongestPrefixMatch } from "./utils.js";
|
|
8
|
+
import { resolveArmResources } from "./resolve-arm-resources-converter.js";
|
|
10
9
|
import { getAllSdkClients, traverseClient } from "./sdk-client-utils.js";
|
|
11
10
|
export async function updateClients(codeModel, sdkContext, options) {
|
|
12
11
|
let armProviderSchema;
|
|
@@ -88,25 +87,18 @@ export function buildArmProviderSchema(sdkContext, codeModel) {
|
|
|
88
87
|
existingPathsForModel.push(existingPath);
|
|
89
88
|
// Try to match based on resource type segments
|
|
90
89
|
// Extract the resource type part (after "/providers/")
|
|
91
|
-
const
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
catch {
|
|
98
|
-
// If we can't calculate resource type, try string matching
|
|
99
|
-
}
|
|
100
|
-
// If resource types match exactly, this is a potential candidate
|
|
101
|
-
if (existingResourceType &&
|
|
102
|
-
operationResourceType === existingResourceType) {
|
|
103
|
-
// Add to type match candidates
|
|
90
|
+
const existingReqPath = new RequestPath(existingPath);
|
|
91
|
+
const operationReqPath = new RequestPath(operationPath);
|
|
92
|
+
// Only compare resource types when both paths have a determinable resource type
|
|
93
|
+
if (existingReqPath.resourceType !== undefined &&
|
|
94
|
+
operationReqPath.resourceType !== undefined &&
|
|
95
|
+
existingReqPath.resourceType === operationReqPath.resourceType) {
|
|
104
96
|
typeMatchCandidates.push({ existingPath });
|
|
105
97
|
}
|
|
106
98
|
}
|
|
107
99
|
}
|
|
108
100
|
// Find the best prefix match using the utility
|
|
109
|
-
const bestPrefixMatch = findLongestPrefixMatch(operationPath, existingPathsForModel, (path) =>
|
|
101
|
+
const bestPrefixMatch = findLongestPrefixMatch(new RequestPath(operationPath), existingPathsForModel, (path) => new RequestPath(path).trimLastSegment);
|
|
110
102
|
// Selection strategy:
|
|
111
103
|
// 1. If there are prefix matches, use the best one (handles multi-scope resources correctly)
|
|
112
104
|
// 2. If there's only ONE type match candidate and no prefix matches, use it
|
|
@@ -135,14 +127,16 @@ export function buildArmProviderSchema(sdkContext, codeModel) {
|
|
|
135
127
|
// by looking for the resource model name in the path
|
|
136
128
|
const model = resourceModelMap.get(modelId);
|
|
137
129
|
const resourceTypeName = model?.name?.toLowerCase();
|
|
138
|
-
const pathLower = operationPath.toLowerCase();
|
|
139
130
|
// If the path doesn't include the resource type segment (e.g., "scheduledactions"),
|
|
140
131
|
// it's a provider operation, not a resource action
|
|
141
|
-
|
|
132
|
+
const opPath = new RequestPath(operationPath);
|
|
133
|
+
const hasResourceTypeSegment = resourceTypeName &&
|
|
134
|
+
opPath.segments.some((s) => s.toLowerCase() === resourceTypeName);
|
|
135
|
+
if (resourceTypeName && !hasResourceTypeSegment) {
|
|
142
136
|
nonResourceMethods.set(method.crossLanguageDefinitionId, {
|
|
143
137
|
methodId: method.crossLanguageDefinitionId,
|
|
144
|
-
operationPath:
|
|
145
|
-
operationScope:
|
|
138
|
+
operationPath: opPath,
|
|
139
|
+
operationScope: opPath.operationScope
|
|
146
140
|
});
|
|
147
141
|
return;
|
|
148
142
|
}
|
|
@@ -175,10 +169,13 @@ export function buildArmProviderSchema(sdkContext, codeModel) {
|
|
|
175
169
|
resourcePathToClientName.set(metadataKey, client.name);
|
|
176
170
|
}
|
|
177
171
|
entry = {
|
|
178
|
-
resourceIdPattern:
|
|
172
|
+
resourceIdPattern: undefined, // this will be populated later
|
|
179
173
|
resourceType: "", // this will be populated later
|
|
180
174
|
singletonResourceName: getSingletonResource(model?.decorators?.find((d) => d.name == singleton)),
|
|
181
|
-
|
|
175
|
+
scope: {
|
|
176
|
+
kind: ResourceScopeKind.Tenant,
|
|
177
|
+
scopeIdPattern: RequestPath.empty
|
|
178
|
+
}, // temporary default, will be properly set later
|
|
182
179
|
methods: [],
|
|
183
180
|
parentResourceId: undefined, // this will be populated later
|
|
184
181
|
parentResourceModelId: undefined,
|
|
@@ -190,25 +187,27 @@ export function buildArmProviderSchema(sdkContext, codeModel) {
|
|
|
190
187
|
};
|
|
191
188
|
resourcePathToMetadataMap.set(metadataKey, entry);
|
|
192
189
|
}
|
|
190
|
+
const opPath = new RequestPath(method.operation.path);
|
|
193
191
|
entry.methods.push({
|
|
194
192
|
methodId: method.crossLanguageDefinitionId,
|
|
195
193
|
kind,
|
|
196
|
-
operationPath:
|
|
197
|
-
operationScope:
|
|
194
|
+
operationPath: opPath,
|
|
195
|
+
operationScope: opPath.operationScope
|
|
198
196
|
});
|
|
199
|
-
if (!entry.resourceType) {
|
|
200
|
-
entry.resourceType =
|
|
197
|
+
if (!entry.resourceType && opPath.resourceType) {
|
|
198
|
+
entry.resourceType = opPath.resourceType;
|
|
201
199
|
}
|
|
202
200
|
if (!entry.resourceIdPattern && isCRUDKind(kind)) {
|
|
203
|
-
entry.resourceIdPattern =
|
|
201
|
+
entry.resourceIdPattern = opPath;
|
|
204
202
|
}
|
|
205
203
|
}
|
|
206
204
|
else {
|
|
207
205
|
// we treat this method as a non-resource method when it does not have a kind or an associated resource model
|
|
206
|
+
const operationPath = new RequestPath(method.operation.path);
|
|
208
207
|
nonResourceMethods.set(method.crossLanguageDefinitionId, {
|
|
209
208
|
methodId: method.crossLanguageDefinitionId,
|
|
210
|
-
operationPath:
|
|
211
|
-
operationScope:
|
|
209
|
+
operationPath: operationPath,
|
|
210
|
+
operationScope: operationPath.operationScope
|
|
212
211
|
});
|
|
213
212
|
}
|
|
214
213
|
};
|
|
@@ -245,7 +244,7 @@ export function buildArmProviderSchema(sdkContext, codeModel) {
|
|
|
245
244
|
const modelId = metadataKey.split("|")[0];
|
|
246
245
|
const model = resourceModelMap.get(modelId);
|
|
247
246
|
// Emit diagnostic for resources without resourceIdPattern
|
|
248
|
-
if (metadata.resourceIdPattern ===
|
|
247
|
+
if (metadata.resourceIdPattern === undefined && model) {
|
|
249
248
|
sdkContext.program.reportDiagnostic({
|
|
250
249
|
code: "general-warning",
|
|
251
250
|
severity: "warning",
|
|
@@ -274,19 +273,26 @@ export function buildArmProviderSchema(sdkContext, codeModel) {
|
|
|
274
273
|
// This is also specific to legacy resource detection
|
|
275
274
|
const allMapEntries = [...resourcePathToMetadataMap.entries()];
|
|
276
275
|
for (const [metadataKey, metadata] of resourcePathToMetadataMap) {
|
|
277
|
-
if (!metadata.parentResourceId &&
|
|
276
|
+
if (!metadata.parentResourceId &&
|
|
277
|
+
metadata.resourceIdPattern !== undefined) {
|
|
278
278
|
// Find the longest matching parent path (most specific parent)
|
|
279
|
-
const bestParent = findLongestPrefixMatch(metadata.resourceIdPattern, allMapEntries, ([key, m]) => key !== metadataKey
|
|
279
|
+
const bestParent = findLongestPrefixMatch(metadata.resourceIdPattern, allMapEntries, ([key, m]) => key !== metadataKey && m.resourceIdPattern !== undefined
|
|
280
|
+
? m.resourceIdPattern
|
|
281
|
+
: undefined, true);
|
|
280
282
|
if (bestParent) {
|
|
281
283
|
metadata.parentResourceId = bestParent[1].resourceIdPattern;
|
|
282
284
|
// Note: we don't set parentResourceModelId here since they share the same model
|
|
283
285
|
}
|
|
284
286
|
}
|
|
285
287
|
}
|
|
286
|
-
// Update the model's
|
|
288
|
+
// Update the model's scope based on resource scope decorator if it exists or based on the Read method's scope.
|
|
287
289
|
// This is specific to legacy resource detection
|
|
288
290
|
for (const metadata of resourcePathToMetadataMap.values()) {
|
|
289
|
-
|
|
291
|
+
const scopeKind = getResourceScope(metadata.methods);
|
|
292
|
+
metadata.scope = {
|
|
293
|
+
kind: scopeKind,
|
|
294
|
+
scopeIdPattern: metadata.resourceIdPattern?.scopePath ?? RequestPath.empty
|
|
295
|
+
};
|
|
290
296
|
}
|
|
291
297
|
// Create parent lookup context for legacy resource detection
|
|
292
298
|
// In this case, parent information comes from decorators and path matching (already populated above)
|
|
@@ -308,7 +314,7 @@ export function buildArmProviderSchema(sdkContext, codeModel) {
|
|
|
308
314
|
// Convert non-resource methods map to array
|
|
309
315
|
const nonResourceMethodsArray = Array.from(nonResourceMethods.values());
|
|
310
316
|
// Track resources before post-processing to emit diagnostics for filtered resources
|
|
311
|
-
const resourcesBeforeFiltering = new Set(resources.filter((r) => r.metadata.resourceIdPattern !==
|
|
317
|
+
const resourcesBeforeFiltering = new Set(resources.filter((r) => r.metadata.resourceIdPattern !== undefined));
|
|
312
318
|
// Use the shared post-processing function
|
|
313
319
|
const filteredResources = postProcessArmResources(resources, nonResourceMethodsArray, parentLookup, methodResponseModelIdMap);
|
|
314
320
|
// Emit diagnostics for resources that were filtered out (non-singleton resources without Read operations)
|
|
@@ -757,7 +763,7 @@ function getResourceScope(methods) {
|
|
|
757
763
|
}
|
|
758
764
|
}
|
|
759
765
|
// Final fallback to ResourceGroup
|
|
760
|
-
return
|
|
766
|
+
return ResourceScopeKind.ResourceGroup;
|
|
761
767
|
}
|
|
762
768
|
/**
|
|
763
769
|
* Applies the ARM provider schema as a decorator to the root client.
|