Skip to main content

Software Development Kit for QingCloud.

Project description

This repository allows you to access QingCloud and control your resources from your applications.

This SDK is licensed under Apache Licence, Version 2.0.

Installation

Install via pip

$ pip install qingcloud-sdk

Upgrade to the latest version

$ pip install --upgrade qingcloud-sdk

Install from source

git clone https://github.com/yunify/qingcloud-sdk-python.git
cd qingcloud-sdk-python
python setup.py install

Getting Started

In order to operate QingCloud IaaS or QingStor (QingCloud Object Storage), you need apply access key on qingcloud console first.

QingCloud IaaS API

  1. Pass access key id and secret key into method connect_to_zone to create connection

    >>> import qingcloud.iaas
    >>> conn = qingcloud.iaas.connect_to_zone(
            'zone id',
            'access key id',
            'secret access key'
        )
  2. Call API by using IAM role

If you would like to call our APIs without access key and secret key (bad things would happen if they were lost or leaked) or if you want a finer access control over your instances, there is a easy way to do it :P

  • Go to our IAM service, create an instance role and attach it to your instance.

  • Create connection without access key and secret key.

    >>> import qingcloud.iaas
    >>> conn = qingcloud.iaas.connect_to_zone(
          'zone id',
           None,
           None
        )

The variable conn is the instance of qingcloud.iaas.connection.APIConnection, we can use it to call resource related methods. Example:

# launch instances
>>> ret = conn.run_instances(
        image_id='img-xxxxxxxx',
        cpu=1,
        memory=1024,
        vxnets=['vxnet-0'],
        login_mode='passwd',
        login_passwd='Passw0rd@()'
    )

# stop instances
>>> ret = conn.stop_instances(
        instances=['i-xxxxxxxx'],
        force=True
      )

# describe instances
>>> ret = conn.describe_instances(
        status=['running', 'stopped']
      )

QingCloud QingStor API

Pass access key id and secret key into method connect to create connection

>>> import qingcloud.qingstor
>>> conn = qingcloud.qingstor.connect(
        'pek3a.qingstor.com',
        'access key id',
        'secret access key'
    )

The variable conn is the instance of qingcloud.qingstor.connection.QSConnection, we can use it to create Bucket which is used for generating Key and MultiPartUpload.

Example:

# Create a bucket
>>> bucket = conn.create_bucket('mybucket')

# Create a key
>>> key = bucket.new_key('myobject')
>>> with open('/tmp/myfile') as f:
>>>     key.send_file(f)

# Delete the key
>>> bucket.delete_key('myobject')

Coreshub AICP API

Pass access key id and secret key into method connect to create connection

>>> import qingcloud.qai
>>> conn = qingcloud.qai.connect(
        'access key id',
        'secret access key',
        'zone_id'
    )

The variable conn is the instance of qingcloud.qai.connection.QAIConnection, we can use it to connect to aicp server.

Example:

# Get user information.
>>> user_info = conn.get_user_info()

# Get trains.
>>> trains = conn.get_trains()

# Get the metrics of trains.
>>> conn.trains_metrics(['tn-xxx', 'tn-xxx'])

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

qingcloud-sdk-1.2.16.tar.gz (64.8 kB view details)

Uploaded Source

Built Distribution

qingcloud_sdk-1.2.16-py2-none-any.whl (103.8 kB view details)

Uploaded Python 2

File details

Details for the file qingcloud-sdk-1.2.16.tar.gz.

File metadata

  • Download URL: qingcloud-sdk-1.2.16.tar.gz
  • Upload date:
  • Size: 64.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.27.1 setuptools/44.0.0.post20200106 requests-toolbelt/1.0.0 tqdm/4.64.1 CPython/2.7.18

File hashes

Hashes for qingcloud-sdk-1.2.16.tar.gz
Algorithm Hash digest
SHA256 6fa6a28d1512b48855eb6b04b4e025fd701d21ae474d40b9ff34846ae0a369d9
MD5 3ece3d9724251ae9ea5fd9efbb9baf67
BLAKE2b-256 f855f96af56402640641550a12aa39e681c8e6fd1f9eb492d9dca1a0f2d1d46c

See more details on using hashes here.

File details

Details for the file qingcloud_sdk-1.2.16-py2-none-any.whl.

File metadata

  • Download URL: qingcloud_sdk-1.2.16-py2-none-any.whl
  • Upload date:
  • Size: 103.8 kB
  • Tags: Python 2
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.8.3 requests/2.27.1 setuptools/44.0.0.post20200106 requests-toolbelt/1.0.0 tqdm/4.64.1 CPython/2.7.18

File hashes

Hashes for qingcloud_sdk-1.2.16-py2-none-any.whl
Algorithm Hash digest
SHA256 61240e4e56995a428438941a878c962a776bef0c916a4727f600aa8134d62081
MD5 f76037c3c95ddd79ac9f7b1c072c18ef
BLAKE2b-256 bb180f17377a592581b096c244004f40977bacef25de007bb695a45b5b3dcfea

See more details on using hashes here.

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