PHPackages                             maestroprog/netangels-cvds-api - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [HTTP &amp; Networking](/categories/http)
4. /
5. maestroprog/netangels-cvds-api

ActiveLibrary[HTTP &amp; Networking](/categories/http)

maestroprog/netangels-cvds-api
==============================

A php library provides remote control for NetAngels cloud VDS hosting.

v1.0(8y ago)051MITPHPPHP &gt;=5.6

Since Aug 12Pushed 8y ago1 watchersCompare

[ Source](https://github.com/maestroprog/netangels-cvds-api)[ Packagist](https://packagist.org/packages/maestroprog/netangels-cvds-api)[ RSS](/packages/maestroprog-netangels-cvds-api/feed)WikiDiscussions master Synced yesterday

READMEChangelog (1)DependenciesVersions (2)Used By (0)

Работа с NetAngels CVDS API
===========================

[](#работа-с-netangels-cvds-api)

Данная библиотека, написанная на PHP, позволяет работать с NetAngels Cloud VDS API.

Она позволяет выполнять почти все операции, описанные в [документации](http://api.netangels.ru/cvds/).

Принцип работы
==============

[](#принцип-работы)

Библиотека поделена на классы для работы с разными типами ресурсов API:

- [VmApi](src/Section/VmApi.php) - реализует управление облачными VDS
- [DiskApi](src/Section/DiskApi.php) - реализует управление облачными дисками
- [VmsIpApi](src/Section/VmsIpApi.php) - получает информацию об IP адресах используемых облачными VDS
- [TariffsApi](src/Section/TariffsApi.php) - позволяет получить список доступных тарифов
- [OsApi](src/Section/OsApi.php) - даёт информацию о возможных образах операционных систем для создания облачных VDS

Основной класс [Api](src/Api.php) содержит получение авторизационного токена, и даёт доступ к остальным API классам

Сущности `Vds` и `Disk` инкапсулируют логику для работы с API

Примеры
-------

[](#примеры)

> Для работы с API нужен специальный API ключ, получить его можно в [панели NetAngels](https://panel.netangels.ru/api_keys/) будучи авторизованным пользователем с подключенной услугой "Облачные VDS".

1. Инициализация библиотеки и получение авторизационного токена.

    ```
    define('API_KEY', '#Ваш API ключ#');

    try {
        $netAngelsApi = new \NetAngels\Api(new ApiKey(API_KEY));
    } catch (Exception $e) {
        echo 'Не удалось получить авторизационный токен:' . $e->getMessage() . '';
        if ($prev = $e->getPrevious()) {
            echo '' . nl2br($prev->getMessage()) . '';
        }
    }
    ```

    *Далее переменная `$netAngelsApi` будет использована взеде.*

    > При создании нового объекта `\NetAngels\Api` происходит попытка получения авторизационного токена. Не все API методы требуют авторизационный токен, поэтому можно поймать исключение, и работать дальше с API без токена. API ресурсы, поддерживающе работу без токена: `vm-tariffs`, `os-images`, `token` (получение токена).
2. Создание облачной VDS

    ```
    // в качестве примера выберем самый начальный тариф
    $tariff = $netAngelsApi->getTariffsApi()->getLowTariff();

    // получаем список возможных образов операционных систем, просматриваем его, и выбираем нужный образ
    $images = $netAngelsApi->getOsApi()->getList();

    // затем нужно выбрать образ диска с операционной системой
    // допустим, это будет образ с Debian 7 Wheezy LAMP, и архитектурой 64-битной
    $image = \NetAngels\ValueObject\VmImage::custom(2, 64);

    // также для облачной VDS потребуется диск, будем создавать SSD диск на 10ГБ
    $disk = new \NetAngels\Entity\SsdDisk($netAngelsApi, 10);

    // создаем обланую вдс на основе выбранного образа
    $requisites = (new \NetAngels\Entity\Vds($netAngelsApi,$tariff))->createByImage($image);
    ```

    *После данных манипуляций в переменной `$requisites`будет находиться объект класса `\NetAngels\ValueObject\VmRequisites`; после создания новой облачной VDS данный объект хранит IP адрес созданной VDS; а если облачная VDS была создана на основе образа ОС, то этот объект будет хранить также реквизиты пользователей для доступа к данной VDS.*

    Данный код

    ```
    $users = $requisites->getUsers();
    var_dump($users);
    ```

    Выведет что-то вроде этого:

    ```
    object(NetAngels\ValueObject\VmRequisites)[39]
      private 'ip' => string '91.226.83.194' (length=13)
      private 'users' =>
        array (size=2)
          0 =>
            object(NetAngels\ValueObject\VmUser)[41]
              private 'username' => string 'root' (length=4)
              private 'password' => string 'M*************y' (length=15)
          1 =>
            object(NetAngels\ValueObject\VmUser)[40]
              private 'username' => string 'web' (length=3)
              private 'password' => string 'r*************J' (length=15)

    ```
3. Получение VDS по ID

    ```
    $vds = $netAngelsApi->getVmApi()->getVds(777);
    ```

    В сущностях `\Netangels\Entity\Vds` и `\Netangels\Entity\*Disk\` инкапсулировано API, поэтому операции можно производить прямо с ними:

    ```
    // переименование VDS
    $vds = $vds->rename('Новое имя');
    // переменной $vds присваивается новый объект VDS с новым именем

    // меняем имя и тариф

    $vds = $netAngelsApi->getVmApi()->getVds(777)
        ->changeTariff($netAngelsApi->getTariffsApi()->getPowerfulTariff())
        ->rename('Супер-мощная VDS');

    ```
4. Простенькая панель для включения/выключения VDS

    Находится в [примере](sample/index.php)

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

3196d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/6b52ba37ae503156baeec8ceb3ffdd423bdaa139e0ca347da7b0f1c2caacce51?d=identicon)[maestroprog](/maintainers/maestroprog)

---

Top Contributors

[![maestroprog](https://avatars.githubusercontent.com/u/13558383?v=4)](https://github.com/maestroprog "maestroprog (6 commits)")

### Embed Badge

![Health badge](/badges/maestroprog-netangels-cvds-api/health.svg)

```
[![Health](https://phpackages.com/badges/maestroprog-netangels-cvds-api/health.svg)](https://phpackages.com/packages/maestroprog-netangels-cvds-api)
```

###  Alternatives

[friendsofsymfony/rest-bundle

This Bundle provides various tools to rapidly develop RESTful API's with Symfony

2.8k73.3M319](/packages/friendsofsymfony-rest-bundle)[php-http/discovery

Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations

1.3k309.5M1.2k](/packages/php-http-discovery)[nyholm/psr7

A fast PHP7 implementation of PSR-7

1.3k235.4M2.4k](/packages/nyholm-psr7)[pusher/pusher-php-server

Library for interacting with the Pusher REST API

1.5k94.8M293](/packages/pusher-pusher-php-server)[spatie/crawler

Crawl all internal links found on a website

2.8k16.3M52](/packages/spatie-crawler)[react/http

Event-driven, streaming HTTP client and server implementation for ReactPHP

78126.4M414](/packages/react-http)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
