serverless-openapi-documentation
Version:
Serverless 1.0 plugin to generate OpenAPI V3 documentation from serverless configuration
67 lines (66 loc) • 1.52 kB
TypeScript
export interface IModels {
name: string;
description: string;
contentType: string;
schema: object | any[];
examples: any[];
example: object;
}
export interface IDefinitionConfig {
title: string;
description: string;
version?: string;
models: IModels[];
}
export interface IDefinitionType {
file: string;
format: 'yaml' | 'json';
indent: number;
}
export interface IServerlessFunctionConfig {
_functionName: string;
handler: string;
description?: string;
environment?: object;
events?: any[];
}
export interface IOperation {
tags?: string[];
summary?: string;
description?: string;
externalDocs?: any;
operationId?: string;
parameters?: IParameterConfig[];
requestBody?: any;
responses?: any;
callbacks?: any;
deprecated?: boolean;
security?: any[];
servers?: any[];
}
export interface IParameterConfig {
name: string;
in: 'path' | 'query' | 'header' | 'cookie';
description: string;
required?: boolean;
schema?: object;
deprecated?: boolean;
allowEmptyValue?: boolean;
style?: 'form' | 'simple';
explode?: boolean;
allowReserved?: boolean;
example?: any;
examples?: any[];
content?: Map<string, any>;
}
export interface IDefinition {
openapi: string;
info: any;
servers?: any[];
paths: any;
components?: any;
security?: any[];
tags?: any[];
externalDocs: any;
}
export declare type ILog = (...str: string[]) => void;