Skip to main content

ScaleIO API client

Project description

https://travis-ci.org/gmmephisto/pyscaleio.svg?branch=master https://coveralls.io/repos/github/gmmephisto/pyscaleio/badge.svg?branch=master

Python library that provides convenient way to interact with ScaleIO REST API.

  • Supported ScaleIO versions: 2.0

  • Supported Python versions: 2.6, 2.7, 3.4

Library is under development!

Features

Currently supported:

  • Simple API client with base methods according to ScaleIO documentation

  • ORM-like models (StoragePool, Volume, etc.)

  • Scheme validation for API responses

TODO:

  • HATEOAS links processing

Installation

Install via pip:

$ pip install pyscaleio

Install as RPM package using yum or dnf on Fedora/RHEL/CentOS:

$ dnf copr enable miushanov/pyscaleio
$ dnf install python-scaleio

Usage

  • Create and register API client:

    import pyscaleio
    
    # create API client
    client = pyscaleio.ScaleIOClient.from_args("gateway_address", "admin", "password")
    
    # register it for using in models
    pyscaleio.add_client(client)
  • Find and modify resources:

    # get all volumes in cluster
    volumes = pyscaleio.Volume.all()
    assert len(volumes) == 1
    
    # or, get volume by specified id
    volume = pyscaleio.Volume.one_by_name("test_volume")
    
    # and access some volume attributes
    assert volume.name == "test_volume"
    assert volume.size == 8 * constants.GIGABYTE
    
    # or, resize it to new size
    volume.resize(16)
    
    volume.update()  # updates model data
    assert volume.size == 16 * constants.GIGABYTE
  • Create or delete resources:

    # create new volume in storage pool
    volume = pyscaleio.Volume.create(16, "storage_pool_id", "new_volume")
    assert volume.name == "new_volume"
    assert volume.size == 16 * constants.GIGABYTE
    
    # delete volume
    volume = pyscaleio.Volume.one_by_name("test_volume")
    volume.delete()

Project details


Download files

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

Source Distribution

pyscaleio-0.1.2.tar.gz (20.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyscaleio-0.1.2-py2.py3-none-any.whl (13.1 kB view details)

Uploaded Python 2Python 3

File details

Details for the file pyscaleio-0.1.2.tar.gz.

File metadata

  • Download URL: pyscaleio-0.1.2.tar.gz
  • Upload date:
  • Size: 20.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pyscaleio-0.1.2.tar.gz
Algorithm Hash digest
SHA256 fb1ab3e92d4ecbde65d12186404dff9a93e8ebffffe266f6a39200a3f93d9662
MD5 44f86f47ba83bfcfe0cca2caf519a5ad
BLAKE2b-256 a55922fe627a84468bc0cd120cd6f89dd0c89ac37b1a9267cf8b41e46759152e

See more details on using hashes here.

File details

Details for the file pyscaleio-0.1.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pyscaleio-0.1.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 2b9789a90ad244d2f62f51671124ea148a899ec6d9458e207f8908bb00dd8db7
MD5 1bfabc321cfb24c12ab24bdcbf4b750b
BLAKE2b-256 ebe0df357bba68237a96e0b5697a90cc0bf1324468bb9b0224cdb8c149c32aca

See more details on using hashes here.

Supported by

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