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.1.tar.gz (18.4 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.1-py2.py3-none-any.whl (11.4 kB view details)

Uploaded Python 2Python 3

File details

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

File metadata

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

File hashes

Hashes for pyscaleio-0.1.1.tar.gz
Algorithm Hash digest
SHA256 9753c42626e279446e8db62594210d1c2a87b125ab5fb2ad6b37dcd78d0e5be5
MD5 7e055e7dc7ed1b18cacc2ba94edf3749
BLAKE2b-256 613d6ccfcd7f7b790024c2a9d366629f8ccce9a00677d08438c9a1cd3498f7df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for pyscaleio-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 006bb04e9b9ec7d609b01098b2023266839b3ec9abe662e8c913c3c999a08de7
MD5 ae5cb6eb882a16cd2014aed6fa3ea06f
BLAKE2b-256 a705c02423f1d0aaabf47787efa6b1eb4518b6aed8fa28cd1b8d107e3dc34f77

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