{
  "$id": "schema.json",
  "type": "object",
  "schema": "http://json-schema.org/draft-07/schema#",
  "translate": true,
  "dynamicfields": true,
  "properties": {
    "ph_request_type": {
      "type": "string",
      "description": "type of request (internal to adapter)",
      "default": "ldapConfigsList",
      "enum": [
        "ldapConfigsList",
        "ldapConfigsRead",
        "ldapConfigsUpdate",
        "ldapConfigsPartialUpdate"
      ],
      "external_name": "ph_request_type"
    },
    "serverIp": {
      "type": "string",
      "description": "Server address",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "server_ip"
    },
    "enableSsl": {
      "type": "boolean",
      "description": "",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "enable_ssl"
    },
    "sslLevel": {
      "type": "string",
      "description": "SSL security level (NEVER, ALLOW, DEMAND)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "ssl_level"
    },
    "domainSearchUser": {
      "type": "string",
      "description": "LDAP username to perform user lookups. Example: user@domain.com",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "domain_search_user"
    },
    "domainSearchPassword": {
      "type": "string",
      "description": "Password for domain search user",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "domain_search_password"
    },
    "enableReferrals": {
      "type": "boolean",
      "description": "Microsoft AD needs this to be disabled. (Anonymous bind is not supported)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "enable_referrals"
    },
    "baseDn": {
      "type": "string",
      "description": "",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "base_dn"
    },
    "userNameAttribute": {
      "type": "string",
      "description": "Attribute to load user name",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "user_name_attribute"
    },
    "tenantAttribute": {
      "type": "string",
      "description": "Tenant attribute to filter user",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "tenant_attribute"
    },
    "accessibleTenantsAttribute": {
      "type": "string",
      "description": "Attribute to define multiple tenant access for this user",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "accessible_tenants_attribute"
    },
    "groupNameAttribute": {
      "type": "string",
      "description": "Attribute to load group name",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "group_name_attribute"
    },
    "groupObjectFilter": {
      "type": "string",
      "description": "Filter when searching group",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "group_object_filter"
    },
    "memberAttr": {
      "type": "string",
      "description": "&#39;member_attr&#39; used for &#39;group_object_filter&#39;, e.g. set &#39;memberUid&#39; for &#39;(objectClass=posixGroup)&#39;, &#39;member&#39; for &#39;(objectClass=groupOfNames)&#39;, &#39;uniqueMember&#39; for &#39;(objectC...(description truncated)",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "member_attr"
    },
    "roleMap": {
      "type": "string",
      "description": "Dictionary string that maps LDAP groups/roles to a list of tron roles",
      "parse": false,
      "encode": false,
      "encrypt": {
        "type": "AES",
        "key": ""
      },
      "external_name": "role_map"
    }
  },
  "definitions": {}
}