- tocdepth
2
Тенанты
На странице собраны API-методы для управления тенантами.
Получение списка доступных ЦОД
Для создания тенантов нужно запросить доступные ЦОД.
Для запроса используются:
токен, полученный при аутентификации;
project_id
, полученный со списком проектов.
- Запрос
curl --location 'https://vmware.api.cloud.ru/api/vmware-public/v1beta/data-centers?project_id=$project_id' \ --header 'Authorization: Bearer TOKEN' \ --header 'accept: application/json'
Пример ответа 200 OK
{
"data_centers": [
{
"region": "pd30-02",
"host": "https://vcd30-02.cloud.ru",
"data_center": "ЦОД DataPro-3.PD30-02 (г. Москва, ул. Рябиновая 53, строение 3)"
}
]
}
- Описание параметров
Параметр
Тип
Опциональность
Описание
region
string
Обязательный
Название региона
host
string
Обязательный
URL VMware Cloud Director
data_center
string
Обязательный
Название и адрес ЦОДа
Создание тенанта POST /tenants
Для создания тенанта необходимы следующие параметры:
- Параметры headers
idempotency-key
в формате UUID-4, обязательный. Сгенерировать header можно через любой сервис, например Online UUID Generator.- Параметры body
Параметр
Тип
Опциональность
Описание
project_id
string($uuid)
Обязательный
Идентификатор проекта
region
string
Обязательный
Название региона
alias
string
Обязательный
Название тенанта
monitoring_enabled
boolean
Опциональный
Управление настройками мониторинга для создаваемого тенанта.
По-умолчанию значение
true
- Запрос
curl --location 'https://vmware.api.cloud.ru/api/vmware-public/v1beta/tenants' \ --header 'content-type: application/json' \ --header 'idempotency-key: a90b7a09-ce2d-4dfb-a236-97d375b4dc94' \ --header 'Authorization: Bearer TOKEN' \ --data '{ "alias": "mg-apitest-3", "region": "pd30-02", "project_id": "84f2ac2b-0e1c-47b8-9898-21ec9301a733", "monitoring_enabled": true }'
Пример ответа 200 OK
В ответе вернется идентификатор и статус операции создания.
Идентификатор создаваемого ресурса не вернется. Он генерируется в VMware Cloud Director на последних шагах.
{
"id": "a90b7a09-ce2d-4dfb-a236-97d375b4dc94",
"description": "",
"completed": false,
"response": {},
"metadata": {
"method": "/cloud.vmware.v1beta.TenantService/CreateTenant",
"status": "IN PROGRESS",
"service_instance_id": "bf4f6bc4-364c-4ab2-8437-31458254b6a6",
"resource_id": "",
"resource_name": "",
"resource_type": "TENANT"
},
"created_at": "2024-10-07T11:20:28.263381Z",
"created_by": "c9c9e57f-98e0-4b8c-a07b-c8d19b159ecc",
"updated_at": "2024-10-07T11:20:28.263818Z"
}
Ошибки в ответе
Status Codes |
Message |
Details |
grpc |
Комментарии |
---|---|---|---|---|
404 Not Found |
No available provider |
The specified region does not contain available providers. Please contact the support |
5 NOT_FOUND |
|
400 Bad Request |
Invalid tenant name |
The specified tenant name is not allowed. Please try another name |
3 INVALID_ARGUMENT |
|
400 Bad Request |
The amount of tenants limit is reached |
The amount of tenants limit is reached. Please contact the support to increase the limit |
9 FAILED_PRECONDITION |
|
400 Bad Request |
Region not available |
The specified region is not available for tenant creation. Please choose another region or contact the support |
9 FAILED_PRECONDITION |
|
404 Not Found |
Region not exists |
The specified region does not exist. Please check the available regions or contact the support |
5 NOT_FOUND |
|
404 Not Found |
Project not exists |
The specified project does not exist. Please check the available regions or contact the support |
5 NOT_FOUND |
|
403 Forbidden |
Self-service not available |
It is not possible to process the operation due to the self-service is not available for the current organization. Please contact the support for details |
7 PERMISSION_DENIED |
|
403 Forbidden |
Permission denied |
The used account has no permissons for the operation. Please check the accounts roles or contact the support |
7 PERMISSION_DENIED |
|
Получение списка тенантов GET /tenants
Для запроса используются полученные токен и project_id
.
- Запрос
curl --location 'https://vmware.api.cloud.ru/api/vmware-public/v1beta/tenants?project_id=$project_id' \ --header 'content-type: application/json' \ --header 'Authorization: Bearer TOKEN'
Пример ответа 200 OK
{
"result": [
{
"id": "b392ec46-9f12-415f-86e8-19b487095d7e",
"alias": "mg-apitest-2",
"name": "mg-apitest-2-PIBDOCsis",
"region": "pd30-02",
"user_id": "c9c9e57f-98e0-4b8c-a07b-c8d19b159ecc",
"project_id": "84f2ac2b-0e1c-47b8-9898-21ec9301a733",
"customer_id": "98b6a337-2f5c-475d-bf64-3b3e3dfbddb7",
"product_instance_id": "95950ff0-0bed-4773-a9f8-a9b1b061cf36",
"service_instance_id": "211d549f-0fd8-445a-a7e7-d8fdef19865f",
"state": "Enabled",
"url": "https://vcd30-02.cloud.ru",
"monitoring_enabled": true,
"favourite": false
},
...
],
"total": 0
}
- Параметры ответа
Параметр
Тип
Опциональность
Описание
id
string($uuid)
Обязательный
Идентификатор тенанта из VMware Cloud Director
alias
string
Обязательный
Название тенанта
name
string
Обязательный
Полное название тенанта
region
string
Обязательный
ЦОД
user_id
string($uuid)
Обязательный
Идентификатор пользователя, создавшего тенант
project_id
string($uuid)
Обязательный
Идентификатор проекта
customer_id
string($uuid)
Обязательный
Идентификатор организации
product_instance_id
string($uuid)
Обязательный
Идентификатор продукта в проекте
service_instance_id
string($uuid)
Обязательный
Идентификатор тенанта
state
string
Обязательный
Статус тенанта:
ENTITY_STATE_UNSPECIFIED
Enabled
Disabled
url
string
Обязательный
URL VMware Cloud Director
monitoring_enabled
boolean
Обязательный
Наличие мониторинга
favourite
boolean
Обязательный
Наличие тенанта в списке избранных
Ошибки в ответе
Status Codes |
Message |
Details |
grpc |
Комментарии |
---|---|---|---|---|
404 Not Found |
Project not exists |
The specified project does not exist. Please check the available regions or contact the support |
5 NOT_FOUND |
|
403 Forbidden |
Self-service not available |
It is not possible to process the operation due to the self-service is not available for the current organization. Please contact the support for details |
7 PERMISSION_DENIED |
|
403 Forbidden |
Permission denied |
The used account has no permissons for the operation. Please check the accounts roles or contact the support |
7 PERMISSION_DENIED |
|
Изменение статуса тенанта PUT /tenants/state
Для запроса необходимы следующие параметры:
- Параметры headers
idempotency-key
— ключ идемпотентности в формате UUID-4, обязательный. Сгенерировать ключ можно через любой сервис, например Online UUID Generator.- Параметры body
Параметр
Тип
Опциональность
Описание
service_instance_id
string($uuid)
Обязательный
Идентификатор тенанта
tenant_state
string
Обязательный
Статус тенанта:
ENTITY_STATE_UNSPECIFIED
Enabled
Disabled
- Запрос
curl --location --request PUT 'https://vmware.api.cloud.ru/api/vmware-public/v1beta/tenants/state' \ --header 'accept: application/json' \ --header 'idempotency-key: 124e2dd0-f4b2-4586-827c-3025f8930257' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer TOKEN' \ --data '{ "service_instance_id": "eaf81279-8229-440a-81ed-04c5edea684c", "state": "Disabled" }'
Ответ 200 OK
В ответе вернется идентификатор и статус операции.
Ошибки в ответе
Status Codes |
Message |
Details |
grpc |
Комментарии |
---|---|---|---|---|
404 Not Found |
Tenant not exists |
The specified tenant does not exist |
5 NOT_FOUND |
|
404 Not Found |
Tenant was deleted |
The specified tenant does not exist |
5 NOT_FOUND |
|
404 Bad Request |
Invalid state |
The specified state is incorrect. Please recheck the value |
3 INVALID_ARGUMENT |
|
403 Forbidden |
Self-service not available |
It is not possible to process the operation due to the self-service is not available for the current organization. Please contact the support for details |
7 PERMISSION_DENIED |
|
403 Forbidden |
Permission denied |
The used account has no permissons for the operation. Please check the accounts roles or contact the support |
7 PERMISSION_DENIED |
|
Добавление тенанта в избранное PUT /tenants/favorite
Для запроса необходимы следующие параметры:
- Параметры headers
idempotency-key
— ключ идемпотентности в формате UUID-4, обязательный. Сгенерировать ключ можно через любой сервис, например Online UUID Generator.- Параметры body
Параметр
Тип
Опциональность
Описание
service_instance_id
string($uuid)
Обязательный
Идентификатор тенанта
tenant_is_favoritestate
string
Обязательный
Наличие тенанта в списке избранных
- Запрос
curl --location --request PUT 'https://vmware.api.cloud.ru/api/vmware-public/v1beta/tenants/favorite' \ --header 'accept: application/json' \ --header 'idempotency-key: 05a92cc8-4b27-4e50-9071-0ed2ba180f6b' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer TOKEN' \ --data '{ "service_instance_id": "7e4c2391-25e1-47a3-b70f-20e2176dab2b", "is_favorite": "true" }'
Ответ 200 OK
В ответе вернется идентификатор и статус операции.
Ошибки в ответе
Status Codes |
Message |
Details |
grpc |
Комментарии |
---|---|---|---|---|
404 Not Found |
Tenant not exists |
The specified tenant does not exist |
5 NOT_FOUND |
|
404 Not Found |
Tenant was deleted |
The specified tenant does not exist |
5 NOT_FOUND |
|
403 Forbidden |
Self-service not available |
It is not possible to process the operation due to the self-service is not available for the current organization. Please contact the support for details |
7 PERMISSION_DENIED |
|
403 Forbidden |
Permission denied |
The used account has no permissons for the operation. Please check the accounts roles or contact the support |
7 PERMISSION_DENIED |
|
Включение мониторинга для тенанта PUT /tenants/monitoring
Для запроса необходимы следующие параметры:
- Параметры headers
idempotency-key
— ключ идемпотентности в формате UUID-4, обязательный. Сгенерировать ключ можно через любой сервис, например Online UUID Generator.- Параметры body
Параметр
Тип
Опциональность
Описание
service_instance_id
string
Обязательный
Идентификатор тенанта
monitoring_enabled
string($uuid)
Обязательный
Наличие мониторинга
- Запрос
curl --location --request PUT 'https://vmware.api.cloud.ru/api/vmware-public/v1beta/tenants/monitoring' \ --header 'accept: application/json' \ --header 'idempotency-key: 05a92cc8-4b27-4e50-9071-0ed2ba180f6b' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer TOKEN' \ --data '{ "service_instance_id": "7e4c2391-25e1-47a3-b70f-20e2176dab2b", "monitoring_enabled": "true" }'
Ответ 200 OK
В ответе вернется идентификатор и статус операции.
Ошибки в ответе
Status Codes |
Message |
Details |
grpc |
Комментарии |
---|---|---|---|---|
404 Not Found |
Tenant not exists |
The specified tenant does not exist |
5 NOT_FOUND |
|
404 Not Found |
Tenant was deleted |
The specified tenant does not exist |
5 NOT_FOUND |
|
404 Bad Request |
Invalid state |
The specified state is incorrect. Please recheck the value |
3 INVALID_ARGUMENT |
|
403 Forbidden |
Self-service not available |
It is not possible to process the operation due to the self-service is not available for the current organization. Please contact the support for details |
7 PERMISSION_DENIED |
|
403 Forbidden |
Permission denied |
The used account has no permissons for the operation. Please check the accounts roles or contact the support |
7 PERMISSION_DENIED |
|
Удаление тенанта DELETE /tenants{id}
Перед удалением тенант нужно перевести в статус «Disabled».
Для запроса необходимы следующие параметры:
- Параметры headers
idempotency-key
— ключ идемпотентности в формате UUID-4, обязательный. Сгенерировать ключ можно через любой сервис, например Online UUID Generator.- Параметры body
service_instance_id
— идентификатор тенанта в формате string, обязательный.- Запрос
curl --location --request DELETE 'https://vmware.api.cloud.ru/api/vmware-public/v1beta/tenants?service_instance_id=$service_instance_id' \ --header 'accept: application/json' \ --header 'idempotency-key: 124e2dd0-f4b2-4586-827c-3025f8930257' \ --header 'Content-Type: application/json' \ --header 'Authorization: Bearer TOKEN'
Ответ 200 OK
В ответе вернется идентификатор и статус операции удаления.
Ошибки в ответе
Status Codes |
Message |
Details |
grpc |
Комментарии |
---|---|---|---|---|
400 Bad Request |
Tenant contains active services |
The tenant with active additional services can’t be deleted. All additional services should be removed |
9 FAILED_PRECONDITION |
|
400 Bad Request |
Tenant is active |
The tenant in Active status cannot be deleted. It should be disabled by setting the Disabled status |
9 FAILED_PRECONDITION |
|
404 Not Found |
Tenant not exists |
The specified tenant does not exist |
5 NOT_FOUND |
|
404 Not Found |
Tenant was deleted |
The specified tenant does not exist |
5 NOT_FOUND |
|
403 Forbidden |
Self-service not available |
It is not possible to process the operation due to the self-service is not available for the current organization. Please contact the support for details |
7 PERMISSION_DENIED |
|
403 Forbidden |
Permission denied |
The used account has no permissons for the operation. Please check the accounts roles or contact the support |
7 PERMISSION_DENIED |
|
для Dev & Test