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 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

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-7.5.2-py3-none-any.whl (302.6 kB view details)

Uploaded Python 3

File details

Details for the file qumulo_api-7.5.2-py3-none-any.whl.

File metadata

  • Download URL: qumulo_api-7.5.2-py3-none-any.whl
  • Upload date:
  • Size: 302.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.28.1 setuptools/57.0.0 requests-toolbelt/0.9.1 tqdm/4.65.0 CPython/3.8.0

File hashes

Hashes for qumulo_api-7.5.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2a275bef746cd90402f65a3eaee65613bf7acc6735920828af78298adab49c5d
MD5 78714132f2f722bb0a80018fdc00b751
BLAKE2b-256 026407f32cc69180a6c6f1506214bb882c8106a654fce4e4d966c1f8d6fdce0e

See more details on using hashes here.

Supported by

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