Coder Social home page Coder Social logo

selectel / python-selvpcclient Goto Github PK

View Code? Open in Web Editor NEW
7.0 4.0 6.0 190 KB

[Official] Python client (lib + cli) for Selectel Cloud Management API.

License: Other

Batchfile 0.09% Shell 0.10% Python 99.81%
python cliff console console-application openstack selectel selectel-api command-line-tool command-line official

python-selvpcclient's Introduction

python-selvpcclient

This is a client for the Selectel VPC API. There is a Python API (the selvpcclient module), and command-line script (installed as selvpc).

Overview

Installing from PyPI

    pip install -U python-selvpcclient

License

Apache 2.0

python-selvpcclient's People

Contributors

archirk avatar ayemelianov avatar dependabot[bot] avatar dstdfx avatar ilya-lesikov avatar ivan-bokov avatar milkrage avatar moress avatar objque avatar pr0ger avatar saydamir avatar sel-bukharov avatar t-sh avatar tnt-dev avatar truepack avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

python-selvpcclient's Issues

Исправить сообщения, выводимые программой

В сообщениях, выводимых программой-клиентом, нужно исправить форму глагола.
Например, Project was deleted заменяем на Project has been deleted.
Аналогичные изменения нужны во всех других сообщениях, касающихся удаления объектов.
Соответствующий pull-request уже добавлен (#16).

Возможность получить raw_json от API

На данный момент нельзя получить json от API, без дополнительных преобразований в resource.

Для решения проблемы, предлагаю

  1. Добавить во методы base.Manager ключ return_raw (по аналогии с post)
  2. Добавить во все остальные менеджеры возможность передать ключ return_raw (по умолчанию return_raw=False) и затем пробросить его в httpclient.

Множественное удаление объектов

Нету возможности удалить сразу несколько объектов

selvpc license add d7648ee084274d6eafb46dcd3cb4eb36 -r ru-2 --type license_windows_2012_standard --quantity 3

+-------+----------------------------------+--------+-------------------------------+--------+
|    id | project_id                       | region | type                          | status |
+-------+----------------------------------+--------+-------------------------------+--------+
| 30650 | d7648ee084274d6eafb46dcd3cb4eb36 | ru-2   | license_windows_2012_standard | DOWN   |
| 30653 | d7648ee084274d6eafb46dcd3cb4eb36 | ru-2   | license_windows_2012_standard | DOWN   |
| 30656 | d7648ee084274d6eafb46dcd3cb4eb36 | ru-2   | license_windows_2012_standard | DOWN   |
+-------+----------------------------------+--------+-------------------------------+--------+

Хотелось бы сделать что-то вроде

selvpc license delete --yes-i-really-want-to-delete 30650 30653 30656

argparse поддерживает повторяющиеся аргументы.

Пожелания:

  1. Нельзя ломать обратную совместимость менеджеров, которые на данный момент принимают только 1 id.
  2. Добавить возможность удаления в библиотеку и поддержку в cli

Нужно посмотреть, как будет грамотнее:

  1. Добавить дополнительный метод вида delete_many(ids)
  2. Добавить опциональный аргумент в delete(id, ids=None)
  3. Обрабатывать delete(id), где id может быть str/list
  4. Завязать на декораторах?
    ...

Добавить поддержку travis-ci

Необходимо прикрутить поддержку travis-ci
Для начала: проверку pep8 и прогон тестов. (сборку?)
Так же, travis предоставляет классные бейджики с статусами аля build: pass
Можно выбрать парочку и добавить в readme

Добавить поддержку timeout

На данный момент нельзя задать timeout для запросов.

Хотелось бы что-то вроде
Client(timeout=120, ...) и selvpc --http-timeout 120 project list

quota optimize возвращает resource not found

При загрузке своих образов на vpc, кроме квоты для image_gigabytes есть ещё квота volume_gigabytes_iso, которая выставляется автоматически. selvpc client при quota optimize пытается изменять и volume_gigabytes_iso, на что возвращается 404 Resource not found.

Техподдержка:

volume_gigabytes_iso - это не ISO-образы, а жесткие диски с типом ISO. Они создаются только при первичной установке сервера из собственного образа и называются virtual-cd-rom-for-название_сервера.

Воспроизведение:

  1. Создать новый проект
  2. Увеличить квоту на образы до 1 ГБ
  3. Загрузить в проект образ:
    https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
  4. Запустить selvpc quota optimize

Ожидание:
Возвращает Nothing to optimize

Результат:
Возвращает Resource not found

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.