Skip to main content

Qumulo Python SDK

Project description

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
rc = RestClient("", 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

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

from qumulo.rest_client import RestClient

rc = RestClient("", 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
            User-Agent: qq
            Content-Type: application/json
            Content-Length: 0
            Authorization: Bearer <token>
    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}


For more information, visit our Knowledge Base site:

Project details

Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

qumulo_api- (264.5 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page