generator/models.ts (41 lines of code) (raw):

// Copyright (c) Microsoft Corporation. // Licensed under the MIT License. export enum ScopeType { None = 0, Unknown = 1 << 0, Tenant = 1 << 1, Subscription = 1 << 2, ResourceGroup = 1 << 3, ManagementGroup = 1 << 4, Extension = 1 << 5, } export interface AutoGenConfig { disabledForAutogen?: true, basePath: string, namespace: string, useNamespaceFromConfig?: boolean, readmeFile?: string, readmeTag?: ReadmeTag, suffix?: string, resourceConfig?: AutoGenResourceConfig[], postProcessor?: SchemaPostProcessor, } export interface ReadmeTag { [apiVersion: string]: string[] } export interface CodeBlock { readonly "input-file"?: ReadonlyArray<string>|string } export interface AutoGenResourceConfig { type: string, scopes?: ScopeType, } export interface SchemaPostProcessorOnSaveAdditionalSchema { // eslint-disable-next-line @typescript-eslint/no-explicit-any (fileName: string, schema: any): Promise<void>, } export interface SchemaPostProcessor { // eslint-disable-next-line @typescript-eslint/no-explicit-any (namespace: string, apiVersion: string, schema: any, onSaveAdditional: SchemaPostProcessorOnSaveAdditionalSchema): Promise<void>, } export interface Package { packageName?: string, path: string[], result: 'succeeded' | 'failed' | 'warning' }