{
  "iface": "futoin.auth.manage",
  "version": "0.4",
  "ftn3rev": "1.9",
  "imports": [
    "futoin.ping:1.0",
    "futoin.auth.types:0.4"
  ],
  "funcs": {
    "setup": {
      "params": {
        "domains": "DomainList",
        "clear_auth": {
          "type": "boolean",
          "default": null
        },
        "mac_auth": {
          "type": "boolean",
          "default": null
        },
        "master_auth": {
          "type": "boolean",
          "default": null
        },
        "master_auto_reg": {
          "type": "boolean",
          "default": null
        },
        "auth_service": {
          "type": "boolean",
          "default": null
        },
        "password_len": {
          "type": "PasswordLength",
          "default": null
        },
        "key_bits": {
          "type": "KeyBits",
          "default": null
        },
        "def_user_ms_max": {
          "type": "NotNegativeInteger",
          "default": null
        },
        "def_service_ms_max": {
          "type": "NotNegativeInteger",
          "default": null
        }
      },
      "result": "boolean",
      "seclvl": "System"
    },
    "genConfig": {
      "result": {
        "domains": "DomainList",
        "clear_auth": "boolean",
        "mac_auth": "boolean",
        "master_auth": "boolean",
        "master_auto_reg": "boolean",
        "auth_service": "boolean",
        "password_len": "PasswordLength",
        "key_bits": "KeyBits",
        "def_user_ms_max": "NotNegativeInteger",
        "def_service_ms_max": "NotNegativeInteger"
      },
      "seclvl": "System"
    },
    "ensureUser": {
      "params": {
        "user": "LocalUser",
        "domain": "GlobalService"
      },
      "result": "LocalUserID",
      "seclvl": "System"
    },
    "ensureService": {
      "params": {
        "hostname": "LocalService",
        "domain": "GlobalService"
      },
      "result": "LocalUserID",
      "seclvl": "System"
    },
    "getUserInfo": {
      "params": {
        "local_id": "LocalUserID"
      },
      "result": {
        "local_id": "LocalUserID",
        "global_id": "GlobalUserID",
        "is_local": "boolean",
        "is_enabled": "boolean",
        "is_service": "boolean",
        "ms_max": "NotNegativeInteger",
        "ds_max": "NotNegativeInteger",
        "created": "Timestamp",
        "updated": "Timestamp"
      },
      "throws": [
        "UnknownUser"
      ],
      "seclvl": "System"
    },
    "setUserInfo": {
      "params": {
        "local_id": "LocalUserID",
        "is_enabled": {
          "type": "boolean",
          "default": null
        },
        "ms_max": {
          "type": "NotNegativeInteger",
          "default": null
        },
        "ds_max": {
          "type": "NotNegativeInteger",
          "default": null
        }
      },
      "result": "boolean",
      "throws": [
        "UnknownUser"
      ],
      "seclvl": "System"
    }
  },
  "requires": [
    "SecureChannel",
    "MessageSignature"
  ]
}