{"id":21060000,"url":"https://github.com/thebits/libcloud-beget","last_synced_at":"2025-03-14T00:42:45.428Z","repository":{"id":38009767,"uuid":"502271930","full_name":"TheBits/libcloud-beget","owner":"TheBits","description":"libcloud driver for beget.com","archived":false,"fork":false,"pushed_at":"2022-06-12T11:44:01.000Z","size":11,"stargazers_count":0,"open_issues_count":12,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-20T19:55:05.396Z","etag":null,"topics":["libcloud"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheBits.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-06-11T06:42:16.000Z","updated_at":"2022-06-11T06:43:21.000Z","dependencies_parsed_at":"2022-09-12T14:21:16.079Z","dependency_job_id":null,"html_url":"https://github.com/TheBits/libcloud-beget","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheBits%2Flibcloud-beget","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheBits%2Flibcloud-beget/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheBits%2Flibcloud-beget/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheBits%2Flibcloud-beget/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheBits","download_url":"https://codeload.github.com/TheBits/libcloud-beget/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243505952,"owners_count":20301617,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["libcloud"],"created_at":"2024-11-19T17:14:07.637Z","updated_at":"2025-03-14T00:42:45.388Z","avatar_url":"https://github.com/TheBits.png","language":"Python","readme":"# beget.com libcloud driver\n\n# Поддерживаемые методы Compute\n\n## NodeDriver\n\n### Параметры\n\n| Параметр    | Поддержка |\n| ----------- | --------- |\n| key         |           |\n| secret      |           |\n| secure      |           |\n| host        |           |\n| port        |           |\n| api_version |           |\n| region      |           |\n\n### Управление нодами\n\n| Метод                                                                                                                                | Поддержка |\n| ------------------------------------------------------------------------------------------------------------------------------------ | --------- |\n| [create_node](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.create_node)               | #15       |\n| [deploy_node](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.deploy_node)               |           |\n| [destroy_node](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.destroy_node)             | #19       |\n| [features](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.features)                     |           |\n| [list_nodes](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.list_nodes)                 | #20       |\n| [reboot_node](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.reboot_node)               | #21       |\n| [start_node](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.start_node)                 | #21       |\n| [stop_node](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.stop_node)                   | #21       |\n| [wait_until_running](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.wait_until_running) |           |\n\n### Управление образами\n\n| Метод                                                                                                                    | Поддержка |\n| ------------------------------------------------------------------------------------------------------------------------ | --------- |\n| [copy_image](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.copy_image)     |           |\n| [create_image](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.create_image) |           |\n| [delete_image](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.delete_image) |           |\n| [get_image](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.get_image)       |           |\n| [list_images](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.list_images)   | done      |\n\n### Управление дисками\n\n| Метод                                                                                                                                          | Поддержка |\n| ---------------------------------------------------------------------------------------------------------------------------------------------- | --------- |\n| [attach_volume](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.attach_volume)                     |           |\n| [create_volume_snapshot](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.create_volume_snapshot)   |           |\n| [create_volume](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.create_volume)                     |           |\n| [destroy_volume_snapshot](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.destroy_volume_snapshot) |           |\n| [destroy_volume](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.destroy_volume)                   |           |\n| [detach_volume](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.detach_volume)                     |           |\n| [list_volume_snapshots](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.list_volume_snapshots)     |           |\n| [list_volumes](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.list_volumes)                       |           |\n\n### Управление SSH ключами\n\n| Метод                                                                                                                                                  | Поддержка |\n| ------------------------------------------------------------------------------------------------------------------------------------------------------ | --------- |\n| [create_key_pair](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.create_key_pair)                         |           |\n| [delete_key_pair](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.delete_key_pair)                         |           |\n| [get_key_pair](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.get_key_pair)                               |           |\n| [import_key_pair_from_file](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.import_key_pair_from_file)     |           |\n| [import_key_pair_from_string](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.import_key_pair_from_string) |           |\n| [list_key_pairs](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.list_key_pairs)                           |           |\n\n### Остальные\n\n| Метод                                                                                                                        | Поддержка |\n| ---------------------------------------------------------------------------------------------------------------------------- | --------- |\n| [list_locations](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.list_locations) |           |\n| [list_sizes](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.NodeDriver.list_sizes)         |           |\n\n## Методы Node\n\n### Параметры\n\n| Параметр    | Поддержка |\n| ----------- | --------- |\n| id          |           |\n| name        |           |\n| state       |           |\n| public_ips  |           |\n| private_ips |           |\n| driver      |           |\n| size        |           |\n| image       |           |\n| created_at  |           |\n| extra       |           |\n\n### Методы\n\n| Метод                                                                                                        | Поддержка |\n| ------------------------------------------------------------------------------------------------------------ | --------- |\n| [destroy](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.Node.destroy)     |           |\n| [reboot](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.Node.reboot)       |           |\n| [start](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.Node.start)         |           |\n| [stop_node](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.Node.stop_node) |           |\n\n## Методы NodeSize\n\n### Параметры\n\n| Параметр  | Поддержка |\n| --------- | --------- |\n| id        |           |\n| name      |           |\n| ram       |           |\n| disk      |           |\n| bandwidth |           |\n| price     |           |\n| driver    |           |\n| extra     |           |\n\n## NodeImage\n\n### Параметры\n\n| Параметр | Поддержка |\n| -------- | --------- |\n| id       |           |\n| name     |           |\n| driver   |           |\n| extra    |           |\n\n## NodeLocation\n\n### Параметры\n\n| Параметр | Поддержка |\n| -------- | --------- |\n| id       |           |\n| name     |           |\n| country  |           |\n| driver   |           |\n| extra    |           |\n\n## NodeAuthSSHKey\n\n### Параметры\n\n| Параметр | Поддержка |\n| -------- | --------- |\n| pubkey   |           |\n\n## NodeAuthPassword\n\n### Параметры\n\n| Параметр | Поддержка |\n| -------- | --------- |\n| password |           |\n\n## StorageVolume\n\n### Параметры\n\n| Параметр | Поддержка |\n| -------- | --------- |\n| id       |           |\n| name     |           |\n| size     |           |\n| driver   |           |\n| state    |           |\n| extra    |           |\n\n### Методы\n\n| Метод                                                                                                                           | Поддержка |\n| ------------------------------------------------------------------------------------------------------------------------------- | --------- |\n| [attach](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.StorageVolume.attach)                 |           |\n| [destroy](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.StorageVolume.destroy)               |           |\n| [detach](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.StorageVolume.detach)                 |           |\n| [list_snapshots](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.StorageVolume.list_snapshots) |           |\n| [snapshot](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.StorageVolume.snapshot)             |           |\n\n## VolumeSnapshot\n\n### Параметры\n\n| Параметр | Поддержка |\n| -------- | --------- |\n| id       |           |\n| driver   |           |\n| size     |           |\n| extra    |           |\n| created  |           |\n| state    |           |\n| name     |           |\n\n### Методы\n\n| Метод                                                                                                              | Поддержка |\n| ------------------------------------------------------------------------------------------------------------------ | --------- |\n| [destroy](https://libcloud.readthedocs.io/en/stable/compute/api.html#libcloud.compute.base.VolumeSnapshot.destroy) |           |\n\n## KeyPair\n\n| Параметр    | Поддержка |\n| ----------- | --------- |\n| name        |           |\n| fingerprint |           |\n| public_key  |           |\n| private_key |           |\n| extra       |           |\n\n## NodeState\n\nУказаны возомжно состояния\n\n| Состояние | Поддержка |\n| --------- | --------- |\n| RUNNING   |           |\n\n# DNS\n\n## DNSDriver\n\n### Параметры\n\n| Параметр | Поддержка |\n| -------- | --------- |\n| key      |           |\n| secret   |           |\n| secure   |           |\n| host     |           |\n| port     |           |\n\n### Методы\n\n| Метод                                                                                                                                             | Поддержка | Примечание |\n| ------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ---------- |\n| [create_record](https://libcloud.readthedocs.io/en/stable/dns/api.html#libcloud.dns.base.DNSDriver.create_record)                                 |           |            |\n| [create_zone](https://libcloud.readthedocs.io/en/stable/dns/api.html#libcloud.dns.base.DNSDriver.create_zone)                                     | #3        |            |\n| [delete_record](https://libcloud.readthedocs.io/en/stable/dns/api.html#libcloud.dns.base.DNSDriver.delete_record)                                 | #7        |            |\n| [delete_zone](https://libcloud.readthedocs.io/en/stable/dns/api.html#libcloud.dns.base.DNSDriver.delete_zone)                                     | #4        |            |\n| [list_records](https://libcloud.readthedocs.io/en/stable/dns/api.html#libcloud.dns.base.DNSDriver.list_records)                                   |           |            |\n| [list_zones](https://libcloud.readthedocs.io/en/stable/dns/api.html#libcloud.dns.base.DNSDriver.list_zones)                                       | #2        |            |\n| [iterate_records](https://libcloud.readthedocs.io/en/stable/dns/api.html#libcloud.dns.base.DNSDriver.iterate_records)                             |           |            |\n| [iterate_zones](https://libcloud.readthedocs.io/en/stable/dns/api.html#libcloud.dns.base.DNSDriver.iterate_zones)                                 |           |            |\n| [list_record_types](https://libcloud.readthedocs.io/en/stable/dns/api.html#libcloud.dns.base.DNSDriver.list_record_types)                         |           |            |\n| [get_record](https://libcloud.readthedocs.io/en/stable/dns/api.html#libcloud.dns.base.DNSDriver.get_record)                                       |           |            |\n| [get_zone](https://libcloud.readthedocs.io/en/stable/dns/api.html#libcloud.dns.base.DNSDriver.get_zone)                                           | #5        |            |\n| [update_record](https://libcloud.readthedocs.io/en/stable/dns/api.html#libcloud.dns.base.DNSDriver.update_record)                                 |           |            |\n| [update_zone](https://libcloud.readthedocs.io/en/stable/dns/api.html#libcloud.dns.base.DNSDriver.update_zone)                                     | #6        |            |\n| [export_zone_to_bind_format](https://libcloud.readthedocs.io/en/stable/dns/api.html#libcloud.dns.base.DNSDriver.export_zone_to_bind_format)       |           |            |\n| [export_zone_to_bind_zone_file](https://libcloud.readthedocs.io/en/stable/dns/api.html#libcloud.dns.base.DNSDriver.export_zone_to_bind_zone_file) |           |            |\n\n## Zone\n\n### Параметры\n\n| Параметр | Поддержка |\n| -------- | --------- |\n| id       |           |\n| domain   |           |\n| type     |           |\n| ttl      |           |\n| driver   |           |\n| extra    |           |\n\n## Record\n\n### Параметры\n\n| Параметр | Поддержка |\n| -------- | --------- |\n| id       |           |\n| name     |           |\n| type     |           |\n| data     |           |\n| zone     |           |\n| driver   |           |\n| ttl      |           |\n| extra    |           |\n\n## Разработка\n\nДля запуска тестов настроен tox. Для проверки коммитов настроен pre-commit.\n\nТак же в проекте настроена автоматический запуск tox в GitHub Actions.\n\n### Тесты\n\nТесты запускаются через tox, внутри используется [pytest](https://pytest.org/).\n\nДля создания фикстур нужен установленный ключ окружения `DRIVER_TOKEN` с API ключём.\n\n### Линтеры и форматтеры\n\nДля запуска линтеров необходимо установить [pre-commit](https://pre-commit.com/). Линтеры запускаются командой `$ pre-commit run -a`.\n\n#### Настройка `pre-commit`\n\nGithub Actions запускаются в `stage: commit`, поэтому в `.pre-commit-config.yaml` проверка `id: no-commit-to-branch` установлена в `stage: push`. Что бы проверка запускалась локально и не срабатывала в CI. Локально надо установить pre-commit хуки на пуши и на коммиты следующей командой:\n\n```bash\n$ pre-commit install --hook-type pre-commit --hook-type pre-push\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthebits%2Flibcloud-beget","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthebits%2Flibcloud-beget","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthebits%2Flibcloud-beget/lists"}