qumulo-api 7.8.0.1
Qumulo Python SDK
Requires Python: <4,>=3.8
Keywords: Qumulo QFSD

================
Qumulo API Tools
================

This package contains the Qumulo Core Python SDK and the qq CLI utility, which
allow users to interact with the Qumulo REST API server.

Using the Python SDK
====================

To get started, import the `RestClient` class from the `qumulo.rest_client`
module and create an instance. The `RestClient` class contains attributes
that allow programmatic access to all of the Qumulo Core REST API endpoints.

For example::

    from qumulo.rest_client import RestClient

    # Create an instance of RestClient associated with the Qumulo Core file
    system at qumulo.mycompany.net
    rc = RestClient("qumulo.mycompany.net", 8000)

    # Log in to Qumulo Core using local user or Active Directory credentials
    rc.login("username", "password")

    # Print all of the SMB share configuration information
    print(rc.smb.smb_list_shares())

To inspect the various available properties, open a Python REPL and run the
following commands::

    from qumulo.rest_client import RestClient

    rc = RestClient("qumulo.mycompany.net", 8000)

    # See REST API groups:
    [p for p in dir(rc) if not p.startswith('_')]

    # See SDK endpoints within a particular API group
    [p for p in dir(rc.quota) if not p.startswith('_')]

Using qq
========

After installing the qumulo-api package, the `qq` CLI utility will be installed
in your system.

Note: On Windows, `qq.exe` can be found under the `Scripts\\` directory in your
Python installation. Adding this path your your `%%PATH%%` environment variable
will allow you to run `qq.exe` without prefixing it with the full path.

To see all commands available from the ``qq`` tool::

    $ qq --help

To run most commands against the REST API server, you must first login::

    $ qq --host host_ip login --user admin

Once authenticated, you can run other commands::

    # Get the network configuation of nodes in the cluster:
    $ qq --host <qumulo_host> network_poll

    # Get the list of users
    $ qq --host <qumulo_host> auth_list_users

    # Get help with a specific command
    $ qq --host <qumulo_host> auth_list_users --help

To see the information about the actual HTTP requests and responses sent over
the wire for a particular command, use the `--debug` flag::

    $ qq --host <qumulo_host> --debug smb_settings_get
	REQUEST: GET https://<qumulo_host>:8000/v1/smb/settings
	REQUEST HEADERS:
		User-Agent: qq
		Content-Type: application/json
		Content-Length: 0
		Authorization: Bearer <token>
	RESPONSE STATUS: 200
	RESPONSE:
	Date: Fri, 18 Mar 2022 22:15:47 GMT
	ETag: "VNhqnQ"
	Content-Type: application/json
	Content-Length: 329
	Strict-Transport-Security: max-age=31536000; includeSubdomain


	{'session_encryption': 'NONE', 'supported_dialects': ['SMB2_DIALECT_2_002', 'SMB2_DIALECT_2_1', 'SMB2_DIALECT_3_0', 'SMB2_DIALECT_3_11'], 'hide_shares_from_unauthorized_users': False, 'hide_shares_from_unauthorized_hosts': False, 'snapshot_directory_mode': 'VISIBLE', 'bypass_traverse_checking': False, 'signing_required': False}

Notes
=====

For more information, visit our Knowledge Base site: https://care.qumulo.com