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.

Built Distribution

qumulo_api-5.2.3-py3-none-any.whl (208.7 kB view hashes)

Uploaded py3

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page