{ "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 255 }, "description": { "type": "string", "maxLength": 32767 }, "enabled": { "type": "boolean" }, "type": { "type": "string", "enum": [ "aws", "azure", "gcp", "http", "sendgrid", "twilio", "loggly", "jwt", "whatsapp", "sql", "mongodb", "mailgun" ] }, "awsConfig": { "type": "object", "properties": { "accessKeyId": { "type": "string", "minLength": 16, "maxLength": 128 }, "secretAccessKey": { "type": "string", "minLength": 4, "maxLength": 128 }, "region": { "type": "string", "minLength": 1, "maxLength": 128 } }, "additionalProperties": false, "required": [ "accessKeyId", "secretAccessKey", "region" ] }, "azureConfig": { "type": "object", "properties": { "account": { "type": "string", "maxLength": 128 }, "accountKey": { "type": "string", "minLength": 4, "maxLength": 128 } }, "additionalProperties": false, "required": [ "accountKey" ] }, "gcpConfig": { "type": "object", "properties": { "keyJson": { "type": "string", "minLength": 1, "maxLength": 8192 } }, "additionalProperties": false, "required": [ "keyJson" ] }, "httpConfig": { "type": "object", "properties": { "uriMatch": { "type": "string", "minLength": 8, "maxLength": 1024 }, "authMethod": { "type": "string", "enum": [ "header", "queryParam", "basicAuth", "clientCertificate" ] }, "publicValue": { "type": "string", "maxLength": 8196 }, "secretValue": { "type": "string", "maxLength": 8196 } }, "additionalProperties": false, "required": [ "uriMatch", "authMethod", "secretValue" ] }, "sendgridConfig": { "type": "object", "properties": { "apiKey": { "type": "string", "minLength": 4, "maxLength": 128 } }, "additionalProperties": false, "required": [ "apiKey" ] }, "twilioConfig": { "type": "object", "properties": { "accountSid": { "type": "string", "minLength": 4, "maxLength": 128 }, "apiKeySid": { "type": "string", "minLength": 4, "maxLength": 128 }, "apiKeySecret": { "type": "string", "minLength": 4, "maxLength": 128 } }, "additionalProperties": false, "required": [ "accountSid", "apiKeySid", "apiKeySecret" ] }, "logglyConfig": { "type": "object", "properties": { "customerToken": { "type": "string", "minLength": 1, "maxLength": 128 } }, "additionalProperties": false, "required": [ "customerToken" ] }, "jwtConfig": { "type": "object", "properties": { "issuer": { "type": "string", "maxLength": 1024 }, "algorithm": { "type": "string", "enum": [ "HS256", "HS384", "HS512", "RS256", "RS384", "RS512", "ES256", "ES384", "ES512" ] }, "secret": { "type": "string", "minLength": 1, "maxLength": 4096 } }, "additionalProperties": false, "required": [ "algorithm", "secret" ] }, "whatsappConfig": { "type": "object", "properties": { "accessToken": { "type": "string", "minLength": 1, "maxLength": 1024 }, "fromNumberId": { "type": "string", "minLength": 1, "maxLength": 128 } }, "additionalProperties": false, "required": [ "accessToken", "fromNumberId" ] }, "sqlConfig": { "type": "object", "properties": { "system": { "type": "string", "enum": [ "mssql", "mysql", "pg" ] }, "host": { "type": "string", "minLength": 1, "maxLength": 256 }, "port": { "oneOf": [ { "type": "integer", "minimum": 1, "maximum": 65535 }, { "type": "null" } ] }, "username": { "type": "string", "minLength": 1, "maxLength": 256 }, "password": { "type": "string", "minLength": 1, "maxLength": 256 }, "secureConnection": { "type": "boolean" }, "caCertificate": { "type": "string", "maxLength": 8196 }, "disableSSLVerification": { "type": "boolean" } }, "additionalProperties": false, "required": [ "system", "host", "username", "password" ] }, "mongodbConfig": { "type": "object", "properties": { "connectionUri": { "type": "string", "minLength": 1, "maxLength": 2048 }, "required": [ "connectionUri" ] }, "additionalProperties": false }, "mailgunConfig": { "type": "object", "properties": { "apiKey": { "type": "string", "minLength": 4, "maxLength": 128 } }, "additionalProperties": false, "required": [ "apiKey" ] } }, "additionalProperties": false, "required": [ "name", "type" ] }