/** * Apimatic APILib * * This file was automatically generated by APIMATIC v3.0 ( https://www.apimatic.io ). */ import { array, lazy, optional, Schema, string, typedExpandoObject, unknown, } from '../schema.js'; import { MEnvironment, mEnvironmentSchema } from './mEnvironment.js'; import { Parameter, parameterSchema } from './parameter.js'; /** Server configurations can be used to create multiple environments, multiple servers that can be used with specific endpoints and server URLs with template paramters. */ export interface ServerConfiguration { /** Server Config Identifier */ id: string; /** Default Environment */ defaultEnvironment: string; /** Default Server */ defaultServer: string; /** Environment Identifier and Name */ environments: MEnvironment[]; /** Parameter Attributes */ parameters: Parameter[]; additionalProperties?: Record; } export const serverConfigurationSchema: Schema = lazy(() => typedExpandoObject( { id: ['id', string()], defaultEnvironment: ['defaultEnvironment', string()], defaultServer: ['defaultServer', string()], environments: ['environments', array(mEnvironmentSchema)], parameters: ['parameters', array(parameterSchema)], }, 'additionalProperties', optional(unknown()) ) );