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 2w ago

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 35% 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

3244d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/13558383?v=4)[Ruslan](/maintainers/maestroprog)[@maestroprog](https://github.com/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

[php-http/cache-plugin

PSR-6 Cache plugin for HTTPlug

25025.5M80](/packages/php-http-cache-plugin)[illuminate/http

The Illuminate Http package.

11937.2M6.6k](/packages/illuminate-http)[rdkafka/rdkafka

A PHP extension for Kafka

2.2k20.0k1](/packages/rdkafka-rdkafka)[httpsoft/http-message

Strict and fast implementation of PSR-7 and PSR-17

87930.4k113](/packages/httpsoft-http-message)[mezzio/mezzio-router

Router subcomponent for Mezzio

265.3M84](/packages/mezzio-mezzio-router)[serpapi/google-search-results-php

Get Google, Bing, Baidu, Ebay, Yahoo, Yandex, Home depot, Naver, Apple, Duckduckgo, Youtube search results via SerpApi.com

69122.6k](/packages/serpapi-google-search-results-php)

PHPackages © 2026

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