UNPKG

@autorest/openapi-to-typespec

Version:

Autorest plugin to scaffold a Typespec definition from an OpenAPI document

63 lines 2.63 kB
import { CodeModel, ObjectSchema, Operation } from "@autorest/codemodel"; import { TypespecObject, TypespecEnum } from "../interfaces"; export interface _ArmResourceOperation { Name: string; Path: string; Method: string; OperationID: string; IsLongRunning: boolean; Description?: string; PagingMetadata: _ArmPagingMetadata | null; } export interface _ArmPagingMetadata { Method: string; ItemName: string; NextLinkName: string; } export interface Metadata { Resources: Record<string, ArmResource[]>; RenameMapping: Record<string, string>; OverrideOperationName: Record<string, string>; } export interface ArmResource { Name: string; GetOperation?: _ArmResourceOperation; ExistOperation?: _ArmResourceOperation; CreateOperation?: _ArmResourceOperation; UpdateOperation?: _ArmResourceOperation; DeleteOperation?: _ArmResourceOperation; ListOperations: _ArmResourceOperation[]; OperationsFromResourceGroupExtension: _ArmResourceOperation[]; OperationsFromSubscriptionExtension: _ArmResourceOperation[]; OperationsFromManagementGroupExtension: _ArmResourceOperation[]; OperationsFromTenantExtension: _ArmResourceOperation[]; OtherOperations: _ArmResourceOperation[]; Parents: string[]; SwaggerModelName: string; ResourceType: string; ResourceKey: string; ResourceKeySegment: string; IsTrackedResource: boolean; IsTenantResource: boolean; IsSubscriptionResource: boolean; IsManagementGroupResource: boolean; IsExtensionResource: boolean; IsSingletonResource: boolean; } export interface OperationWithResourceOperationFlag extends Operation { isResourceOperation?: boolean; } export declare function getResourceOperations(resource: ArmResource): Record<string, Operation>; export declare function getSingletonResouceListOperation(resource: ArmResource): Operation | undefined; export declare function getResourceExistOperation(resource: ArmResource): Operation | undefined; export interface ArmResourceSchema extends ObjectSchema { resourceMetadata: ArmResource[]; } export interface ArmResourcePropertiesModel extends ObjectSchema { isPropertiesModel: boolean; } export declare function tagSchemaAsResource(schema: ObjectSchema, metadata: Metadata): void; export declare function isResourceSchema(schema: ObjectSchema): schema is ArmResourceSchema; export declare function filterArmModels(codeModel: CodeModel, objects: TypespecObject[]): TypespecObject[]; export declare function filterArmEnums(enums: TypespecEnum[]): TypespecEnum[]; //# sourceMappingURL=resource-discovery.d.ts.map