{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "id": "/",
    "title": "oxtrust.properties",
    "type": "object",
    "additionalProperties": true,
    "properties": {
        "baseDN": {
            "id": "baseDN",
            "type": "string",
            "minLength": 1
        },
        "orgInum": {
            "id": "orgInum",
            "type": "string",
            "minLength": 1
        },
        "orgIname": {
            "id": "orgIname",
            "type": "string",
            "minLength": 1
        },
        "orgSupportEmail": {
            "id": "orgSupportEmail",
            "type": "string",
            "format": "email",
            "minLength": 1
        },
        "applianceInum": {
            "id": "applianceInum",
            "type": "string",
            "minLength": 1
        },
        "applianceUrl": {
            "id": "applianceUrl",
            "type": "string",
            "format": "url",
            "minLength": 1
        },
        "baseEndpoint": {
            "id": "baseEndpoint",
            "type": "string",
            "format": "url",
            "minLength": 1
        },
        "personObjectClassTypes": {
            "id": "personObjectClassTypes",
            "type": "array",
            "minItems": 1,
            "uniqueItems": true,
            "additionalItems": true,
            "items": {
                "type": "string",
                "minLength": 1
            }
        },
        "personCustomObjectClass": {
            "id": "personCustomObjectClass",
            "type": "string",
            "minLength": 1
        },
        "personObjectClassDisplayNames": {
            "id": "personObjectClassDisplayNames",
            "type": "array",
            "minItems": 1,
            "uniqueItems": true,
            "additionalItems": true,
            "items": {
                "type": "string",
                "minLength": 1
            }
        },
        "contactObjectClassTypes": {
            "id": "contactObjectClassTypes",
            "type": "array",
            "minItems": 0,
            "uniqueItems": false,
            "additionalItems": true,
            "items": {
                "type": "string",
                "minLength": 1
            }
        },
        "contactObjectClassDisplayNames": {
            "id": "contactObjectClassDisplayNames",
            "type": "array",
            "minItems": 0,
            "uniqueItems": false,
            "additionalItems": true,
            "items": {
                "type": "string",
                "minLength": 1
            }
        },
        "photoRepositoryRootDir": {
            "id": "photoRepositoryRootDir",
            "type": "string",
            "minLength": 1
        },
        "photoRepositoryThumbWidth": {
            "id": "photoRepositoryThumbWidth",
            "type": "integer",
            "multipleOf": 1,
            "maximum": 2147483647,
            "minimum": 1,
            "exclusiveMaximum": false,
            "exclusiveMinimum": false
        },
        "photoRepositoryThumbHeight": {
            "id": "photoRepositoryThumbHeight",
            "type": "integer",
            "multipleOf": 1,
            "maximum": 2147483647,
            "minimum": 1,
            "exclusiveMaximum": false,
            "exclusiveMinimum": false
        },
        "photoRepositoryCountLeveles": {
            "id": "photoRepositoryCountLeveles",
            "type": "integer",
            "multipleOf": 1,
            "maximum": 2147483647,
            "minimum": 1,
            "exclusiveMaximum": false,
            "exclusiveMinimum": false
        },
        "photoRepositoryCountFoldersPerLevel": {
            "id": "photoRepositoryCountFoldersPerLevel",
            "type": "integer",
            "multipleOf": 1,
            "maximum": 2147483647,
            "minimum": 1,
            "exclusiveMaximum": false,
            "exclusiveMinimum": false
        },
        "authMode": {
            "id": "authMode",
            "type": "string",
            "minLength": 1
        },
        "ldifStore": {
            "id": "ldifStore",
            "type": "string",
            "minLength": 1
        },
        "pokenApplicationSecret": {
            "id": "pokenApplicationSecret",
            "type": "string"
        },
        "updateApplianceStatus": {
            "id": "updateApplianceStatus",
            "type": "boolean"
        },
        "svnConfigurationStoreRoot": {
            "id": "svnConfigurationStoreRoot",
            "type": "string",
            "minLength": 1
        },
        "svnConfigurationStorePassword": {
            "id": "svnConfigurationStorePassword",
            "type": "string",
            "minLength": 1
        },
        "keystorePath": {
            "id": "keystorePath",
            "type": "string",
            "minLength": 1
        },
        "keystorePassword": {
            "id": "keystorePassword",
            "type": "string",
            "minLength": 1
        },
        "allowPersonModification": {
            "id": "allowPersonModification",
            "type": "boolean"
        },
        "idpUrl": {
            "id": "idpUrl",
            "type": "string",
            "format": "url",
            "minLength": 1
        },
        "velocityLog": {
            "id": "velocityLog",
            "type": "string",
            "minLength": 1
        },
        "spMetadataPath": {
            "id": "spMetadataPath",
            "type": "string",
            "minLength": 1
        },
        "logoLocation": {
            "id": "logoLocation",
            "type": "string",
            "minLength": 1
        },
        "idpSecurityKey": {
            "id": "idpSecurityKey",
            "type": "string",
            "minLength": 1
        },
        "idpSecurityKeyPassword": {
            "id": "idpSecurityKeyPassword",
            "type": "string",
            "minLength": 1
        },
        "idpSecurityCert": {
            "id": "idpSecurityCert",
            "type": "string",
            "minLength": 1
        },
        "gluuSpAttributes": {
            "id": "gluuSpAttributes",
            "type": "array",
            "minItems": 0,
            "uniqueItems": false,
            "additionalItems": true,
            "items": {
                "type": "string",
                "minLength": 1
            }
        },
        "configGeneration": {
            "id": "configGeneration",
            "type": "boolean"
        },
        "idpLdapProtocol": {
            "id": "idpLdapProtocol",
            "type": "string",
            "minLength": 1
        },
        "idpLdapServer": {
            "id": "idpLdapServer",
            "type": "string",
            "minLength": 1
        },
        "idpBindDn": {
            "id": "idpBindDn",
            "type": "string",
            "minLength": 1
        },
        "idpBindPassword": {
            "id": "idpBindPassword",
            "type": "string",
            "minLength": 1
        },
        "idpUserFields": {
            "id": "idpUserFields",
            "type": "string"
        },
        "gluuSpCert": {
            "id": "gluuSpCert",
            "type": "string",
            "minLength": 1
        },
        "shibboleth3FederationRootDir": {
            "id": "shibboleth3FederationRootDir",
            "type": "string",
            "minLength": 1
        },
        "cacheRefreshEnabled": {
            "id": "cacheRefreshEnabled",
            "type": "boolean"
        },
        "cacheRefreshIntervalMinutes": {
            "id": "cacheRefreshIntervalMinutes",
            "type": "integer",
            "multipleOf": 1,
            "maximum": 2147483647,
            "minimum": 1,
            "exclusiveMaximum": false,
            "exclusiveMinimum": false
        },
        "caCertsLocation": {
            "id": "caCertsLocation",
            "type": "string",
            "minLength": 1
        },
        "caCertsPassphrase": {
            "id": "caCertsPassphrase",
            "type": "string"
        },
        "tempCertDir": {
            "id": "tempCertDir",
            "type": "string",
            "minLength": 1
        },
        "certDir": {
            "id": "certDir",
            "type": "string",
            "minLength": 1
        },
        "servicesRestartTrigger": {
            "id": "servicesRestartTrigger",
            "type": "string",
            "minLength": 1
        },
        "persistSVN": {
            "id": "persistSVN",
            "type": "boolean"
        },
        "oxAuthSectorIdentifierUrl": {
            "id": "oxAuthSectorIdentifierUrl",
            "type": "string",
            "format": "url",
            "minLength": 1
        },
        "oxAuthClientId": {
            "id": "oxAuthClientId",
            "type": "string",
            "minLength": 1
        },
        "oxAuthClientPassword": {
            "id": "oxAuthClientPassword",
            "type": "string",
            "minLength": 1
        },
        "oxAuthClientScope": {
            "id": "oxAuthClientScope",
            "type": "string",
            "minLength": 1
        },
        "loginRedirectUrl": {
            "id": "loginRedirectUrl",
            "type": "string",
            "format": "url",
            "minLength": 1
        },
        "logoutRedirectUrl": {
            "id": "logoutRedirectUrl",
            "type": "string",
            "format": "url",
            "minLength": 1
        },
        "clusteredInums": {
            "id": "clusteredInums",
            "type": "array",
            "minItems": 0,
            "uniqueItems": false,
            "additionalItems": true,
            "items": {
                "type": "string"
            }
        },
        "clientAssociationAttribute": {
            "id": "clientAssociationAttribute",
            "type": "string",
            "minLength": 1
        },
        "oxAuthIssuer": {
            "id": "oxAuthIssuer",
            "type": "string"
        },
        "ignoreValidation": {
            "id": "ignoreValidation",
            "type": "boolean"
        },
        "umaIssuer": {
            "id": "umaIssuer",
            "type": "string",
            "minLength": 1
        },
        "scimUmaClientId": {
            "id": "umaClientId",
            "type": "string",
            "minLength": 1
        },
        "scimUmaClientKeyId": {
            "id": "umaClientKeyId",
            "type": "string",
            "minLength": 1
        },
        "scimUmaResourceId": {
            "id": "umaResourceId",
            "type": "string",
            "minLength": 1
        },
        "scimUmaScope": {
            "id": "umaScope",
            "type": "string",
            "minLength": 1
        },
        "scimUmaClientKeyStoreFile": {
            "id": "umaClientKeyStoreFile",
            "type": "string",
            "minLength": 1
        },
        "scimUmaClientKeyStorePassword": {
            "id": "umaClientKeyStorePassword",
            "type": "string",
            "minLength": 1
        },
        "passportUmaClientId": {
            "id": "passportUmaClientId",
            "type": "string",
            "minLength": 1
        },
        "passportUmaClientKeyId": {
            "id": "passportUmaClientKeyId",
            "type": "string",
            "minLength": 1
        },
        "passportUmaResourceId": {
            "id": "passportUmaResourceId",
            "type": "string",
            "minLength": 1
        },
        "passportUmaScope": {
            "id": "passportUmaScope",
            "type": "string",
            "minLength": 1
        },
        "passportUmaClientKeyStoreFile": {
            "id": "passportUmaClientKeyStoreFile",
            "type": "string",
            "minLength": 1
        },
        "passportUmaClientKeyStorePassword": {
            "id": "passportUmaClientKeyStorePassword",
            "type": "string",
            "minLength": 1
        },
        "recaptchaSiteKey": {
            "id": "recaptchaSiteKey",
            "type": "string",
            "minLength": 1
        },
        "recaptchaSecretKey": {
            "id": "recaptchaSecretKey",
            "type": "string",
            "minLength": 1
        },
        "cssLocation": {
            "id": "cssLocation",
            "type": "string",
            "minLength": 1
        },
        "jsLocation": {
            "id": "jsLocation",
            "type": "string",
            "minLength": 1
        },
        "rptConnectionPoolUseConnectionPooling": {
            "id": "rptConnectionPoolUseConnectionPooling",
            "type": "boolean"
        },
        "rptConnectionPoolMaxTotal": {
            "id": "rptConnectionPoolMaxTotal",
            "type": "integer",
            "multipleOf": 1,
            "maximum": 2147483647,
            "minimum": 1,
            "exclusiveMaximum": false,
            "exclusiveMinimum": false
        },
        "rptConnectionPoolDefaultMaxPerRoute": {
            "id": "rptConnectionPoolDefaultMaxPerRoute",
            "type": "integer",
            "multipleOf": 1,
            "maximum": 2147483647,
            "minimum": 1,
            "exclusiveMaximum": false,
            "exclusiveMinimum": false
        },
        "rptConnectionPoolValidateAfterInactivity": {
            "id": "rptConnectionPoolValidateAfterInactivity",
            "description": "Value must be in seconds",
            "type": "integer",
            "multipleOf": 1,
            "maximum": 2147483647,
            "minimum": 1,
            "exclusiveMaximum": false,
            "exclusiveMinimum": false
        },
        "rptConnectionPoolCustomKeepAliveTimeout": {
            "id": "rptConnectionPoolCustomKeepAliveTimeout",
            "description": "Value must be in seconds",
            "type": "integer",
            "multipleOf": 1,
            "maximum": 2147483647,
            "minimum": 1,
            "exclusiveMaximum": false,
            "exclusiveMinimum": false
        },
        "scimTestMode": {
            "id": "scimTestMode",
            "type": "boolean"
        },
        "scimTestModeAccessToken": {
            "id": "scimTestModeAccessToken",
            "type": "string",
            "readonly": true
        },
        "shibbolethVersion": {
            "id": "shibbolethVersion",
            "type": "string",
            "readonly": true
        },
        "shibboleth3IdpRootDir": {
            "id": "shibboleth3IdpRootDir",
            "type": "string",
            "readonly": true
        },
        "shibboleth3SpConfDir": {
            "id": "shibboleth3SpConfDir",
            "type": "string",
            "readonly": true
        },
        "organizationName": {
            "id": "organizationName",
            "type": "string",
            "readonly": true
        },
        "idp3SigningCert": {
            "id": "idp3SigningCert",
            "type": "string",
            "readonly": true
        },
        "idp3EncryptionCert": {
            "id": "idp3EncryptionCert",
            "type": "string",
            "readonly": true
        },
        "clientWhiteList": {
            "id": "clientWhiteList",
            "description": "White List for Client Redirection URIs.",
            "type": "array",
            "minItems": 0,
            "uniqueItems": true,
            "additionalItems": true,
            "items": {
                "type": "string",
                "minLength": 1
            }
        },
        "clientBlackList": {
            "id": "clientBlackList",
            "description": "Black List for Client Redirection URIs.",
            "type": "array",
            "minItems": 0,
            "uniqueItems": true,
            "additionalItems": true,
            "items": {
                "type": "string",
                "minLength": 1
            }
        },
        "oxIncommonFlag": {
            "id": "oxIncommonFlag",
            "type": "boolean"
        },
        "loggingLevel": {
            "id": "loggingLevel",
            "description": "Logging level for oxTrust logers.",
            "type": "string",
            "format": "select",
            "enum": [
                "DEFAULT",
                "OFF",
                "FATAL",
                "ERROR",
                "WARN",
                "INFO",
                "DEBUG",
                "TRACE",
                "ALL"
            ]
        }
    },
    "required": [
        "baseDN",
        "orgInum",
        "orgIname",
        "orgSupportEmail",
        "applianceInum",
        "applianceUrl",
        "baseEndpoint",
        "personObjectClassTypes",
        "personCustomObjectClass",
        "personObjectClassDisplayNames",
        "contactObjectClassTypes",
        "contactObjectClassDisplayNames",
        "photoRepositoryRootDir",
        "photoRepositoryThumbWidth",
        "photoRepositoryThumbHeight",
        "photoRepositoryCountLeveles",
        "photoRepositoryCountFoldersPerLevel",
        "authMode",
        "ldifStore",
        "pokenApplicationSecret",
        "updateApplianceStatus",
        "svnConfigurationStoreRoot",
        "svnConfigurationStorePassword",
        "keystorePath",
        "keystorePassword",
        "allowPersonModification",
        "idpUrl",
        "velocityLog",
        "spMetadataPath",
        "logoLocation",
        "idpSecurityKey",
        "idpSecurityKeyPassword",
        "idpSecurityCert",
        "gluuSpAttributes",
        "configGeneration",
        "idpLdapProtocol",
        "idpLdapServer",
        "idpBindDn",
        "idpBindPassword",
        "idpUserFields",
        "gluuSpCert",
        "shibboleth3FederationRootDir",
        "cacheRefreshEnabled",
        "cacheRefreshIntervalMinutes",
        "caCertsLocation",
        "caCertsPassphrase",
        "tempCertDir",
        "certDir",
        "servicesRestartTrigger",
        "persistSVN",
        "oxAuthSectorIdentifierUrl",
        "oxAuthClientId",
        "oxAuthClientPassword",
        "oxAuthClientScope",
        "loginRedirectUrl",
        "logoutRedirectUrl",
        "clusteredInums",
        "clientAssociationAttribute",
        "oxAuthIssuer",
        "ignoreValidation",
        "umaIssuer",
        "scimUmaClientId",
        "scimUmaClientKeyId",
        "scimUmaResourceId",
        "scimUmaScope",
        "scimUmaClientKeyStoreFile",
        "scimUmaClientKeyStorePassword",
        "passportUmaClientId",
        "passportUmaClientKeyId",
        "passportUmaResourceId",
        "passportUmaScope",
        "passportUmaClientKeyStoreFile",
        "passportUmaClientKeyStorePassword",
        "recaptchaSiteKey",
        "recaptchaSecretKey",
        "cssLocation",
        "jsLocation",
        "rptConnectionPoolUseConnectionPooling",
        "rptConnectionPoolMaxTotal",
        "rptConnectionPoolDefaultMaxPerRoute",
        "rptConnectionPoolValidateAfterInactivity",
        "rptConnectionPoolCustomKeepAliveTimeout",
        "scimTestMode",
        "scimTestModeAccessToken",
        "shibbolethVersion",
        "shibboleth3IdpRootDir",
        "shibboleth3SpConfDir",
        "organizationName",
        "idp3SigningCert",
        "idp3EncryptionCert",
        "oxIncommonFlag",
        "loggingLevel"
    ]
}