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

.scale.cloudpool.splitter.3.0.0.source-code.splitter-config-schema.json Maven / Gradle / Ivy

Go to download

A cloud pool that uses a configured list of child cloud pools to carry out operations.

The newest version!
{
  "id": "http://elastisys.com/splitter-config-schema#",
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "configuration schema for the Splitter cloud pool",
  "definitions": {
    "basicCredentials": {
        "type": "object",
        "properties": {
            "username": { "type": "string" },
            "password": { "type": "string" }
        },
        "required": [ "username", "password" ]
    },
    "certificateCredentials": {
        "type": "object",
        "properties": {
            "keystorePath": { "type": "string" },
            "keystorePassword": { "type": "string" },
            "keyPassword": { "type": "string" },
            "keystoreType": { "enum": ["PKCS12", "JKS"]}
        },
        "required": [ "keystorePath", "keystorePassword", "keystoreType" ]
    },
    "cloudPoolEndpoint": {
        "type": "object",
        "properties": {
            "cloudPoolHost": { "type": "string" },
            "cloudPoolPort": { "type": "number", "minimum": 1, "maximum": 65535 }
        },
        "required": [ "cloudPoolHost", "cloudPoolPort" ]
    },
    "priority": { "type": "number", "minimum": 0, "maximum": 100 },    
    "poolSizeCalculator": { "enum": [ "STRICT" ] },
    "poolUpdatePeriod": {
        "description": "The time interval (in seconds) between pushing out the desired size to each child pool.",
        "type": "number",
        "minimum": 0
    }
  },
  "type": "object",
  "title": "SplitterConfig",
  "properties": {
    "$ref": "#/definitions/poolSizeCalculator",
    "backendPools": {
        "description": "Describes the set of back-end cloud pools and their respective priorities.",
        "type": "array",
        "items": {
          "allOf": [
              { "$ref": "#/definitions/priority" },
              { "$ref": "#/definitions/cloudPoolEndpoint" },
              {
                "anyOf": [
                    { "$ref": "#/definitions/basicCredentials" },
                    { "$ref": "#/definitions/certificateCredentials" }
                ]
              }
          ]
        },
        "minItems": 1,
        "uniqueItems": true
      }
    },
    "$ref": "#/definitions/poolUpdatePeriod",    
    "required": [ "poolSizeCalculator", "backendPools" ]
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy