UNPKG

@autorest/openapi-to-typespec

Version:

Autorest plugin to scaffold a Typespec definition from an OpenAPI document

64 lines 2.81 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; IsTrackedResourceWithOptionalLocation: boolean; IsManagementGroupResource: boolean; ScopeType: ScopeType; IsSingletonResource: boolean; } export type ScopeType = "NA" | "Scope" | "Tenant" | "Subscription" | "ResourceGroup" | "ManagementGroup" | "Extension"; export declare function isExtensionScopeType(scopeType: ScopeType): 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