Skip to content

TheBits/libcloud-vdsina

Repository files navigation

libcloud драйвер для сервиса vdsina.ru

https://vdsina.ru/tech/api

Поддерживаемые методы Compute

NodeDriver

Параметры

Параметр Поддержка
key
secret
secure
host
port
api_version
region

Управление нодами

Метод Поддержка
create_node
deploy_node #10
destroy_node #11
features
list_nodes #9
reboot_node #12
start_node
stop_node
wait_until_running

Управление образами

Метод Поддержка
copy_image
create_image
delete_image
get_image
list_images #3

Управление дисками

Метод Поддержка
attach_volume
create_volume_snapshot
create_volume
destroy_volume_snapshot
destroy_volume
detach_volume
list_volume_snapshots
list_volumes

Управление SSH ключами

Метод Поддержка
create_key_pair #7
delete_key_pair #6
get_key_pair #5
import_key_pair_from_file #8
import_key_pair_from_string #8
list_key_pairs

Остальные

Метод Поддержка
list_locations #2
list_sizes #4

Методы Node

Параметры

Параметр Поддержка
id
name
state
public_ips
private_ips
driver
size
image
created_at
extra

Методы

Метод Поддержка
destroy
[reboot](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.Node.reboot
start
stop_node

Методы NodeSize

Параметры

Параметр Поддержка
id
name
ram
disk
bandwidth
price
driver
extra

NodeImage

Параметры

Параметр Поддержка
id
name
driver
extra

NodeLocation

Параметры

Параметр Поддержка
id
name
country
driver
extra

NodeAuthSSHKey

Параметры

Параметр Поддержка
pubkey

NodeAuthPassword

Параметры

Параметр Поддержка
password

StorageVolume

Параметры

Параметр Поддержка
id
name
size
driver
state
extra

Методы

Метод Поддержка
attach
destroy
detach
list_snapshots
snapshot

VolumeSnapshot

Параметры

Параметр Поддержка
id
driver
size
extra
created
state
name

Методы

Метод Поддержка
destroy

KeyPair

Параметр Поддержка
name
fingerprint
public_key
private_key
extra

NodeState

Указаны возомжно состояния

Состояние Поддержка
RUNNING

DNS

DNSDriver

Параметры

Параметр Поддержка
key
secret
secure
host
port

Методы

Метод Поддержка Примечание
create_record
create_zone
delete_record
delete_zone
list_records
list_zones
iterate_records
iterate_zones
list_record_types
get_record
get_zone
update_record
update_zone
export_zone_to_bind_format
export_zone_to_bind_zone_file

Zone

Параметры

Параметр Поддержка
id
domain
type
ttl
driver
extra

Record

Параметры

Параметр Поддержка
id
name
type
data
zone
driver
ttl
extra

Разработка

Для запуска тестов настроен tox. Для проверки коммитов настроен pre-commit. Так же в проекте настроена автоматический запуск tox в GitHub Actions.

Тесты

Тесты запускаются при помощи pytest.

Линтеры и форматтеры

Для запуска линтеров необходимо установить pre-commit. Линтеры запускаются командой $ pre-commit run -a.

Настройка pre-commit

Github Actions запускаются в stage: commit, поэтому в .pre-commit-config.yaml проверка id: no-commit-to-branch установлена в stage: push. Что бы проверка запускалась локально и не срабатывала в CI. Локально надо установить pre-commit хуки на пуши и на коммиты следующей командой:

$ pre-commit install --hook-type pre-commit --hook-type pre-push