[
  {
    "name": "memory",
    "description": "In-memory db",
    "baseModel": "PersistedModel",
    "features": {
      "discovery": false,
      "migration": false
    },
    "settings": {
      "localStorage": {
        "type": "string",
        "description": "window.localStorage key to use for persistence (browser only)"
      },
      "file": {
        "type": "string",
        "description": "Full path to file for persistence (server only)"
      }
    },
    "supportedByStrongLoop": true
  },
  {
    "name": "kv-memory",
    "description": "In-memory key-value connector",
    "baseModel": "KeyValueModel",
    "features": {
      "discovery": false,
      "migration": false
    },
    "supportedByStrongLoop": true
  },
  {
    "name": "ibm-object-storage",
    "description": "IBM Object Storage",
    "baseModel": "Model",
    "features": {
      "discovery": false,
      "migration": false
    },
    "settings": {
      "authUrl": {
        "type": "string"
      },
      "tenantId": {
        "type": "string"
      },
      "domainId": {
        "type": "string"
      },
      "username": {
        "type": "string"
      },
      "password": {
        "type": "string",
        "display": "password"
      },
      "region": {
        "type": "string"
      }
    },
    "package": {
      "name": "loopback-component-storage",
      "version": "^3.5.0"
    },
    "supportedByStrongLoop": true
  },
  {
    "name": "db2",
    "description": "IBM DB2",
    "baseModel": "PersistedModel",
    "features": {
      "discovery": true,
      "migration": true
    },
    "settings": {
      "dsn": {
        "type": "string",
        "description": "Connection String dsn to override other settings (eg: DATABASE=MY_DB;HOSTNAME=MY_HOST;PORT=MY_PORT;PROTOCOL=TCPIP;UID=MY_UID;PWD=MY_PWD))"
      },
      "host": {
        "type": "string"
      },
      "port": {
        "type": "number"
      },
      "user": {
        "type": "string"
      },
      "password": {
        "type": "string",
        "display": "password"
      },
      "database": {
        "type": "string"
      },
      "schema": {
        "type": "string"
      }
    },
    "package": {
      "name": "loopback-connector-db2",
      "version": "^2.1.1"
    },
    "supportedByStrongLoop": true
  },
  {
    "name": "dashdb",
    "description": "IBM DashDB",
    "baseModel": "PersistedModel",
    "features": {
      "discovery": true,
      "migration": true
    },
    "settings": {
      "dsn": {
        "type": "string",
        "description": "Connection String dsn to override other settings (eg: DATABASE=MY_DB;HOSTNAME=MY_HOST;PORT=MY_PORT;PROTOCOL=TCPIP;UID=MY_UID;PWD=MY_PWD))"
      },
      "host": {
        "type": "string"
      },
      "port": {
        "type": "number"
      },
      "user": {
        "type": "string"
      },
      "password": {
        "type": "string",
        "display": "password"
      },
      "database": {
        "type": "string"
      }
    },
    "package": {
      "name": "loopback-connector-dashdb",
      "version": "^2.0.2"
    },
    "supportedByStrongLoop": true
  },
  {
    "name": "mqlight",
    "description": "IBM MQ Light",
    "baseModel": "Model",
    "features": {
      "discovery": false,
      "migration": false
    },
    "settings": {
      "service": {
        "type": "string",
        "description": "URL string for MQ Light service"
      },
      "user": {
        "type": "string"
      },
      "password": {
        "type": "string",
        "display": "password"
      }
    },
    "package": {
      "name": "loopback-connector-mqlight",
      "version": "^3.1.0"
    },
    "supportedByStrongLoop": true
  },
  {
    "name": "cloudant",
    "description": "IBM Cloudant DB",
    "baseModel": "PersistedModel",
    "features": {
      "discovery": false,
      "migration": true
    },
    "settings": {
      "url": {
        "type": "string",
        "description": "Connection String url to override other settings (eg: https://username:password@host)"
      },
      "database": {
        "type": "string"
      },
      "username": {
        "type": "string"
      },
      "password": {
        "type": "string",
        "display": "password"
      },
      "modelIndex": {
        "type": "string",
        "description": "Specify the model name to document mapping, defaults to `loopback__model__name`"
      }
    },
    "package": {
      "name": "loopback-connector-cloudant",
      "version": "^2.2.0"
    },
    "supportedByStrongLoop": true
  },
  {
    "name": "couchdb2",
    "description": "Couchdb 2.x",
    "baseModel": "PersistedModel",
    "features": {
      "discovery": false,
      "migration": true
    },
    "settings": {
      "url": {
        "type": "string",
        "description": "Connection String url to override other settings (eg: https://username:password@host)"
      },
      "database": {
        "type": "string"
      },
      "username": {
        "type": "string"
      },
      "password": {
        "type": "string",
        "display": "password"
      },
      "modelIndex": {
        "type": "string",
        "description": "Specify the model name to document mapping, defaults to `loopback__model__name`"
      }
    },
    "package": {
      "name": "loopback-connector-couchdb2",
      "version": "^1.3.0"
    },
    "supportedByStrongLoop": true
  },
  {
    "name": "db2z",
    "description": "IBM DB2 for z/OS",
    "baseModel": "PersistedModel",
    "features": {
      "discovery": true,
      "migration": true
    },
    "settings": {
      "dsn": {
        "type": "string",
        "description": "Connection String dsn to override other settings (eg: DATABASE=MY_DB;HOSTNAME=MY_HOST;PORT=MY_PORT;PROTOCOL=TCPIP;UID=MY_UID;PWD=MY_PWD))"
      },
      "host": {
        "type": "string"
      },
      "port": {
        "type": "number"
      },
      "user": {
        "type": "string"
      },
      "password": {
        "type": "string",
        "display": "password"
      },
      "database": {
        "type": "string"
      }
    },
    "package": {
      "name": "loopback-connector-db2z",
      "version": "^2.0.0"
    },
    "supportedByStrongLoop": true
  },
  {
    "name": "kv-extreme-scale",
    "description": "IBM WebSphere eXtreme Scale key-value connector",
    "baseModel": "KeyValueModel",
    "features": {
      "discovery": false,
      "migration": false
    },
    "settings": {
      "url": {
        "type": "string",
        "description": "Connection String url to override other settings (eg: https://user:pass@host:port/wxsdata/v1/grids/$GRID_NAME)"
      },
      "strictSSL": {
        "type": "boolean",
        "description": "Use SSL for connections to the grid"
      }
    },
    "package": {
      "name": "loopback-connector-kv-extreme-scale",
      "version": "^1.0.1"
    },
    "supportedByStrongLoop": true
  },
  {
    "name": "cassandra",
    "description": "Cassandra",
    "baseModel": "PersistedModel",
    "features": {
      "discovery": true,
      "migration": true
    },
    "settings": {
      "host": {
        "type": "string"
      },
      "port": {
        "type": "number",
        "default": 9042
      },
      "user": {
        "type": "string"
      },
      "password": {
        "type": "string",
        "display": "password"
      },
      "database": {
        "type": "string"
      },
      "connectTimeout": {
        "type": "number",
        "default": 30000,
        "description": "connectTimeout(ms)"
      },
      "readTimeout": {
        "type": "number",
        "default": 30000,
        "description": "readTimeout(ms)"
      }
    },
    "package": {
      "name": "loopback-connector-cassandra",
      "version": "^1.7.0"
    },
    "supportedByStrongLoop": true
  },
  {
    "name": "grpc",
    "description": "gRPC",
    "baseModel": "Model",
    "features": {
      "discovery": false,
      "migration": false
    },
    "package": {
      "name": "loopback-connector-grpc",
      "version": "^1.3.0"
    },
    "settings": {
      "spec": {
        "type": "string",
        "description": "HTTP URL/path to gRPC spec file (file name extension .yaml/.yml or .json)"
      },
      "validate": {
        "type": "boolean",
        "description": "Validate spec against gRPC specification 2.0?"
      },
      "security": {
        "type": "object",
        "description": "Security config for making authenticated requests to API"
      }
    },
    "supportedByStrongLoop": true
  },
  {
    "name": "kv-redis",
    "description": "Redis key-value connector",
    "baseModel": "KeyValueModel",
    "features": {
      "discovery": false,
      "migration": false
    },
    "settings": {
      "url": {
        "type": "string",
        "description": "Connection String url to override other settings (eg: redis://user:pass@host:port/db)"
      },
      "host": {
        "type": "string"
      },
      "port": {
        "type": "number"
      },
      "password": {
        "type": "string",
        "display": "password"
      },
      "db": {
        "type": "number"
      }
    },
    "package": {
      "name": "loopback-connector-kv-redis",
      "version": "^3.0.0"
    },
    "supportedByStrongLoop": true
  },
  {
    "name": "ibmi",
    "description": "Db2 for i",
    "baseModel": "PersistedModel",
    "features": {
      "discovery": true,
      "migration": true
    },
    "settings": {
      "connectionString": {
        "type": "string",
        "description": "Connection String (e.g.: DSN=MyDSN;SYSTEM=my.system;UID=MY_UID;PWD=MY_PWD))"
      }
    },
    "package": {
      "name": "loopback-connector-ibmi",
      "version": "^1.0.0"
    },
    "supportedByStrongLoop": true
  },
  {
    "name": "mongodb",
    "description": "MongoDB",
    "baseModel": "PersistedModel",
    "features": {
      "discovery": false,
      "migration": true
    },
    "settings": {
      "url": {
        "type": "string",
        "description": "Connection String url to override other settings (eg: mongodb://username:password@hostname:port/database)"
      },
      "host": {
        "type": "string"
      },
      "port": {
        "type": "number"
      },
      "user": {
        "type": "string"
      },
      "password": {
        "type": "string",
        "display": "password"
      },
      "database": {
        "type": "string"
      },
      "useNewUrlParser":{
        "type": "boolean",
        "description": "Feature supported by MongoDB v3.1.0 and above"
      }
    },
    "package": {
      "name": "loopback-connector-mongodb",
      "version": "^4.0.0"
    },
    "supportedByStrongLoop": true
  },
  {
    "name": "mysql",
    "description": "MySQL",
    "baseModel": "PersistedModel",
    "features": {
      "discovery": true,
      "migration": true
    },
    "settings": {
      "url": {
        "type": "string",
        "description": "Connection String url to override other settings (eg: mysql://user:pass@host/db)"
      },
      "host": {
        "type": "string"
      },
      "port": {
        "type": "number"
      },
      "user": {
        "type": "string"
      },
      "password": {
        "type": "string",
        "display": "password"
      },
      "database": {
        "type": "string"
      }
    },
    "package": {
      "name": "loopback-connector-mysql",
      "version": "^5.3.0"
    },
    "supportedByStrongLoop": true
  },
  {
    "name": "postgresql",
    "description": "PostgreSQL",
    "baseModel": "PersistedModel",
    "features": {
      "discovery": true,
      "migration": true
    },
    "settings": {
      "url": {
        "type": "string",
        "description": "Connection String url to override other settings (eg: postgres://username:password@localhost/database)"
      },
      "host": {
        "type": "string"
      },
      "port": {
        "type": "number"
      },
      "user": {
        "type": "string"
      },
      "password": {
        "type": "string",
        "display": "password"
      },
      "database": {
        "type": "string"
      }
    },
    "package": {
      "name": "loopback-connector-postgresql",
      "version": "^3.4.0"
    },
    "supportedByStrongLoop": true
  },
  {
    "name": "oracle",
    "description": "Oracle",
    "baseModel": "PersistedModel",
    "features": {
      "discovery": true,
      "migration": true
    },
    "settings": {
      "tns": {
        "type": "string",
        "description": "Connection String tns (eg: DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MY_HOST)(PORT=MY_PORT))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=MY_DB)))"
      },
      "host": {
        "type": "string"
      },
      "port": {
        "type": "number"
      },
      "user": {
        "type": "string"
      },
      "password": {
        "type": "string",
        "display": "password"
      },
      "database": {
        "type": "string"
      }
    },
    "package": {
      "name": "loopback-connector-oracle",
      "version": "^4.1.0"
    },
    "supportedByStrongLoop": true
  },
  {
    "name": "mssql",
    "description": "Microsoft SQL",
    "baseModel": "PersistedModel",
    "features": {
      "discovery": true,
      "migration": true
    },
    "settings": {
      "url": {
        "type": "string",
        "description": "Connection String url to override other settings (eg: mssql://username:password@localhost/database)"
      },
      "host": {
        "type": "string"
      },
      "port": {
        "type": "number"
      },
      "user": {
        "type": "string"
      },
      "password": {
        "type": "string",
        "display": "password"
      },
      "database": {
        "type": "string"
      }
    },
    "package": {
      "name": "loopback-connector-mssql",
      "version": "^3.3.0"
    },
    "supportedByStrongLoop": true
  },
  {
    "name": "openapi",
    "description": "OpenAPI",
    "baseModel": "Model",
    "features": {
      "discovery": false,
      "migration": false
    },
    "package": {
      "name": "loopback-connector-openapi",
      "version": "^4.0.1"
    },
    "settings": {
      "spec": {
        "type": "string",
        "description": "HTTP URL/path to Swagger spec file (file name extension .yaml/.yml or .json)"
      },
      "validate": {
        "type": "boolean",
        "description": "Validate spec against Swagger spec 2.0?"
      },
      "authorizations": {
        "type": "object",
        "description": "Security config for making authenticated requests to API"
      },
      "positional": {
        "type": "boolean",
        "description": "Use positional parameters instead of named parameters?"
      }
    },
    "supportedByStrongLoop": true
  },
  {
    "name": "rest",
    "description": "REST services",
    "baseModel": "Model",
    "features": {
      "discovery": false,
      "migration": false
    },
    "settings": {
      "baseURL": {
        "type": "string",
        "description": "Base URL for the REST service"
      },
      "options": {
        "type": "object",
        "description": "Default options for the request"
      },
      "operations": {
        "type": "array",
        "description": "An array of operation templates"
      },
      "crud": {
        "type": "boolean",
        "default": false,
        "description": "Use default CRUD mapping"
      }
    },
    "package": {
      "name": "loopback-connector-rest",
      "version": "^3.2.0"
    },
    "supportedByStrongLoop": true
  },
  {
    "name": "soap",
    "description": "SOAP webservices",
    "baseModel": "Model",
    "features": {
      "discovery": false,
      "migration": false
    },
    "package": {
      "name": "loopback-connector-soap",
      "version": "^4.3.0"
    },
    "settings": {
      "url": {
        "type": "string",
        "description": "URL to the SOAP web service endpoint"
      },
      "wsdl": {
        "type": "string",
        "description": "HTTP URL or local file system path to the WSDL file"
      },
      "remotingEnabled": {
        "type": "boolean",
        "description": "Expose operations as REST APIs"
      },
      "operations": {
        "type": "object",
        "description": "Maps WSDL binding operations to Node.js methods"
      }
    },
    "supportedByStrongLoop": true
  },
  {
    "name": "couchbase",
    "description": "Couchbase",
    "baseModel": "PersistedModel",
    "features": {
      "discovery": false,
      "migration": false
    },
    "settings": {
      "host": {
        "type": "string"
      },
      "port": {
        "type": "number"
      },
      "n1qlport": {
        "type": "number"
      },
      "name": {
        "type": "string",
        "description": "The name of the datasource"
      },
      "connectionTimeout": {
        "type": "number"
      },
      "operationTimeout": {
        "type": "number"
      },
      "env": {
        "type": "string",
        "description": "Environment variable for debugging"
      }
    },
    "package": {
      "name": "loopback-connector-couchbase",
      "version": "^1.0.6"
    },
    "supportedByStrongLoop": false
  },
  {
    "name": "neo4j",
    "description": "Neo4j",
    "baseModel": "PersistedModel",
    "features": {
      "discovery": false,
      "migration": false
    },
    "package": {
      "name": "loopback-connector-neo4j",
      "version": "^0.1.3"
    },
    "supportedByStrongLoop": false
  },
  {
    "name": "twilio",
    "description": "Twilio Connector",
    "baseModel": "Model",
    "features": {
      "discovery": false,
      "migration": false
    },
    "settings":{
      "accountSid": {
        "type": "string",
        "description": "Twilio Account Sid"
      },
      "authToken": {
        "type": "string",
        "description": "Twilio Account AuthToken"
      }
    },
    "package": {
      "name": "loopback-connector-twilio",
      "version": "^1.0.0"
    },
    "supportedByStrongLoop": false
  },
  {
    "name": "kafka",
    "description": "Kafka",
    "baseModel": "PersistedModel",
    "features": {
      "discovery": false,
      "migration": false
    },
    "package": {
      "name": "loopback-connector-kafka",
      "version": "^0.2.1"
    },
    "supportedByStrongLoop": false
  },
  {
    "name": "saphana",
    "description": "SAP HANA",
    "baseModel": "PersistedModel",
    "features": {
      "discovery": true,
      "migration": true
    },
    "settings": {
      "host": {
        "type": "string"
      },
      "port": {
        "type": "number"
      },
      "user": {
        "type": "string"
      },
      "password": {
        "type": "string",
        "display": "password"
      },
      "database": {
        "type": "string"
      }
    },
    "package": {
      "name": "loopback-connector-saphana",
      "version": "^0.7.2"
    },
    "supportedByStrongLoop": false
  },
  {
    "name": "mail",
    "description": "Email",
    "baseModel": "Email",
    "features": {
      "discovery": false,
      "migration": false
    },
    "settings": {
      "transports": {
        "type": "array",
        "description": "An array of transport configuration objects"
      }
    },
    "supportedByStrongLoop": true
  },
  {
    "name": "es",
    "description": "ElasticSearch",
    "baseModel": "PersistedModel",
    "features": {
      "discovery": false,
      "migration": false
    },
    "settings": {
      "index": {
        "type": "string",
        "description": "ElasticSearch Index"
      },
      "hosts": {
        "type": "array",
        "description": "Hosts array"
      },
      "apiVersion": {
        "type": "string",
        "description": "API Version to use (ex: 2.2)"
      },
      "defaultSize": {
        "type": "string",
        "description": "Default results size"
      },
      "mappings": {
        "type": "array",
        "description": "Array of field mappings"
      },
      "settings": {
        "type": "object",
        "description": "Settings object"
      }
    },
    "package": {
      "name": "loopback-connector-es",
      "version": "^1.4.1"
    },
    "supportedByStrongLoop": false
  },
  {
    "name": "zosconnectee",
    "description": "z/OS Connect Enterprise Edition",
    "baseModel": "Model",
    "features": {
      "discovery": false,
      "migration": false
    },
    "settings": {
      "baseURL": {
        "type": "string",
        "description": "Base URL of the z/OS Connect Enterprise Edition server"
      },
      "user": {
        "type": "string"
      },
      "password": {
        "type": "string",
        "display": "password"
      }
    },
    "package": {
      "name": "loopback-connector-zosconnectee",
      "version": "^1.0.0"
    },
    "supportedByStrongLoop": true
  }
]
