All Downloads are FREE. Search and download functionalities are using the official Maven repository.

schemas.sharedConfiguration.schema-form.json Maven / Gradle / Ivy

The newest version!
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "type": "object",
  "definitions": {
    "tcp": {
      "description": "TCP client options",
      "type": "object",
      "properties": {
        "connectTimeout": {
          "type": "integer",
          "minimum": 0,
          "default": 3000,
          "title": "Connection timeout",
          "description": "Timeout in ms to connect to the target"
        },
        "reconnectAttempts": {
          "type": "integer",
          "default": 3,
          "minimum": 0,
          "title": "Reconnect attempts",
          "description": "How much we try connecting to the target, 0 means: no retry"
        },
        "reconnectInterval": {
          "type": "integer",
          "default": 1000,
          "minimum": 0,
          "title": "Reconnect interval",
          "description": "Interval in ms between retries connecting to the target"
        },
        "idleTimeout": {
          "type": "integer",
          "default": 0,
          "minimum": 0,
          "title": "Idle timeout (ms)",
          "gioConfig": {
            "banner": {
              "title": "Idle timeout",
              "text": "Maximum time a TCP connection will stay active if no data is received or sent in milliseconds. Once the timeout has elapsed, the unused connection will be closed, allowing to free the associated resources. Zero means no timeout."
            }
          }
        },
        "readIdleTimeout": {
          "type": "integer",
          "default": 0,
          "minimum": 0,
          "title": "Read idle timeout (ms)",
          "description": "This determines if a connection will timeout and be closed if no data is received within the timeout."
        },
        "writeIdleTimeout": {
          "type": "integer",
          "default": 0,
          "minimum": 0,
          "title": "Write idle timeout (ms)",
          "description": "This determines if a connection will timeout and be closed if no data is sent within the timeout."
        }
      },
      "additionalProperties": false
    },
    "sslTrustStoreHostnameVerifier": {
      "title": "Verify Host",
      "description": "Use to enable host name verification",
      "type": "boolean",
      "default": true
    },
    "sslTrustStoreTrustAll": {
      "title": "Trust all",
      "description": "Use this with caution (if over Internet). The gateway must trust any origin certificates. The connection will still be encrypted but this mode is vulnerable to 'man in the middle' attacks.",
      "type": "boolean",
      "default": false
    },
    "sslTrustStorePassword": {
      "type": "string",
      "title": "Password",
      "description": "Truststore password",
      "format": "password",
      "gioConfig": {
        "banner": {
          "title": "SSL truststore password",
          "text": "The password for the truststore file. If a password is not set, truststore file configured will still be used, but integrity checking is disabled. Truststore password is not supported for PEM format."
        }
      }
    },
    "sslTrustStorePath": {
      "type": "string",
      "title": "Path to truststore",
      "description": "Path to the truststore file"
    },
    "sslTrustStoreContent": {
      "type": "string",
      "title": "Content",
      "description": "Binary content as Base64",
      "format": "text"
    },
    "sslKeyStorePassword": {
      "type": "string",
      "title": "Password",
      "description": "Password to use to open the key store",
      "format": "password"
    },
    "sslKeyStoreAlias": {
      "type": "string",
      "title": "Alias for the key",
      "description": "Alias of the key to use in case the key store contains more than one key"
    },
    "sslKeyStoreKeyPassword": {
      "type": "string",
      "title": "Key Password",
      "description": "Password to use to access the key when protected by password",
      "format": "password"
    },
    "sslKeyStorePath": {
      "type": "string",
      "title": "Path to key store",
      "description": "Path to the key store file"
    },
    "sslKeyStoreContent": {
      "type": "string",
      "title": "Content",
      "description": "Binary content as Base64",
      "format": "text"
    },
    "sslKeyStoreCertPath": {
      "type": "string",
      "title": "Path to cert file",
      "description": "Path to cert file (.PEM)"
    },
    "sslKeyStoreCertContent": {
      "type": "string",
      "title": "Certificate",
      "format": "text"
    },
    "sslKeyStoreKeyPath": {
      "type": "string",
      "title": "Path to private key file",
      "description": "Path to private key file (.PEM)"
    },
    "sslKeyStoreKeyContent": {
      "type": "string",
      "title": "Private key",
      "format": "text"
    },
    "ssl": {
      "type": "object",
      "title": "SSL Options",
      "properties": {
        "hostnameVerifier": {
          "$ref": "#/definitions/sslTrustStoreHostnameVerifier"
        },
        "trustAll": {
          "$ref": "#/definitions/sslTrustStoreTrustAll"
        },
        "trustStore": {
          "type": "object",
          "title": "Truststore",
          "oneOf": [
            {
              "type": "object",
              "title": "None",
              "properties": {
                "type": {
                  "const": ""
                }
              }
            },
            {
              "type": "object",
              "title": "JKS with path",
              "properties": {
                "type": {
                  "const": "JKS"
                },
                "password": {
                  "$ref": "#/definitions/sslTrustStorePassword"
                },
                "path": {
                  "$ref": "#/definitions/sslTrustStorePath"
                }
              },
              "required": [
                "password",
                "path"
              ]
            },
            {
              "type": "object",
              "title": "JKS with content",
              "properties": {
                "type": {
                  "const": "JKS"
                },
                "password": {
                  "$ref": "#/definitions/sslTrustStorePassword"
                },
                "content": {
                  "$ref": "#/definitions/sslTrustStoreContent"
                }
              },
              "required": [
                "password",
                "content"
              ]
            },
            {
              "type": "object",
              "title": "PKCS#12 / PFX with path",
              "properties": {
                "type": {
                  "const": "PKCS12"
                },
                "password": {
                  "$ref": "#/definitions/sslTrustStorePassword"
                },
                "path": {
                  "$ref": "#/definitions/sslTrustStorePath"
                }
              },
              "required": [
                "password",
                "path"
              ]
            },
            {
              "type": "object",
              "title": "PKCS#12 / PFX with content",
              "properties": {
                "type": {
                  "const": "PKCS12"
                },
                "password": {
                  "$ref": "#/definitions/sslTrustStorePassword"
                },
                "content": {
                  "$ref": "#/definitions/sslTrustStoreContent"
                }
              },
              "required": [
                "password",
                "content"
              ]
            },
            {
              "type": "object",
              "title": "PEM with path",
              "properties": {
                "type": {
                  "const": "PEM"
                },
                "password": {
                  "$ref": "#/definitions/sslTrustStorePassword"
                },
                "path": {
                  "$ref": "#/definitions/sslTrustStorePath"
                }
              },
              "required": [
                "password",
                "path"
              ]
            },
            {
              "type": "object",
              "title": "PEM with content",
              "properties": {
                "type": {
                  "const": "PEM"
                },
                "password": {
                  "$ref": "#/definitions/sslTrustStorePassword"
                },
                "content": {
                  "$ref": "#/definitions/sslTrustStoreContent"
                }
              },
              "required": [
                "password",
                "content"
              ]
            }
          ]
        },
        "keyStore": {
          "type": "object",
          "title": "Key store",
          "oneOf": [
            {
              "type": "object",
              "title": "None",
              "properties": {
                "type": {
                  "const": ""
                }
              }
            },
            {
              "type": "object",
              "title": "JKS with path",
              "properties": {
                "type": {
                  "const": "JKS"
                },
                "password": {
                  "$ref": "#/definitions/sslKeyStorePassword"
                },
                "alias": {
                  "$ref": "#/definitions/sslKeyStoreAlias"
                },
                "keyPassword": {
                  "$ref": "#/definitions/sslKeyStoreKeyPassword"
                },
                "path": {
                  "$ref": "#/definitions/sslKeyStorePath"
                }
              },
              "required": [
                "password",
                "path"
              ]
            },
            {
              "type": "object",
              "title": "JKS with content",
              "properties": {
                "type": {
                  "const": "JKS"
                },
                "password": {
                  "$ref": "#/definitions/sslKeyStorePassword"
                },
                "alias": {
                  "$ref": "#/definitions/sslKeyStoreAlias"
                },
                "keyPassword": {
                  "$ref": "#/definitions/sslKeyStoreKeyPassword"
                },
                "content": {
                  "$ref": "#/definitions/sslKeyStoreContent"
                }
              },
              "required": [
                "password",
                "content"
              ]
            },
            {
              "type": "object",
              "title": "PKCS#12 / PFX with path",
              "properties": {
                "type": {
                  "const": "PKCS12"
                },
                "password": {
                  "$ref": "#/definitions/sslKeyStorePassword"
                },
                "alias": {
                  "$ref": "#/definitions/sslKeyStoreAlias"
                },
                "keyPassword": {
                  "$ref": "#/definitions/sslKeyStoreKeyPassword"
                },
                "path": {
                  "$ref": "#/definitions/sslKeyStorePath"
                }
              },
              "required": [
                "password",
                "path"
              ]
            },
            {
              "type": "object",
              "title": "PKCS#12 / PFX with content",
              "properties": {
                "type": {
                  "const": "PKCS12"
                },
                "password": {
                  "$ref": "#/definitions/sslKeyStorePassword"
                },
                "alias": {
                  "$ref": "#/definitions/sslKeyStoreAlias"
                },
                "keyPassword": {
                  "$ref": "#/definitions/sslKeyStoreKeyPassword"
                },
                "content": {
                  "$ref": "#/definitions/sslKeyStoreContent"
                }
              },
              "required": [
                "password",
                "content"
              ]
            },
            {
              "type": "object",
              "title": "PEM with path",
              "properties": {
                "type": {
                  "const": "PEM"
                },
                "certPath": {
                  "$ref": "#/definitions/sslKeyStoreCertPath"
                },
                "keyPath": {
                  "$ref": "#/definitions/sslKeyStoreKeyPath"
                }
              },
              "required": [
                "certPath",
                "keyPath"
              ]
            },
            {
              "type": "object",
              "title": "PEM with content",
              "properties": {
                "type": {
                  "const": "PEM"
                },
                "certContent": {
                  "$ref": "#/definitions/sslKeyStoreCertContent"
                },
                "keyContent": {
                  "$ref": "#/definitions/sslKeyStoreKeyContent"
                }
              },
              "required": [
                "certContent",
                "keyContent"
              ]
            }
          ]
        }
      }
    },
    "proxy":{
      "type":"object",
      "title":"Proxy Options",
      "oneOf":[
        {
          "title":"No proxy",
          "properties":{
            "enabled":{
              "const":false
            },
            "useSystemProxy":{
              "const":false
            }
          },
          "additionalProperties":false
        },
        {
          "title":"Use proxy configured at system level",
          "properties":{
            "enabled":{
              "const":true
            },
            "useSystemProxy":{
              "const":true
            }
          },
          "additionalProperties":false
        },
        {
          "title":"Use proxy for client connections",
          "properties":{
            "enabled":{
              "const":true
            },
            "useSystemProxy":{
              "const":false
            },
            "type":{
              "type":"string",
              "title":"Proxy Type",
              "description":"The type of the proxy",
              "default":"SOCKS5",
              "enum":[
                "SOCKS4",
                "SOCKS5"
              ]
            },
            "host":{
              "type":"string",
              "title":"Proxy host",
              "description":"Proxy host to connect to"
            },
            "port":{
              "type":"integer",
              "title":"Proxy port",
              "description":"Proxy port to connect to"
            },
            "username":{
              "type":"string",
              "title":"Proxy username",
              "description":"Optional proxy username"
            },
            "password":{
              "type":"string",
              "title":"Proxy password",
              "description":"Optional proxy password",
              "format":"password"
            }
          },
          "required":[
            "host",
            "port"
          ],
          "additionalProperties":false
        }
      ]
    }
  },
  "properties": {
    "ssl": {
      "$ref": "#/definitions/ssl"
    },
    "tcp": {
      "$ref": "#/definitions/tcp"
    },
    "proxy": {
      "$ref": "#/definitions/proxy"
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy