########################################################################## # Category/actions/arguments file # # # Except for general_arguments, this file contains 3 levels # as in this sample command line: # # yunohost monitor info --cpu --ram # ^ ^ ^ ^ # (script) | category | action | parameters # # # Above example will lead to the function 'monitor_info(args)' # in the file 'yunohost_monitor.py' with 'cpu' and 'ram' # stored in an 'args' dictionnary. # # Usage: # You can add a category at the first level, action at the second one, # and arguments at the third one. # If a connexion is needed for the action, don't forget to add it to # the action parameters (ldap, repo, dns or firewall). # # Documentation: # You can see all arguments settings at the argparse documentation: # http://docs.python.org/dev/library/argparse.html # #argparse.ArgumentParser.add_argument # # Don't forget to turn argument yaml style (setting: value) # ########################################################################## ############################# # Global parameters # ############################# _global: configuration: authenticate: - api authenticator: default: vendor: ldap help: admin_password parameters: uri: ldap://localhost:389 base_dn: dc=yunohost,dc=org user_rdn: cn=admin ldap-anonymous: vendor: ldap parameters: uri: ldap://localhost:389 base_dn: dc=yunohost,dc=org argument_auth: true arguments: -v: full: --version help: Display YunoHost packages versions action: callback callback: method: yunohost.utils.packages.ynh_packages_version return: true ############################# # User # ############################# user: category_help: Manage users actions: ### user_list() list: action_help: List users api: GET /users configuration: authenticate: all authenticator: ldap-anonymous arguments: --fields: help: fields to fetch nargs: "+" ### user_create() create: action_help: Create user api: POST /users configuration: authenticate: all arguments: username: help: The unique username to create extra: pattern: &pattern_username - !!str ^[a-z0-9_]+$ - "pattern_username" -f: full: --firstname extra: ask: ask_firstname required: True pattern: &pattern_firstname - !!str ^([^\W\d_]{2,30}[ ,.'-]{0,3})+$ - "pattern_firstname" -l: full: --lastname extra: ask: ask_lastname required: True pattern: &pattern_lastname - !!str ^([^\W\d_]{2,30}[ ,.']{0,3})+$ - "pattern_lastname" -m: full: --mail help: Main unique email address extra: ask: ask_email required: True pattern: &pattern_email - !!str ^[\w.-]+@([^\W_A-Z]+([-]*[^\W_A-Z]+)*\.)+([^\W\d_]{2,})$ - "pattern_email" -p: full: --password help: User password extra: password: ask_password required: True pattern: &pattern_password - !!str ^.{3,}$ - "pattern_password" -q: full: --mailbox-quota help: Mailbox size quota default: "0" metavar: "{SIZE|0}" extra: pattern: &pattern_mailbox_quota - !!str ^(\d+[bkMGT])|0$ - "pattern_mailbox_quota" ### user_delete() delete: action_help: Delete user api: DELETE /users/ configuration: authenticate: all arguments: username: help: Username to delete extra: pattern: *pattern_username --purge: action: store_true ### user_update() update: action_help: Update user informations api: PUT /users/ configuration: authenticate: all arguments: username: help: Username to update -f: full: --firstname extra: pattern: *pattern_firstname -l: full: --lastname extra: pattern: *pattern_lastname -m: full: --mail extra: pattern: *pattern_email -p: full: --change-password help: New password to set metavar: PASSWORD extra: pattern: *pattern_password --add-mailforward: help: Mailforward addresses to add nargs: "*" metavar: MAIL extra: pattern: *pattern_email --remove-mailforward: help: Mailforward addresses to remove nargs: "*" metavar: MAIL --add-mailalias: help: Mail aliases to add nargs: "*" metavar: MAIL extra: pattern: *pattern_email --remove-mailalias: help: Mail aliases to remove nargs: "*" metavar: MAIL -q: full: --mailbox-quota help: Mailbox size quota metavar: "{SIZE|0}" extra: pattern: *pattern_mailbox_quota ### user_info() info: action_help: Get user information api: GET /users/ configuration: authenticate: all authenticator: ldap-anonymous arguments: username: help: Username or email to get information subcategories: ssh: subcategory_help: Manage ssh access actions: ### user_ssh_enable() allow: action_help: Allow the user to uses ssh api: POST /users/ssh/enable configuration: authenticate: all arguments: username: help: Username of the user extra: pattern: *pattern_username ### user_ssh_disable() disallow: action_help: Disallow the user to uses ssh api: POST /users/ssh/disable configuration: authenticate: all arguments: username: help: Username of the user extra: pattern: *pattern_username ### user_ssh_keys_list() list-keys: action_help: Show user's authorized ssh keys api: GET /users/ssh/keys configuration: authenticate: all arguments: username: help: Username of the user extra: pattern: *pattern_username ### user_ssh_keys_add() add-key: action_help: Add a new authorized ssh key for this user api: POST /users/ssh/key configuration: authenticate: all arguments: username: help: Username of the user extra: pattern: *pattern_username key: help: The key to be added -c: full: --comment help: Optionnal comment about the key ### user_ssh_keys_remove() remove-key: action_help: Remove an authorized ssh key for this user api: DELETE /users/ssh/key configuration: authenticate: all arguments: username: help: Username of the user extra: pattern: *pattern_username key: help: The key to be removed ############################# # Domain # ############################# domain: category_help: Manage domains actions: ### domain_list() list: action_help: List domains api: GET /domains configuration: authenticate: all authenticator: ldap-anonymous ### domain_add() add: action_help: Create a custom domain api: POST /domains configuration: authenticate: all arguments: domain: help: Domain name to add extra: pattern: &pattern_domain - !!str ^([^\W_A-Z]+([-]*[^\W_A-Z]+)*\.)+([^\W\d_]{2,})$ - "pattern_domain" -d: full: --dyndns help: Subscribe to the DynDNS service action: store_true ### domain_remove() remove: action_help: Delete domains api: DELETE /domains/ configuration: authenticate: all arguments: domain: help: Domain to delete extra: pattern: *pattern_domain ### domain_dns_conf() dns-conf: action_help: Generate DNS configuration for a domain api: GET /domains//dns configuration: authenticate: - api arguments: domain: help: Target domain -t: full: --ttl help: Time To Live (TTL) in second before DNS servers update. Default is 3600 seconds (i.e. 1 hour). extra: pattern: - !!str ^[0-9]+$ - "pattern_positive_number" ### certificate_status() cert-status: action_help: List status of current certificates (all by default). api: GET /domains/cert-status/ configuration: authenticate: all authenticator: ldap-anonymous arguments: domain_list: help: Domains to check nargs: "*" --full: help: Show more details action: store_true ### certificate_install() cert-install: action_help: Install Let's Encrypt certificates for given domains (all by default). api: POST /domains/cert-install/ configuration: authenticate: all authenticator: ldap-anonymous arguments: domain_list: help: Domains for which to install the certificates nargs: "*" --force: help: Install even if current certificate is not self-signed action: store_true --no-checks: help: Does not perform any check that your domain seems correctly configured (DNS, reachability) before attempting to install. (Not recommended) action: store_true --self-signed: help: Install self-signed certificate instead of Let's Encrypt action: store_true --staging: help: Use the fake/staging Let's Encrypt certification authority. The new certificate won't actually be enabled - it is only intended to test the main steps of the procedure. action: store_true ### certificate_renew() cert-renew: action_help: Renew the Let's Encrypt certificates for given domains (all by default). api: POST /domains/cert-renew/ configuration: authenticate: all authenticator: ldap-anonymous arguments: domain_list: help: Domains for which to renew the certificates nargs: "*" --force: help: Ignore the validity threshold (30 days) action: store_true --email: help: Send an email to root with logs if some renewing fails action: store_true --no-checks: help: Does not perform any check that your domain seems correctly configured (DNS, reachability) before attempting to renew. (Not recommended) action: store_true --staging: help: Use the fake/staging Let's Encrypt certification authority. The new certificate won't actually be enabled - it is only intended to test the main steps of the procedure. action: store_true ### domain_url_available() url-available: action_help: Check availability of a web path api: GET /domain/urlavailable configuration: authenticate: all authenticator: ldap-anonymous arguments: domain: help: The domain for the web path (e.g. your.domain.tld) extra: pattern: *pattern_domain path: help: The path to check (e.g. /coffee) ### domain_info() # info: # action_help: Get domain informations # api: GET /domains/ # arguments: # domain: # help: "" # extra: # pattern: # - '^([a-zA-Z0-9]{1}([a-zA-Z0-9\-]*[a-zA-Z0-9])*)(\.[a-zA-Z0-9]{1}([a-zA-Z0-9\-]*[a-zA-Z0-9])*)*(\.[a-zA-Z]{1}([a-zA-Z0-9\-]*[a-zA-Z0-9])*)$' # - "Must be a valid domain name (e.g. my-domain.org)" ############################# # App # ############################# app: category_help: Manage apps actions: ### app_fetchlist() fetchlist: action_help: Fetch application lists from app servers, or register a new one. api: PUT /appslists arguments: -n: full: --name help: Name of the list to fetch (fetches all registered lists if empty) extra: pattern: &pattern_listname - !!str ^[a-z0-9_]+$ - "pattern_listname" -u: full: --url help: URL of a new application list to register. To be specified with -n. ### app_listlists() listlists: action_help: List registered application lists api: GET /appslists ### app_removelist() removelist: action_help: Remove and forget about a given application list api: DELETE /appslists arguments: name: help: Name of the list to remove extra: ask: ask_list_to_remove pattern: *pattern_listname ### app_list() list: action_help: List apps api: GET /apps arguments: -f: full: --filter help: Name filter of app_id or app_name -r: full: --raw help: Return the full app_dict action: store_true -i: full: --installed help: Return only installed apps action: store_true -b: full: --with-backup help: Return only apps with backup feature (force --installed filter) action: store_true ### app_info() info: action_help: Get information about an installed app api: GET /apps/ arguments: app: help: Specific app ID -s: full: --show-status help: Show app installation status action: store_true -r: full: --raw help: Return the full app_dict action: store_true ### app_map() map: action_help: List apps by domain api: GET /appsmap arguments: -a: full: --app help: Specific app to map -r: full: --raw help: Return complete dict action: store_true -u: full: --user help: Allowed app map for a user extra: pattern: *pattern_username ### app_install() install: action_help: Install apps api: POST /apps configuration: authenticate: all authenticator: ldap-anonymous arguments: app: help: Name, local path or git URL of the app to install -l: full: --label help: Custom name for the app -a: full: --args help: Serialized arguments for app script (i.e. "domain=domain.tld&path=/path") -n: full: --no-remove-on-failure help: Debug option to avoid removing the app on a failed installation action: store_true ### app_remove() TODO: Write help remove: action_help: Remove app api: DELETE /apps/ configuration: authenticate: all authenticator: ldap-anonymous arguments: app: help: App(s) to delete ### app_upgrade() upgrade: action_help: Upgrade app api: PUT /upgrade/apps configuration: authenticate: all authenticator: ldap-anonymous arguments: app: help: App(s) to upgrade (default all) nargs: "*" -u: full: --url help: Git url to fetch for upgrade -f: full: --file help: Folder or tarball for upgrade ### app_change_url() change-url: action_help: Change app's URL api: PUT /apps//changeurl configuration: authenticate: all authenticator: ldap-anonymous arguments: app: help: Target app instance name -d: full: --domain help: New app domain on which the application will be moved extra: ask: ask_main_domain pattern: *pattern_domain required: True -p: full: --path help: New path at which the application will be moved extra: ask: ask_path required: True ### app_setting() setting: action_help: Set or get an app setting value api: GET /apps//settings arguments: app: help: App ID key: help: Key to get/set -v: full: --value help: Value to set -d: full: --delete help: Delete the key action: store_true ### app_checkport() checkport: action_help: Check availability of a local port api: GET /tools/checkport deprecated: true arguments: port: help: Port to check extra: pattern: &pattern_port - !!str ^([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])$ - "pattern_port" ### app_checkurl() checkurl: action_help: Check availability of a web path api: GET /tools/checkurl deprecated: True configuration: authenticate: all authenticator: ldap-anonymous arguments: url: help: Url to check -a: full: --app help: Write domain & path to app settings for further checks ### app_register_url() register-url: action_help: Book/register a web path for a given app api: PUT /tools/registerurl configuration: authenticate: all authenticator: ldap-anonymous arguments: app: help: App which will use the web path domain: help: The domain on which the app should be registered (e.g. your.domain.tld) path: help: The path to be registered (e.g. /coffee) ### app_initdb() initdb: action_help: Create database and initialize it with optionnal attached script api: POST /tools/initdb deprecated: true arguments: user: help: Name of the DB user -p: full: --password help: Password of the DB (generated unless set) -d: full: --db help: DB name (user unless set) -s: full: --sql help: Initial SQL file ### app_debug() debug: action_help: Display all debug informations for an application api: GET /apps//debug arguments: app: help: App name ### app_makedefault() makedefault: action_help: Redirect domain root to an app api: PUT /apps//default configuration: authenticate: all authenticator: ldap-anonymous arguments: app: help: App name to put on domain root -d: full: --domain help: Specific domain to put app on (the app domain by default) ### app_ssowatconf() ssowatconf: action_help: Regenerate SSOwat configuration file api: PUT /ssowatconf configuration: authenticate: all authenticator: ldap-anonymous ### app_change_label() change-label: action_help: Change app label api: PUT /apps//label configuration: authenticate: all authenticator: ldap-anonymous arguments: app: help: App ID new_label: help: New app label ### app_addaccess() TODO: Write help addaccess: action_help: Grant access right to users (everyone by default) api: PUT /access configuration: authenticate: all authenticator: ldap-anonymous arguments: apps: nargs: "+" -u: full: --users nargs: "*" ### app_removeaccess() TODO: Write help removeaccess: action_help: Revoke access right to users (everyone by default) api: DELETE /access configuration: authenticate: all authenticator: ldap-anonymous arguments: apps: nargs: "+" -u: full: --users nargs: "*" ### app_clearaccess() clearaccess: action_help: Reset access rights for the app api: POST /access configuration: authenticate: all authenticator: ldap-anonymous arguments: apps: nargs: "+" ############################# # Backup # ############################# backup: category_help: Manage backups actions: ### backup_create() create: action_help: Create a backup local archive api: POST /backup arguments: -n: full: --name help: Name of the backup archive extra: pattern: &pattern_backup_archive_name - !!str ^[\w\-\._]{1,50}(? configuration: authenticate: all authenticator: ldap-anonymous arguments: name: help: Name of the local backup archive --system: help: List of system parts to restore (all by default) nargs: "*" --apps: help: List of application names to restore (all by default) nargs: "*" --hooks: help: (Deprecated) See --system nargs: "*" --ignore-system: help: Do not restore system parts action: store_true --ignore-apps: help: Do not restore apps action: store_true --ignore-hooks: help: (Deprecated) See --ignore-system action: store_true --force: help: Force restauration on an already installed system action: store_true ### backup_list() list: action_help: List available local backup archives api: GET /backup/archives arguments: -i: full: --with-info help: Show backup information for each archive action: store_true -H: full: --human-readable help: Print sizes in human readable format action: store_true ### backup_info() info: action_help: Show info about a local backup archive api: GET /backup/archives/ arguments: name: help: Name of the local backup archive -d: full: --with-details help: Show additional backup information action: store_true -H: full: --human-readable help: Print sizes in human readable format action: store_true ### backup_delete() delete: action_help: Delete a backup archive api: DELETE /backup/archives/ arguments: name: help: Name of the archive to delete extra: pattern: *pattern_backup_archive_name ############################# # Monitor # ############################# monitor: category_help: Monitor the server actions: ### monitor_disk() disk: action_help: Monitor disk space and usage api: GET /monitor/disk arguments: -f: full: --filesystem help: Show filesystem disk space action: append_const const: filesystem dest: units -t: full: --io help: Show I/O throughput action: append_const const: io dest: units -m: full: --mountpoint help: Monitor only the device mounted on MOUNTPOINT action: store -H: full: --human-readable help: Print sizes in human readable format action: store_true ### monitor_network() network: action_help: Monitor network interfaces api: GET /monitor/network arguments: -u: full: --usage help: Show interfaces bit rates action: append_const const: usage dest: units -i: full: --infos help: Show network informations action: append_const const: infos dest: units -c: full: --check help: Check network configuration action: append_const const: check dest: units -H: full: --human-readable help: Print sizes in human readable format action: store_true ### monitor_system() system: action_help: Monitor system informations and usage api: GET /monitor/system arguments: -m: full: --memory help: Show memory usage action: append_const const: memory dest: units -c: full: --cpu help: Show CPU usage and load action: append_const const: cpu dest: units -p: full: --process help: Show processes summary action: append_const const: process dest: units -u: full: --uptime help: Show the system uptime action: append_const const: uptime dest: units -i: full: --infos help: Show system informations action: append_const const: infos dest: units -H: full: --human-readable help: Print sizes in human readable format action: store_true ### monitor_updatestats() update-stats: action_help: Update monitoring statistics api: POST /monitor/stats arguments: period: help: Time period to update choices: - day - week - month ### monitor_showstats() show-stats: action_help: Show monitoring statistics api: GET /monitor/stats arguments: period: help: Time period to show choices: - day - week - month ### monitor_enable() enable: action_help: Enable server monitoring api: PUT /monitor arguments: -s: full: --with-stats help: Enable monitoring statistics action: store_true ### monitor_disable() disable: api: DELETE /monitor action_help: Disable server monitoring ############################# # Settings # ############################# settings: category_help: Manage YunoHost global settings actions: ### settings_list() list: action_help: list all entries of the settings api: GET /settings ### settings_get() get: action_help: get an entry value in the settings api: GET /settings/ arguments: key: help: Settings key --full: help: Show more details action: store_true ### settings_set() set: action_help: set an entry value in the settings api: POST /settings/ arguments: key: help: Settings key -v: full: --value help: new value extra: required: True ### settings_reset_all() reset-all: action_help: reset all settings to their default value api: DELETE /settings ### settings_reset() reset: action_help: set an entry value to its default one api: DELETE /settings/ arguments: key: help: Settings key ############################# # Service # ############################# service: category_help: Manage services actions: ### service_add() add: action_help: Add a service # api: POST /services arguments: name: help: Service name to add -s: full: --status help: Custom status command -l: full: --log help: Absolute path to log file to display nargs: "+" -r: full: --runlevel help: Runlevel priority of the service type: int ### service_remove() remove: action_help: Remove a service # api: DELETE /services arguments: name: help: Service name to remove ### service_start() start: action_help: Start one or more services api: PUT /services/ arguments: names: help: Service name to start nargs: "+" metavar: NAME ### service_stop() stop: action_help: Stop one or more services api: DELETE /services/ arguments: names: help: Service name to stop nargs: "+" metavar: NAME ### service_enable() enable: action_help: Enable one or more services api: PUT /services//enable arguments: names: help: Service name to enable nargs: "+" metavar: NAME ### service_disable() disable: action_help: Disable one or more services api: DELETE /services//enable arguments: names: help: Service name to disable nargs: "+" metavar: NAME ### service_status() status: action_help: Show status information about one or more services (all by default) api: - GET /services - GET /services/ arguments: names: help: Service name to show nargs: "*" metavar: NAME ### service_log() log: action_help: Log every log files of a service api: GET /services//log arguments: name: help: Service name to log -n: full: --number help: Number of lines to display default: 50 type: int ### service_regen_conf() regen-conf: action_help: Regenerate the configuration file(s) for a service api: PUT /services/regenconf deprecated_alias: - regenconf arguments: names: help: Services name to regenerate configuration of nargs: "*" metavar: NAME -d: full: --with-diff help: Show differences in case of configuration changes action: store_true -f: full: --force help: > Override all manual modifications in configuration files action: store_true -n: full: --dry-run help: Show what would have been regenerated action: store_true -p: full: --list-pending help: List pending configuration files and exit action: store_true ############################# # Firewall # ############################# firewall: category_help: Manage firewall rules actions: ### firewall_list() list: action_help: List all firewall rules api: GET /firewall arguments: -r: full: --raw help: Return the complete YAML dict action: store_true -i: full: --by-ip-version help: List rules by IP version action: store_true -f: full: --list-forwarded help: List forwarded ports with UPnP action: store_true ### firewall_reload() reload: action_help: Reload all firewall rules api: PUT /firewall arguments: --skip-upnp: help: Do not refresh port forwarding using UPnP action: store_true ### firewall_allow() allow: action_help: Allow connections on a port api: POST /firewall/port arguments: protocol: help: "Protocol type to allow (TCP/UDP/Both)" choices: - TCP - UDP - Both default: TCP port: help: Port or range of ports to open extra: pattern: &pattern_port_or_range - !!str ((^|(?!\A):)([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])){1,2}?$ - "pattern_port_or_range" -4: full: --ipv4-only help: Only add a rule for IPv4 connections action: store_true -6: full: --ipv6-only help: Only add a rule for IPv6 connections action: store_true --no-upnp: help: Do not add forwarding of this port with UPnP action: store_true --no-reload: help: Do not reload firewall rules action: store_true ### firewall_disallow() disallow: action_help: Disallow connections on a port api: DELETE /firewall/port arguments: protocol: help: "Protocol type to allow (TCP/UDP/Both)" choices: - TCP - UDP - Both default: TCP port: help: Port or range of ports to close extra: pattern: *pattern_port_or_range -4: full: --ipv4-only help: Only remove the rule for IPv4 connections action: store_true -6: full: --ipv6-only help: Only remove the rule for IPv6 connections action: store_true --upnp-only: help: Only remove forwarding of this port with UPnP action: store_true --no-reload: help: Do not reload firewall rules action: store_true ### firewall_upnp() upnp: action_help: Manage port forwarding using UPnP api: GET /firewall/upnp arguments: action: choices: - enable - disable - status - reload nargs: "?" default: status --no-refresh: help: Do not refresh port forwarding action: store_true ### firewall_stop() stop: action_help: Stop iptables and ip6tables api: DELETE /firewall ############################# # DynDNS # ############################# dyndns: category_help: Subscribe and Update DynDNS Hosts actions: ### dyndns_subscribe() subscribe: action_help: Subscribe to a DynDNS service api: POST /dyndns arguments: --subscribe-host: help: Dynette HTTP API to subscribe to default: "dyndns.yunohost.org" -d: full: --domain help: Full domain to subscribe with extra: pattern: *pattern_domain -k: full: --key help: Public DNS key ### dyndns_update() update: action_help: Update IP on DynDNS platform api: PUT /dyndns arguments: --dyn-host: help: Dynette DNS server to inform default: "dyndns.yunohost.org" -d: full: --domain help: Full domain to update extra: pattern: *pattern_domain -k: full: --key help: Public DNS key -i: full: --ipv4 help: IP address to send -6: full: --ipv6 help: IPv6 address to send ### dyndns_installcron() installcron: action_help: Install IP update cron api: POST /dyndns/cron ### dyndns_removecron() removecron: action_help: Remove IP update cron api: DELETE /dyndns/cron ############################# # Tools # ############################# tools: category_help: Specific tools actions: ### tools_ldapinit() ldapinit: action_help: YunoHost LDAP initialization api: POST /ldap configuration: authenticate: all ### tools_adminpw() adminpw: action_help: Change admin password api: PUT /adminpw configuration: authenticate: all arguments: -n: full: --new-password extra: password: ask_new_admin_password pattern: *pattern_password required: True ### tools_maindomain() maindomain: action_help: Check the current main domain, or change it api: - GET /domains/main - PUT /domains/main configuration: authenticate: all arguments: -n: full: --new-domain help: Change the current main domain extra: pattern: *pattern_domain ### tools_postinstall() postinstall: action_help: YunoHost post-install api: POST /postinstall configuration: authenticate: false arguments: -d: full: --domain help: YunoHost main domain extra: ask: ask_main_domain pattern: *pattern_domain required: True -p: full: --password help: YunoHost admin password extra: password: ask_new_admin_password pattern: *pattern_password required: True --ignore-dyndns: help: Do not subscribe domain to a DynDNS service action: store_true ### tools_update() update: action_help: YunoHost update api: PUT /update arguments: --ignore-apps: help: Ignore apps cache update and changelog action: store_true --ignore-packages: help: Ignore APT cache update and changelog action: store_true ### tools_upgrade() upgrade: action_help: YunoHost upgrade api: PUT /upgrade configuration: authenticate: all authenticator: ldap-anonymous arguments: --ignore-apps: help: Ignore apps upgrade action: store_true --ignore-packages: help: Ignore APT packages upgrade action: store_true ### tools_diagnosis() diagnosis: action_help: YunoHost diagnosis api: GET /diagnosis configuration: authenticate: all authenticator: ldap-anonymous arguments: -p: full: --private help: Show private data (domain, IP) action: store_true ### tools_port_available() port-available: action_help: Check availability of a local port api: GET /tools/portavailable arguments: port: help: Port to check extra: pattern: *pattern_port ### tools_shell() shell: configuration: authenticate: all action_help: Launch a development shell arguments: -c: help: python command to execute full: --command ### tools_shutdown() shutdown: action_help: Shutdown the server api: PUT /shutdown arguments: -f: help: skip the shutdown confirmation full: --force action: store_true ### tools_reboot() reboot: action_help: Reboot the server api: PUT /reboot arguments: -f: help: skip the reboot confirmation full: --force action: store_true subcategories: migrations: subcategory_help: Manage migrations actions: ### tools_migrations_list() list: action_help: List migrations api: GET /migrations arguments: --pending: help: list only pending migrations action: store_true --done: help: list only migrations already performed action: store_true ### tools_migrations_migrate() migrate: action_help: Perform migrations api: POST /migrations/migrate arguments: -t: help: target migration number (or 0), latest one by default type: int full: --target -s: help: skip the migration(s), use it only if you know what you are doing full: --skip action: store_true --auto: help: automatic mode, won't run manual migrations, use it only if you know what you are doing action: store_true --accept-disclaimer: help: accept disclaimers of migration (please read them before using this option) action: store_true ### tools_migrations_state() state: action_help: Show current migrations state api: GET /migrations/state ############################# # Hook # ############################# hook: category_help: Manage hooks actions: ### hook_add() add: action_help: Store hook script to filesystem arguments: app: help: App to link with file: help: Script to add ### hook_remove() remove: action_help: Remove hook scripts from filesystem arguments: app: help: Scripts related to app will be removed ### hook_info() info: action_help: Get information about a given hook api: GET /hooks// arguments: action: help: Action name name: help: Hook name ### hook_list() list: action_help: List available hooks for an action api: GET /hooks/ arguments: action: help: Action name -l: full: --list-by help: Property to list hook by choices: - name - priority - folder default: name -i: full: --show-info help: Show hook information action: store_true ### hook_callback() callback: action_help: Execute all scripts binded to an action api: POST /hooks/ arguments: action: help: Action name -n: full: --hooks help: List of hooks names to execute nargs: "*" -a: full: --args help: Ordered list of arguments to pass to the scripts nargs: "*" -q: full: --no-trace help: Do not print each command that will be executed action: store_true -d: full: --chdir help: The directory from where the scripts will be executed ### hook_exec() exec: action_help: Execute hook from a file with arguments arguments: path: help: Path of the script to execute -a: full: --args help: Ordered list of arguments to pass to the script nargs: "*" --raise-on-error: help: Raise if the script returns a non-zero exit code action: store_true -q: full: --no-trace help: Do not print each command that will be executed action: store_true -d: full: --chdir help: The directory from where the script will be executed