{
  "$schema": "http://json-schema.org/schema",
  "id": "https://github.com/cyclosproject/ng-swagger-gen/blob/master/ng-swagger-gen-schema.json",
  "title": "Options for ng-swagger-gen",
  "type": "object",
  "required": [
    "swagger"
  ],
  "properties": {
    "$schema": {
      "type": "string"
    },
    "swagger": {
      "description": "The location of the swagger descriptor in JSON format.\nMay be either a local file or URL.",
      "type": "string"
    },
    "output": {
      "description": "Where generated files will be written to. Defaults to 'src/app/api'.",
      "type": "string",
      "default": "src/app/api"
    },
    "prefix": {
      "description": "A prefix to the generated global classes, such as `Configuration` and `Module`. Defaults to 'Api', so the default generated files are `ApiConfiguration` and `ApiModule`.",
      "type": "string",
      "default": "Api"
    },
    "classSuffix": {
      "description": "Suffix to use for generated API clients. Defaults to 'Service'",
      "type": "string",
      "default": "Service"
    },
    "serviceByOperationDelimeter": {
      "description": "When set to a value, services will be generated by operation id rather than by tag. The value of this option will be the delimiter used to split the ID with the left side being the service name.",
      "type": "string"
    },
    "includeTags": {
      "description": "When specified, filters the generated services, including only those corresponding to this list of tags.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "excludeTags": {
      "description": "When specified, filters the generated services, excluding any service corresponding to this list of tags.",
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "ignoreUnusedModels": {
      "description": "Indicates whether or not to ignore model files that are not referenced by any operation. Defaults to true.",
      "type": "boolean",
      "default": "true"
    },
    "minParamsForContainer": {
      "description": "Indicates the minimum number of parameters to wrap operation parameters in a container class. Defaults to 2.",
      "type": "integer",
      "default": "2"
    },
    "sortParams": {
      "description": "How to sort operation parameters. Required always come first. For backwards compatibility, the default value is 'desc', but 'none' is recommended for new projects.",
      "type": "string",
      "enum": [
        "none", "asc", "desc"
      ],
      "default": "desc"
    },
    "defaultTag": {
      "description": "The assumed tag for operations that don't define any. Defaults to 'Api'",
      "type": "string",
      "default": "Api"
    },
    "removeStaleFiles": {
      "description": "Indicates whether or not to remove any files in the output folder that were not generated by ng-swagger-gen. Defaults to true.",
      "type": "boolean",
      "default": "true"
    },
    "modelIndex": {
      "description": "Indicates whether or not to generate the file which exports all models. Defaults to true.",
      "type": "boolean",
      "default": "true"
    },
    "serviceIndex": {
      "description": "Indicates whether or not to generate the file which exports all services. Defaults to true.",
      "type": "boolean",
      "default": "true"
    },
    "apiModule": {
      "description": "Indicates whether or not to generate the Angular module which provides all services. Defaults to true.",
      "type": "boolean",
      "default": "true"
    },
    "enumModule": {
      "description": "Indicates whether or not to export an additional TypeScript module (not to be confused with Angular's @NgModule) for each enum model, exporting values as constants and providing the values() method. Setting to false will reduce the size of the generated code. Defaults to true.",
      "type": "boolean",
      "default": "true"
    },
    "templates": {
      "description": "Path to override the Mustache templates used to generate files.",
      "type": "string"
    },
    "generateExamples": {
      "description": "Indicates whether or not to generate the example files from the example sections of the models. Defaults to false.",
      "type": "boolean",
      "default": "false"
    },
    "camelCase": {
      "description": "Generates service methods in camelCase instead of PascalCase",
      "type": "boolean",
      "default": "false"
    }
  }
}
