{ "swagger": "2.0", "info": { "title": "Evolution Managed Kubernetes USER API", "version": "2.0.0", "contact": { "email": "support@cloud.ru" } }, "tags": [ { "name": "AddonService" }, { "name": "AvailabilityService" }, { "name": "BillingService" }, { "name": "ClusterAddonService" }, { "name": "ClusterService" }, { "name": "MetaService" }, { "name": "NodePoolService" }, { "name": "QuotasService" }, { "name": "TaskService" } ], "host": "mk8s.api.cloud.ru", "schemes": [ "https" ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "paths": { "/v2/addons": { "get": { "summary": "Получение списка доступных плагинов.", "operationId": "AddonService_ListAddons", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2ListAddonsResponse" } } }, "parameters": [ { "name": "limit", "description": "Количество плагинов в ответе.", "in": "query", "required": false, "type": "integer", "format": "int64" }, { "name": "offset", "description": "Количество пропущенных плагинов в ответе.", "in": "query", "required": false, "type": "integer", "format": "int64" }, { "name": "sort", "description": "Параметры сортировки списка плагинов в виде \"field direction\".\nВозможные значения для field: name, createdAt.\nВозможные значения для direction: asc, desc.", "in": "query", "required": false, "type": "string" }, { "name": "filters", "description": "Параметры фильтрации списка плагинов в виде \"field condition value\" или \"field:value\"(include).\nВозможные значения для field: name.\nВозможные значения для condition: =, :.", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" } ], "tags": [ "AddonService" ] } }, "/v2/addons/{addonName}": { "get": { "summary": "Получение списка версий плагина.", "operationId": "AddonService_ListAddonReleases", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2ListAddonReleasesResponse" } } }, "parameters": [ { "name": "addonName", "description": "Название плагина.", "in": "path", "required": true, "type": "string" } ], "tags": [ "AddonService" ] } }, "/v2/availability": { "get": { "summary": "Получение списка доступных зон и шаблонов конфигураций виртуальных машин.", "operationId": "AvailabilityService_ListAvailableZonesWithFlavors", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2ListAvailableZonesWithFlavorsResponse" } } }, "parameters": [ { "name": "projectId", "description": "Идентификатор проекта.", "in": "query", "required": false, "type": "string" }, { "name": "cpu", "description": "Количество ядер виртуального процессора.\nОпциональное поле. Если указано, возвращаемые шаблоны конфигураций будут с таким CPU.", "in": "query", "required": false, "type": "integer", "format": "int64" }, { "name": "ram", "description": "Оперативная память в ГБ.\nОпциональное поле. Если указано, возвращаемые шаблоны конфигураций будут с таким RAM.", "in": "query", "required": false, "type": "integer", "format": "int64" }, { "name": "oversubscription", "description": "Коэффициент переподписки.\nОпциональное поле. \nЕсли указано, будут возвращены шаблоны конфигураций с этим коэффициентом переподписки.", "in": "query", "required": false, "type": "string" } ], "tags": [ "AvailabilityService" ] } }, "/v2/billing/calculate-price": { "post": { "summary": "Получение расчета по предоставленным услугам.", "operationId": "BillingService_CalculatePrice", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2CalculatePriceResponse" } } }, "parameters": [ { "name": "body", "description": "Запрос на получение расчета по проекту.", "in": "body", "required": true, "schema": { "$ref": "#/definitions/v2CalculatePriceRequest" } } ], "tags": [ "BillingService" ] } }, "/v2/clusters": { "get": { "summary": "Получение списка кластеров.", "operationId": "ClusterService_List", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2ListClustersResponse" } } }, "parameters": [ { "name": "limit", "description": "Количество кластеров в ответе.", "in": "query", "required": false, "type": "integer", "format": "int64" }, { "name": "offset", "description": "Количество пропущенных кластеров.", "in": "query", "required": false, "type": "integer", "format": "int64" }, { "name": "sort", "description": "Сортировка списка кластеров в виде \"field direction\".\nВозможные значения для field: displayName, masterCount, nodePoolCount, createdAt.\nВозможные значения для direction: asc, desc.", "in": "query", "required": false, "type": "string" }, { "name": "filters", "description": "Параметры фильтрации списка кластеров в виде \"field condition value\" или \"field:value\"(include).\nВозможные значения для field: displayName, state, kubeAPIInternet, masterCount, nodePoolCount, createdAt.\nВозможные значения для condition: =, !=, \u003e, \u003e=, \u003c, \u003c=.", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "projectId", "description": "Идентификатор проекта.", "in": "query", "required": false, "type": "string" } ], "tags": [ "ClusterService" ] }, "post": { "summary": "Создание нового кластера.", "operationId": "ClusterService_Create", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2CreateClusterResponse" } } }, "parameters": [ { "name": "body", "description": "Запрос на создание нового кластера.", "in": "body", "required": true, "schema": { "$ref": "#/definitions/v2CreateClusterRequest" } } ], "tags": [ "ClusterService" ] } }, "/v2/clusters/{clusterId}": { "get": { "summary": "Получение информации о кластере.", "operationId": "ClusterService_Get", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2GetClusterResponse" } } }, "parameters": [ { "name": "clusterId", "description": "Идентификатор кластера.", "in": "path", "required": true, "type": "string" } ], "tags": [ "ClusterService" ] }, "delete": { "summary": "Удаление кластера.", "operationId": "ClusterService_Delete", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2DeleteClusterResponse" } } }, "parameters": [ { "name": "clusterId", "description": "Идентификатор кластера.", "in": "path", "required": true, "type": "string" } ], "tags": [ "ClusterService" ] }, "patch": { "summary": "Редактирование существующего кластера.", "operationId": "ClusterService_Edit", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2EditClusterResponse" } } }, "parameters": [ { "name": "clusterId", "description": "Идентификатор кластера.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ClusterServiceEditBody" } } ], "tags": [ "ClusterService" ] } }, "/v2/clusters/{clusterId}/addons": { "get": { "summary": "Получение списка плагинов кластера.", "operationId": "ClusterAddonService_ListClusterAddons", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2ListClusterAddonsResponse" } } }, "parameters": [ { "name": "clusterId", "description": "Идентификатор кластера.", "in": "path", "required": true, "type": "string" }, { "name": "all", "description": "Получить все активные и ранее удаленные плагинов кластера.", "in": "query", "required": false, "type": "boolean" } ], "tags": [ "ClusterAddonService" ] }, "post": { "summary": "Добавление нового плагина в кластер.", "operationId": "ClusterAddonService_AddClusterAddon", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2AddClusterAddonResponse" } } }, "parameters": [ { "name": "clusterId", "description": "Идентификатор кластера.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ClusterAddonServiceAddClusterAddonBody" } } ], "tags": [ "ClusterAddonService" ] } }, "/v2/clusters/{clusterId}/addons/get": { "get": { "summary": "Получение информации по плагинам кластера.", "operationId": "ClusterAddonService_GetClusterAddon", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2GetClusterAddonResponse" } } }, "parameters": [ { "name": "clusterId", "description": "Идентификатор кластера.", "in": "path", "required": true, "type": "string" }, { "name": "addonId", "description": "Идентификатор плагина.", "in": "query", "required": false, "type": "string" }, { "name": "addonName", "description": "Название плагина, например cilium.\nПоиск по названию выполняется только среди активных плагинов.\nДля получения информации по удаленному плагину указывайте идентификатор плагина.", "in": "query", "required": false, "type": "string" } ], "tags": [ "ClusterAddonService" ] } }, "/v2/clusters/{clusterId}/addons/{addonName}": { "delete": { "summary": "Удаление плагина из кластера.", "operationId": "ClusterAddonService_DeleteClusterAddon", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2DeleteClusterAddonResponse" } } }, "parameters": [ { "name": "clusterId", "description": "Идентификатор кластера.", "in": "path", "required": true, "type": "string" }, { "name": "addonName", "description": "Название плагина, например cilium.", "in": "path", "required": true, "type": "string" }, { "name": "preserve", "description": "Если флаг установлен, то сервис не будет управлять плагином,\nно плагин не будет удален из кластера.", "in": "query", "required": false, "type": "boolean" } ], "tags": [ "ClusterAddonService" ] }, "patch": { "summary": "Обновление существующего плагина на новую версию или применение новой конфигурации.", "operationId": "ClusterAddonService_UpdateClusterAddon", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2UpdateClusterAddonResponse" } } }, "parameters": [ { "name": "clusterId", "description": "Идентификатор кластера.", "in": "path", "required": true, "type": "string" }, { "name": "addonName", "description": "Название плагина, например cilium.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/ClusterAddonServiceUpdateClusterAddonBody" } } ], "tags": [ "ClusterAddonService" ] } }, "/v2/clusters/{clusterId}/kubeconfig": { "get": { "summary": "Получение kubeconfig для кластера.", "operationId": "ClusterService_KubeConfig", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2GetKubeConfigResponse" } } }, "parameters": [ { "name": "clusterId", "description": "Идентификатор кластера.", "in": "path", "required": true, "type": "string" }, { "name": "network", "description": "Тип сети, для которой запрашивается kubeconfig.\nОпциональное поле.\nЕсли не указано, используется сеть по умолчанию.\n\n - NETWORK_TYPE_PRIVATE: Серая пользовательская сеть (RFC1918).\n - NETWORK_TYPE_PUBLIC: Публичная пользовательская сеть (интернет).", "in": "query", "required": false, "type": "string", "enum": [ "NETWORK_TYPE_PRIVATE", "NETWORK_TYPE_PUBLIC" ] } ], "tags": [ "ClusterService" ] } }, "/v2/clusters/{clusterId}/node-pools": { "post": { "summary": "Создание новой группы узлов.", "operationId": "NodePoolService_CreateNodePool", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2CreateNodePoolResponse" } } }, "parameters": [ { "name": "clusterId", "description": "Идентификатор кластера, в котором будет создана группа узлов.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/NodePoolServiceCreateNodePoolBody" } } ], "tags": [ "NodePoolService" ] } }, "/v2/clusters/{clusterId}/resume": { "post": { "summary": "Возобновление работы кластера.", "operationId": "ClusterService_Resume", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2ResumeClusterResponse" } } }, "parameters": [ { "name": "clusterId", "description": "Идентификатор кластера.", "in": "path", "required": true, "type": "string" } ], "tags": [ "ClusterService" ] } }, "/v2/clusters/{clusterId}/stop": { "post": { "summary": "Приостановка кластера.", "operationId": "ClusterService_StopCluster", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2StopClusterResponse" } } }, "parameters": [ { "name": "clusterId", "description": "Идентификатор кластера.", "in": "path", "required": true, "type": "string" } ], "tags": [ "ClusterService" ] } }, "/v2/k8sversions": { "get": { "summary": "Получение списка актуальных версии Kubernetes, доступных для установки.", "operationId": "MetaService_ListK8SVersions", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2ListK8SVersionsResponse" } } }, "parameters": [ { "name": "limit", "description": "Количество версий Kubernetes в ответе.", "in": "query", "required": false, "type": "integer", "format": "int64" }, { "name": "offset", "description": "Количество пропущенных версий в ответе.", "in": "query", "required": false, "type": "integer", "format": "int64" }, { "name": "sort", "description": "Параметры сортировки списка версий Kubernetes в виде \"field direction\".\nВозможные значения для field: version, supportMode, etcdVersions, osFamily.\nВозможные значения для direction: asc, desc.", "in": "query", "required": false, "type": "string" }, { "name": "filters", "description": "Параметры фильтрации списка версий Kubernetes в виде \"field:value\"(include).\nВозможные значения для field: version.", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" } ], "tags": [ "MetaService" ] } }, "/v2/node-pools": { "get": { "summary": "Получение списка групп узлов.", "operationId": "NodePoolService_ListNodePools", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2ListNodePoolsResponse" } } }, "parameters": [ { "name": "clusterId", "description": "Идентификатор кластера.", "in": "query", "required": false, "type": "string" }, { "name": "limit", "description": "Количество групп узлов в ответе.", "in": "query", "required": false, "type": "integer", "format": "int64" }, { "name": "offset", "description": "Количество пропущенных групп узлов в ответе.", "in": "query", "required": false, "type": "integer", "format": "int64" }, { "name": "sort", "description": "Параметры сортировки списка кластеров в виде \"field direction\". \nВозможные значения для field: displayName, nodeCount, cpu, ram, disk, createdAt.\nВозможные значения для direction: asc, desc.", "in": "query", "required": false, "type": "string" }, { "name": "filters", "description": "Параметры фильтрации списка групп узлов в виде \"field condition value\" или \"field:value\"(include).\nВозможные значения для field: displayName, state, nodeCount, cpu, ram, disk, createdAt.\nВозможные значения для condition: =, !=, \u003e, \u003e=, \u003c, \u003c=.", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" } ], "tags": [ "NodePoolService" ] } }, "/v2/node-pools/{nodePoolId}": { "get": { "summary": "Получение информации по конкретной группе узлов.", "operationId": "NodePoolService_GetNodePool", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2GetNodePoolResponse" } } }, "parameters": [ { "name": "nodePoolId", "description": "Идентификатор группы узлов.", "in": "path", "required": true, "type": "string" } ], "tags": [ "NodePoolService" ] }, "delete": { "summary": "Удаление группы узлов.", "operationId": "NodePoolService_DeleteNodePool", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2DeleteNodePoolResponse" } } }, "parameters": [ { "name": "nodePoolId", "description": "Идентификатор группы узлов.", "in": "path", "required": true, "type": "string" } ], "tags": [ "NodePoolService" ] }, "patch": { "summary": "Редактирование группы узлов.", "operationId": "NodePoolService_EditNodePool", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2EditNodePoolResponse" } } }, "parameters": [ { "name": "nodePoolId", "description": "Идентификатор группы узлов.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/NodePoolServiceEditNodePoolBody" } } ], "tags": [ "NodePoolService" ] } }, "/v2/node-pools/{nodePoolId}/nodes": { "get": { "summary": "Получение списка узлов.", "operationId": "NodePoolService_ListNodes", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2ListNodesResponse" } } }, "parameters": [ { "name": "nodePoolId", "description": "Идентификатор группы узлов.", "in": "path", "required": true, "type": "string" }, { "name": "limit", "description": "Количество узлов в ответе.", "in": "query", "required": false, "type": "integer", "format": "int64" }, { "name": "offset", "description": "Количество пропущенных узлов.", "in": "query", "required": false, "type": "integer", "format": "int64" }, { "name": "filters", "description": "Параметры фильтрации списка узлов в виде \"field condition value\" или \"field:value\"(include).\nВозможные значения для field: state, hostname, ipaddress, vmname.\nВозможные значения для condition: =, :.", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "sort", "description": "Параметры сортировки списка узлов в виде \"field direction\". \nВозможные значения для field: createdAt, updatedAt, vmname, hostname.\nВозможные значения для direction: asc, desc.", "in": "query", "required": false, "type": "string" } ], "tags": [ "NodePoolService" ] } }, "/v2/quotas": { "get": { "summary": "Получение доступных квот и объема используемых ресурсов.", "operationId": "QuotasService_GetUsageWithQuotas", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2GetUsageWithQuotasResponse" } } }, "parameters": [ { "name": "productInstanceId", "description": "[Deprecated] Идентификатор услуги.", "in": "query", "required": false, "type": "string" }, { "name": "projectId", "description": "Идентификатор проекта.", "in": "query", "required": false, "type": "string" } ], "tags": [ "QuotasService" ] } }, "/v2/tasks": { "get": { "summary": "Получение списка задач.", "operationId": "TaskService_ListTasks", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2ListTasksResponse" } } }, "parameters": [ { "name": "productInstanceId", "description": "[Deprecated] Идентификатор услуги.", "in": "query", "required": false, "type": "string" }, { "name": "limit", "description": "Количество задач в ответе.", "in": "query", "required": false, "type": "integer", "format": "int64" }, { "name": "offset", "description": "Количество пропущенных задач.", "in": "query", "required": false, "type": "integer", "format": "int64" }, { "name": "sort", "description": "Параметры сортировки списка задач в виде \"field direction\". \nВозможные значения для field: updatedAt, createdAt.\nВозможные значения для direction: asc, desc.", "in": "query", "required": false, "type": "string" }, { "name": "filters", "description": "Параметры фильтрации списка задач в виде \"field condition value\" или \"field:value\"(include).\nВозможные значения для field: action, objectType, status.\nВозможные значения для condition: =.", "in": "query", "required": false, "type": "array", "items": { "type": "string" }, "collectionFormat": "multi" }, { "name": "projectId", "description": "Идентификатор проекта.", "in": "query", "required": false, "type": "string" } ], "tags": [ "TaskService" ] } }, "/v2/tasks/{taskId}": { "get": { "summary": "Получение задачи.", "operationId": "TaskService_GetTask", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v2GetTaskResponse" } } }, "parameters": [ { "name": "taskId", "description": "Идентификатор задачи.", "in": "path", "required": true, "type": "string" }, { "name": "projectId", "description": "Идентификатор проекта.", "in": "query", "required": false, "type": "string" } ], "tags": [ "TaskService" ] } } }, "definitions": { "AddonReleaseRequirements": { "type": "object", "properties": { "kubeVersions": { "type": "string", "description": "Диапазон поддерживаемых версий Kubernetes в формате SemVer." }, "readyWorkers": { "type": "integer", "format": "int64", "description": "Минимальное количество доступных рабочих узлов в кластере." } }, "description": "Требования к кластеру для установки плагина." }, "CalculatePriceRequestDisk": { "type": "object", "properties": { "size": { "type": "string", "format": "uint64", "description": "Объем дискового хранилища в ГБ." }, "type": { "$ref": "#/definitions/v2DiskType", "description": "Тип диска." } }, "description": "Данные по диску." }, "CalculatePriceRequestMaster": { "type": "object", "properties": { "count": { "type": "integer", "format": "int64", "description": "Количество мастер-узлов." }, "type": { "$ref": "#/definitions/v2MasterType", "description": "Тип мастер-узла." } }, "description": "Данные по мастеру." }, "CalculatePriceResponseNodePoolPrice": { "type": "object", "properties": { "disk": { "type": "number", "format": "double", "description": "Стоимость диска в час." }, "flavor": { "type": "number", "format": "double", "description": "Стоимость RAM, CPU в час." } }, "description": "Структура цены за группу узлов." }, "ClusterAddonServiceAddClusterAddonBody": { "type": "object", "properties": { "addonName": { "type": "string", "description": "Название плагина, например cilium." }, "addonVersion": { "type": "string", "description": "Версия плагина в формате SemVer." }, "addonConfiguration": { "type": "string", "description": "Пользовательская конфигурация плагина в JSON формате согласно схеме. Поддерживает переменные автоподстановки, заключенные в символы {{ и }}: {{clusterID}} — уникальный идентификатор кластера, {{clusterName}} — программное имя кластера, {{nodeCIDR}} — CIDR сети узлов, {{serviceCIDR}} — CIDR сервисной сети. Если значение не указано, то переиспользуется последняя конфигурация." }, "resolveMode": { "$ref": "#/definitions/v2ResolveConflictsMode", "description": "Режим разрешения конфликтов." } }, "description": "Добавление нового плагина в кластер." }, "ClusterAddonServiceUpdateClusterAddonBody": { "type": "object", "properties": { "addonVersion": { "type": "string", "description": "Версия плагина в формате SemVer, на которую нужно обновиться." }, "addonConfiguration": { "type": "string", "description": "Пользовательская конфигурация плагина в JSON формате согласно схеме. Поддерживает переменные автоподстановки, заключенные в символы {{ и }}: {{clusterID}} — уникальный идентификатор кластера, {{clusterName}} — программное имя кластера, {{nodeCIDR}} — CIDR сети узлов, {{serviceCIDR}} — CIDR сервисной сети. Если значение не указано, то переиспользуется последняя конфигурация." }, "resolveMode": { "$ref": "#/definitions/v2ResolveConflictsMode", "description": "Режим разрешения конфликтов." } }, "description": "Обновление существующего плагина на новую версию или применение новой конфигурации." }, "ClusterServiceEditBody": { "type": "object", "properties": { "data": { "$ref": "#/definitions/EditClusterRequestClusterData", "description": "Информацию для редактирования." } }, "description": "Запрос на редактирование существующего кластера." }, "EditClusterRequestClusterData": { "type": "object", "properties": { "displayName": { "type": "string", "description": "Название кластера.\nМожет содержать буквы, цифры, дефис, подчеркивание. \nДопустимое количество символов от 3 до 60." }, "masterCount": { "type": "integer", "format": "int64", "description": "Количество узлов плоскости управления." } }, "description": "Информацию о кластере, которую можно изменить." }, "NodePoolOversubscription": { "type": "string", "enum": [ "OVERSUBSCRIPTION_3", "OVERSUBSCRIPTION_10" ], "description": "Коэффициент переподписки." }, "NodePoolServiceCreateNodePoolBody": { "type": "object", "properties": { "displayName": { "type": "string", "description": "Название группы узлов. Должно быть уникальным.\nМожет содержать буквы, цифры, подчеркивание и дефисы.\nДопустимое количество символов от 4 до 60." }, "scalePolicy": { "$ref": "#/definitions/v2ScalePolicy", "description": "Политика масштабирования группы узлов." }, "networkConfiguration": { "$ref": "#/definitions/v2NodesNetworkConfigurationRequest", "description": "Конфигурация сети группы узлов." }, "taints": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/v2Taint" }, "description": "Список ограничений (taints), применяемых к узлам в группе. Подробнее см. https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/." }, "labels": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Набор меток (labels), которые будут применены к узлам в группе.\nМетки добавляются в дополнение к стандартным меткам, которые может применить Kubernetes.\nВ случае конфликтов поведение неопределенно и может меняться в зависимости от версии Kubernetes,\nпоэтому лучше избегать таких конфликтов.\nПодробнее см. https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/." }, "machineConfiguration": { "$ref": "#/definitions/v2HardwareComputeRequest", "description": "Параметры конфигурации виртуальной машины." } }, "description": "Запрос на создание новой группы узлов." }, "NodePoolServiceEditNodePoolBody": { "type": "object", "properties": { "data": { "$ref": "#/definitions/v2NodePoolData", "description": "Информацию о группе узлов, которую необходимо изменить." } }, "description": "Редактирование группы узлов." }, "ScalePolicyAutoScale": { "type": "object", "properties": { "minCount": { "type": "integer", "format": "int64", "description": "Минимальное количество узлов в группе узлов." }, "maxCount": { "type": "integer", "format": "int64", "description": "Максимальное количество узлов в группе узлов." }, "initialCount": { "type": "integer", "format": "int64", "description": "Начальное количество узлов.\nОбязателен при создании группы узлов.\nПри редактировании группы узлов является опциональным." } }, "description": "Группа узлов с поддержкой автоматического масштабирования." }, "ScalePolicyFixedScale": { "type": "object", "properties": { "count": { "type": "integer", "format": "int64", "description": "Количество узлов в группе." } }, "description": "Группа узлов с фиксированным числом узлов." }, "TaintEffect": { "type": "string", "enum": [ "EFFECT_NO_SCHEDULE", "EFFECT_PREFER_NO_SCHEDULE", "EFFECT_NO_EXECUTE" ], "description": "Типы эффектов ограничения." }, "TaskObjectType": { "type": "string", "enum": [ "OBJECT_TYPE_PRODUCT_INSTANCE", "OBJECT_TYPE_CLUSTER", "OBJECT_TYPE_NODEPOOL", "OBJECT_TYPE_VOLUME", "OBJECT_TYPE_NAMESPACE", "OBJECT_TYPE_SECRET" ], "description": "Тип объекта, по которому выполнялась задача." }, "TaskTaskEvent": { "type": "string", "enum": [ "TASK_EVENT_CREATE_CLUSTER", "TASK_EVENT_DELETE_CLUSTER", "TASK_EVENT_CREATE_NODE_POOL", "TASK_EVENT_DELETE_NODE_POOL", "TASK_EVENT_CREATE_NAMESPACE", "TASK_EVENT_CREATE_ACCESS_KEY", "TASK_EVENT_ACTIVATE_PRODUCT_INSTANCE", "TASK_EVENT_SUSPEND_PRODUCT_INSTANCE", "TASK_EVENT_RESUME_PRODUCT_INSTANCE", "TASK_EVENT_DEACTIVATE_PRODUCT_INSTANCE", "TASK_EVENT_CREATE_VOLUME", "TASK_EVENT_DELETE_VOLUME", "TASK_EVENT_EDIT_CLUSTER", "TASK_EVENT_EDIT_NODE_POOL", "TASK_EVENT_SUSPEND_CLUSTER", "TASK_EVENT_RESUME_CLUSTER" ], "description": "Доступные типы задач." }, "TaskTaskStatus": { "type": "string", "enum": [ "TASK_STATUS_PENDING", "TASK_STATUS_IN_PROGRESS", "TASK_STATUS_COMPLETED", "TASK_STATUS_FAILED", "TASK_STATUS_CANCELLED" ], "description": "Возможные статусы задач." }, "apiv2Flavor": { "type": "object", "properties": { "flavorId": { "type": "string", "description": "Идентификатор шаблона конфигурации." }, "name": { "type": "string", "description": "Название шаблона конфигурации." }, "cpu": { "type": "integer", "format": "int64", "description": "Количество ядер процессора виртуальной машины." }, "ram": { "type": "integer", "format": "int64", "description": "Оперативная память виртуальной машины в ГБ." }, "zoneIds": { "type": "array", "items": { "type": "string", "description": "Зона, в которой доступна указанная конфигурация." }, "description": "Список зон, в которых доступна указанная конфигурация." }, "oversubscription": { "type": "string", "description": "Коэффициент переподписки." } }, "description": "Информация о шаблоне конфигурации виртуальной машины." }, "apiv2NodePool": { "type": "object", "properties": { "nodePoolId": { "type": "string", "description": "Идентификатор группы узлов." }, "displayName": { "type": "string", "description": "Название группы узлов." }, "clusterId": { "type": "string", "description": "Идентификатор кластера, в котором развернута группа узлов." }, "version": { "type": "string", "description": "Версия Kubernetes, которая используется на узлах группы." }, "hardwareCompute": { "$ref": "#/definitions/v2HardwareCompute", "description": "Описание инфраструктуры узлов группы." }, "scalePolicy": { "$ref": "#/definitions/v2ScalePolicy", "description": "Политика масштабирования группы узлов в кластере." }, "taints": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/v2Taint" }, "description": "Список ограничений (taints), применяемых к узлам в группе." }, "createdBy": { "type": "string", "description": "Идентификатор пользователя, создавшего группу узлов." }, "createdAt": { "type": "string", "format": "date-time", "description": "Время создания группы узлов." }, "updatedAt": { "type": "string", "format": "date-time", "description": "Время последнего обновления группы узлов." }, "updatedBy": { "type": "string", "description": "Идентификатор пользователя, обновившего группу узлов." }, "nodesNetworkConfiguration": { "$ref": "#/definitions/v2NodesNetworkConfigurationResponse", "description": "Конфигурация сети нод." }, "labels": { "type": "object", "additionalProperties": { "type": "string" }, "description": "Набор меток (labels), применяемых к узлам в группе." }, "state": { "$ref": "#/definitions/v2ObjectState", "title": "Состояние группы узлов" }, "nodesDesired": { "type": "integer", "format": "int64", "description": "Запрашиваемое количество узлов." }, "nodesReady": { "type": "integer", "format": "int64", "description": "Количество готовых к работе узлов." } }, "title": "Информация о группе узлов" }, "protobufAny": { "type": "object", "properties": { "@type": { "type": "string", "description": "URL-адрес или имя ресурса, которое однозначно идентифицирует тип сериализованного сообщения буфера протокола." } }, "additionalProperties": {}, "description": "Сериализованное сообщение буфера протокола." }, "rpcStatus": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "description": "Код состояния." }, "message": { "type": "string", "description": "Сообщение об ошибке." }, "details": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/protobufAny" }, "description": "Список сообщений, содержащих сведения об ошибке." } }, "description": "Определяет логическую модель ошибок, которая подходит для различных сред." }, "v2AddClusterAddonResponse": { "type": "object", "properties": { "addon": { "$ref": "#/definitions/v2ClusterAddon", "description": "Информация о добавляемом плагине." } }, "description": "Добавление нового плагина в кластер." }, "v2Addon": { "type": "object", "properties": { "name": { "type": "string", "description": "Название плагина." }, "displayName": { "type": "string", "description": "Название плагина в удобочитаемом виде." }, "description": { "type": "string", "description": "Описание плагина для пользователя." }, "categories": { "type": "array", "items": { "type": "string", "description": "Категория плагина." }, "description": "Категории плагина." }, "createdAt": { "type": "string", "format": "date-time", "description": "Дата и время создания плагина." }, "updatedAt": { "type": "string", "format": "date-time", "description": "Дата и время последнего обновления плагина." } }, "description": "Описание плагина." }, "v2AddonAction": { "type": "object", "properties": { "type": { "$ref": "#/definitions/v2AddonActionType", "description": "Тип действия над плагином." }, "status": { "$ref": "#/definitions/v2AddonActionStatus", "description": "Статус действия." }, "issues": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/v2AddonIssue" }, "description": "Список проблем, возникших при выполнении действия." }, "params": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/v2AddonActionParam" }, "description": "Список параметров, используемых при выполнении действия над плагином." }, "addonNamespace": { "type": "string", "description": "Пространство имен, в пределах которого выполняется действие над плагином." }, "addonConfiguration": { "type": "string", "description": "Пользовательская конфигурация плагина." }, "createdAt": { "type": "string", "format": "date-time", "description": "Дата и время действия." }, "createdBy": { "type": "string", "description": "Идентификатор пользователя, который инициировал действие над плагином." } }, "description": "Информация о действии над плагином." }, "v2AddonActionParam": { "type": "object", "properties": { "name": { "type": "string", "description": "Имя параметра." }, "value": { "type": "string", "description": "Значение параметра." } }, "description": "Параметры, используемые при выполнении действия над плагином." }, "v2AddonActionStatus": { "type": "string", "enum": [ "ADDON_ACTION_STATUS_IN_PROGRESS", "ADDON_ACTION_STATUS_COMPLETED", "ADDON_ACTION_STATUS_FAILED", "ADDON_ACTION_STATUS_PENDING" ], "description": "Статус действия над плагином." }, "v2AddonActionType": { "type": "string", "enum": [ "ADDON_ACTION_TYPE_ADD", "ADDON_ACTION_TYPE_UPDATE", "ADDON_ACTION_TYPE_DELETE" ], "description": "Тип действия над плагином." }, "v2AddonIssue": { "type": "object", "properties": { "code": { "$ref": "#/definitions/v2AddonIssueCode", "description": "Код возможных проблем." }, "message": { "type": "string", "description": "Содержание проблемы." } }, "description": "Информация о проблемах при управлении плагинами в кластере." }, "v2AddonIssueCode": { "type": "string", "enum": [ "ADDON_ISSUE_CODE_CONFLICT", "ADDON_ISSUE_CODE_REMOTE", "ADDON_ISSUE_CODE_INTERNAL" ], "description": "Коды возможных проблем при управлении плагинами в кластере.\n\n - ADDON_ISSUE_CODE_CONFLICT: Конфликт конфигурации при добавлении или обновлении плагина.\nПользователь может разрешить эту проблему самостоятельно.\n - ADDON_ISSUE_CODE_REMOTE: Ошибка взаимодействия с API плоскости управления кластера.\nЭто может быть как сетевая проблема, так и блокировка со стороны одного из установленных webhook.\nПользователь может разрешить эту проблему самостоятельно либо повторить операцию.\n - ADDON_ISSUE_CODE_INTERNAL: Внутренняя ошибка.\nТребуется вмешательство технической поддержки." }, "v2AddonRelease": { "type": "object", "properties": { "addonVersion": { "type": "string", "description": "Версия плагина в формате SemVer." }, "addonNamespace": { "type": "string", "description": "Пространство имен, в которое должен устанавливаться плагин." }, "kubeVersions": { "type": "string", "description": "[Deprecated] Диапазон поддерживаемых версий Kubernetes в формате SemVer.\nИспользуйте значение Requirements.kube_versions." }, "configurationSchema": { "type": "string", "description": "JSON схема, относительно которой валидируется конфигурация плагина." }, "createdAt": { "type": "string", "format": "date-time", "description": "Дата и время создания версии плагина." }, "updatedAt": { "type": "string", "format": "date-time", "description": "Дата и время обновления версии плагина." }, "mode": { "$ref": "#/definitions/v2SupportMode", "description": "Режим поддержки версии." }, "requirements": { "$ref": "#/definitions/AddonReleaseRequirements", "description": "Требования к кластеру для установки плагина." } }, "description": "Описание версии плагина." }, "v2AddonStatus": { "type": "string", "enum": [ "ADDON_STATUS_ADDING", "ADDON_STATUS_ADD_FAILED", "ADDON_STATUS_ACTIVE", "ADDON_STATUS_UPDATING", "ADDON_STATUS_UPDATE_FAILED", "ADDON_STATUS_DELETING", "ADDON_STATUS_DELETE_FAILED", "ADDON_STATUS_DELETED" ], "description": "Статус плагина в кластере." }, "v2Amounts": { "type": "object", "properties": { "vcpu": { "type": "integer", "format": "int64", "description": "Количество ядер виртуального процессора." }, "ram": { "type": "integer", "format": "int64", "description": "Размер оперативной памяти в ГБ." }, "diskSsdNvme": { "type": "integer", "format": "int64", "description": "Размер диска в ГБ." }, "publicIp": { "type": "integer", "format": "int64", "description": "Количество публичных IP-адресов." } }, "description": "Ресурсы." }, "v2AvailabilityZone": { "type": "object", "properties": { "zoneId": { "type": "string", "description": "Идентификатор зоны доступности." }, "name": { "type": "string", "description": "Название зоны доступности." } }, "description": "Информация о зоне доступности." }, "v2CalculatePriceRequest": { "type": "object", "properties": { "projectId": { "type": "string", "description": "UUID идентификатор проекта." }, "master": { "$ref": "#/definitions/CalculatePriceRequestMaster", "description": "Описание мастер-узла." }, "nodePools": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/v2CalculatePriceRequestNodePool" }, "description": "Описание групп узлов." }, "disks": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/CalculatePriceRequestDisk" }, "description": "Описание дисков." }, "rentPublicIpCount": { "type": "integer", "format": "int64", "description": "Количество привязанных публичных IP-адресов в шт." } }, "description": "Запрос на получение расчета по проекту." }, "v2CalculatePriceRequestNodePool": { "type": "object", "properties": { "count": { "type": "integer", "format": "int64", "description": "Количество рабочих узлов в группе." }, "cpu": { "type": "integer", "format": "int64", "description": "Количество процессоров." }, "ram": { "type": "integer", "format": "int64", "description": "Размер оперативной памяти в ГБ." }, "disk": { "$ref": "#/definitions/CalculatePriceRequestDisk", "description": "Диск, используемый в группе узлов." }, "oversubscription": { "$ref": "#/definitions/NodePoolOversubscription", "description": "Применяемый коэффициент." } }, "description": "Данные по группе узлов." }, "v2CalculatePriceResponse": { "type": "object", "properties": { "masterPrice": { "type": "number", "format": "double", "description": "Цена за мастер-узел." }, "nodePoolPrices": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/CalculatePriceResponseNodePoolPrice" }, "description": "Цены за группы узлов в разбивке по каждой группе (порядок из запроса сохранен)." }, "diskPrices": { "type": "array", "items": { "type": "number", "format": "double" }, "description": "Цены за дополнительные диски для томов в разбивке по дискам (порядок из запроса сохранен)." }, "rentPublicIpPrice": { "type": "number", "format": "double", "description": "Цена за публичные IP." }, "totalPricePerMonth": { "type": "number", "format": "double", "description": "Итоговая цена за месяц." }, "totalPricePerHour": { "type": "number", "format": "double", "description": "Итоговая цена за час." } }, "description": "Результат запроса на расчет." }, "v2Cluster": { "type": "object", "properties": { "clusterId": { "type": "string", "description": "Идентификатор кластера, присваивается автоматически при создании кластера." }, "displayName": { "type": "string", "description": "Название кластера, которое ввел пользователь." }, "createdBy": { "type": "string", "description": "Идентификатор пользователя, создавшего кластер." }, "updatedBy": { "type": "string", "description": "Идентификатор последнего пользователя, редактировавшего кластер." }, "createdAt": { "type": "string", "format": "date-time", "description": "Время создания кластера, присваивается автоматически при создании кластера." }, "updatedAt": { "type": "string", "format": "date-time", "description": "Время последнего редактирования кластера." }, "nodePoolsInfo": { "$ref": "#/definitions/v2NodePoolsInfo", "description": "Информация по группам узлов." }, "controlPlane": { "$ref": "#/definitions/v2ControlPlane", "description": "Конфигурация плоскости управления (обязательное поле)." }, "networkConfiguration": { "$ref": "#/definitions/v2NetworkConfigurationResponse", "description": "Сетевая конфигурация кластера (обязательное поле)." }, "state": { "$ref": "#/definitions/v2ObjectState", "title": "Состояние кластера (мастеров)" }, "loggingService": { "$ref": "#/definitions/v2LoggingService", "description": "Параметры логирования событий компонентов кластера." }, "monitoringService": { "$ref": "#/definitions/v2MonitoringService", "description": "Параметры мониторинга компонентов кластера." } }, "description": "Информация о кластере." }, "v2ClusterAddon": { "type": "object", "properties": { "clusterId": { "type": "string", "description": "Идентификатор кластера." }, "addonId": { "type": "string", "description": "Идентификатор плагина." }, "addonName": { "type": "string", "description": "Название плагина, например cilium." }, "addonVersion": { "type": "string", "description": "Версия плагина в формате SemVer." }, "status": { "$ref": "#/definitions/v2AddonStatus", "description": "Статус плагина в кластере." }, "addedAt": { "type": "string", "format": "date-time", "description": "Дата и время добавления плагина в кластер." }, "updatedAt": { "type": "string", "format": "date-time", "description": "Дата и время последнего изменения плагина." }, "addedBy": { "type": "string", "description": "Идентификатор пользователя, который добавил плагин в кластер." }, "history": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/v2AddonAction" }, "description": "История изменений плагина." } }, "description": "Информация о плагине." }, "v2ControlPlane": { "type": "object", "properties": { "zones": { "type": "array", "items": { "type": "string", "description": "Зона размещения узлов управления." }, "description": "Опциональное поле. \nВзаимодействует с флагом multizonal.\nУказывает, в каких зонах будут размещены узлы управления." }, "multizonal": { "type": "boolean", "description": "Флаг поддержки мультизональности.\nЗависит от поля zones.\n\nЕсли зоны не указаны и флаг отключен, используется случайная зона из шаблона конфигураций для ВМ, подходящий под MasterType.\nЕсли зоны не указаны и флаг включен, используются все зоны в которых поддерживается шаблон конфигурации для ВМ, подходящий под MasterType.\n\nЕсли зоны указаны и флаг отключен, используется первая зона из списка zones.\nЕсли зоны указаны и флаг включен, используются зоны из списка zones." }, "count": { "type": "integer", "format": "int64", "description": "Количество узлов плоскости управления." }, "type": { "$ref": "#/definitions/v2MasterType", "description": "Тип узла плоскости управления." }, "version": { "type": "string", "description": "Версия Kubernetes." } }, "description": "Информация по конфигурации плоскости управления." }, "v2ControlPlaneEndpoint": { "type": "object", "properties": { "network": { "$ref": "#/definitions/v2NetworkType", "description": "Тип сети, которой принадлежит адрес." }, "address": { "type": "string", "description": "Адрес плоскости управления кластера в формате \"https://domain:port\"." } }, "description": "Адрес плоскости управления кластера." }, "v2CreateClusterRequest": { "type": "object", "properties": { "displayName": { "type": "string", "description": "Название кластера.\nМожет содержать буквы, цифры, дефис, подчеркивание. \nДопустимое количество символов от 3 до 60." }, "projectId": { "type": "string", "description": "Идентификатор проекта." }, "controlPlane": { "$ref": "#/definitions/v2ControlPlane", "description": "Конфигурация плоскости управления." }, "networkConfiguration": { "$ref": "#/definitions/v2NetworkConfigurationRequest", "description": "Сетевая конфигурация кластера и плоскости управления." }, "addons": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/v2InstantAddon" }, "description": "Список плагинов для установки сразу же после создания кластера." }, "loggingService": { "$ref": "#/definitions/v2LoggingService", "description": "Параметры логирования событий компонентов кластера." }, "monitoringService": { "$ref": "#/definitions/v2MonitoringService", "description": "Параметры мониторинга компонентов кластера." } }, "description": "Запрос на создание нового кластера." }, "v2CreateClusterResponse": { "type": "object", "properties": { "task": { "$ref": "#/definitions/v2Task", "description": "Информация о задаче на создание кластера." } }, "description": "Ответ с информацией о задаче на создание кластера." }, "v2CreateNodePoolResponse": { "type": "object", "properties": { "task": { "$ref": "#/definitions/v2Task", "description": "Информация о задаче на создание группы узлов." } }, "description": "Создание новой группы узлов." }, "v2DeleteClusterAddonResponse": { "type": "object", "properties": { "action": { "$ref": "#/definitions/v2AddonAction", "description": "Информация об удалении плагина." } }, "description": "Удаление плагина из кластера." }, "v2DeleteClusterResponse": { "type": "object", "properties": { "task": { "$ref": "#/definitions/v2Task", "description": "Информация о задаче на удаление кластера." } }, "description": "Ответ с информацией о задаче на удаление кластера." }, "v2DeleteNodePoolResponse": { "type": "object", "properties": { "task": { "$ref": "#/definitions/v2Task", "description": "Информация о задаче на удаление группы узлов." } }, "description": "Информация о задаче на удаление группы узлов." }, "v2DiskType": { "type": "string", "enum": [ "DISK_TYPE_SSD_NVME" ], "description": "Типы дисков." }, "v2EditClusterResponse": { "type": "object", "properties": { "task": { "$ref": "#/definitions/v2Task", "description": "Информация о задаче на редактирование кластера." } }, "description": "Ответ с информацией о задаче на редактирование существующего кластера." }, "v2EditNodePoolResponse": { "type": "object", "properties": { "task": { "$ref": "#/definitions/v2Task", "description": "Информация о задаче на редактирование группы узлов." } }, "description": "Редактирование группы узлов." }, "v2GetClusterAddonResponse": { "type": "object", "properties": { "addon": { "$ref": "#/definitions/v2ClusterAddon", "description": "Информация о плагине." } }, "description": "Информация по плагину кластера." }, "v2GetClusterResponse": { "type": "object", "properties": { "cluster": { "$ref": "#/definitions/v2Cluster", "description": "Информация о кластере." }, "projectId": { "type": "string", "description": "Идентификатор проекта." } }, "description": "Ответ с информацией о кластере." }, "v2GetKubeConfigResponse": { "type": "object", "properties": { "config": { "type": "string", "description": "Текст kubeconfig в base64." } }, "description": "Получение kubeconfig для кластера." }, "v2GetNodePoolResponse": { "type": "object", "properties": { "nodePool": { "$ref": "#/definitions/apiv2NodePool", "description": "Информация по запрашиваемой группе узлов." } }, "description": "Информация по запрашиваемой группе узлов." }, "v2GetTaskResponse": { "type": "object", "properties": { "task": { "$ref": "#/definitions/v2Task", "description": "Информация о задаче." } }, "description": "Информация о задаче." }, "v2GetUsageWithQuotasResponse": { "type": "object", "properties": { "quotas": { "$ref": "#/definitions/v2Amounts", "description": "Квоты." }, "usage": { "$ref": "#/definitions/v2Amounts", "description": "Используемые ресурсы." } }, "description": "Доступные квоты и объем используемых ресурсов." }, "v2HardwareCompute": { "type": "object", "properties": { "diskSize": { "type": "integer", "format": "int64", "description": "Размер подключаемого диска в ГБ." }, "diskType": { "$ref": "#/definitions/v2DiskType", "description": "Тип диска." }, "flavor": { "$ref": "#/definitions/v2HardwareComputeFlavor", "description": "Шаблон конфигурации для ВМ." } }, "description": "Описание инфраструктуры узлов группы." }, "v2HardwareComputeFlavor": { "type": "object", "properties": { "flavorId": { "type": "string", "description": "Идентификатор шаблона конфигурации." }, "name": { "type": "string", "description": "Название шаблона конфигурации." }, "cpu": { "type": "integer", "format": "int64", "description": "Количество ядер процессора виртуальной машины." }, "ram": { "type": "integer", "format": "int64", "description": "Оперативная память виртуальной машины в ГБ." }, "oversubscription": { "type": "string", "description": "Коэффициент переподписки, например \"1:3\"." } }, "description": "Информация о шаблоне конфигурации виртуальной машины." }, "v2HardwareComputeRequest": { "type": "object", "properties": { "flavorId": { "type": "string", "description": "Идентификатор шаблона конфигурации." }, "diskSize": { "type": "integer", "format": "int64", "description": "Размер подключаемого диска в ГБ.\nМинимальный размер диска - 10 ГБ.\nЕсли не указан, то размер диска по умолчанию для кластера - 10 ГБ." }, "diskType": { "$ref": "#/definitions/v2DiskType", "description": "Тип диска." } }, "description": "Запрос конфигурации виртуальной машины." }, "v2InstantAddon": { "type": "object", "properties": { "addonName": { "type": "string", "description": "Машинное имя ресурса. Обязательное поле." }, "addonVersion": { "type": "string", "description": "Версия плагина в формате SemVer.\nЕсли версия не указана, то она будет выбрана автоматически." } }, "description": "Описание плагина, устанавливаемого сразу же при создании кластера." }, "v2K8SVersion": { "type": "object", "properties": { "version": { "type": "string", "description": "Версия Kubernetes." }, "mode": { "$ref": "#/definitions/v2SupportMode", "description": "Режим поддержки версии." } }, "description": "Информация о версии kubernetes." }, "v2ListAddonReleasesResponse": { "type": "object", "properties": { "releases": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/v2AddonRelease" }, "description": "Список доступных версий плагина." } }, "description": "Ответ со списком доступных версий плагина." }, "v2ListAddonsResponse": { "type": "object", "properties": { "addons": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/v2Addon" }, "description": "Список доступных плагинов." }, "limit": { "type": "integer", "format": "int64", "description": "Количество плагинов в ответе." }, "offset": { "type": "integer", "format": "int64", "description": "Количество пропущенных плагинов." }, "total": { "type": "integer", "format": "int64", "description": "Общее число плагинов." } }, "description": "Ответ со списком доступных плагинов." }, "v2ListAvailableZonesWithFlavorsResponse": { "type": "object", "properties": { "zones": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/v2AvailabilityZone" }, "description": "Список зон доступности." }, "flavors": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/apiv2Flavor" }, "description": "Список уникальных шаблонов конфигураций." } }, "description": "Ответ на запрос списков доступных зон и уникальных конфигураций." }, "v2ListClusterAddonsResponse": { "type": "object", "properties": { "addons": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/v2ClusterAddon" }, "description": "Информация о плагинах." } }, "description": "Получение списка плагинов кластера." }, "v2ListClustersResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/v2Cluster" }, "description": "Список кластеров." }, "limit": { "type": "integer", "format": "int64", "description": "Количество кластеров в ответе." }, "offset": { "type": "integer", "format": "int64", "description": "Количество пропущенных кластеров." }, "total": { "type": "integer", "format": "int64", "description": "Общее число кластеров." }, "projectId": { "type": "string", "description": "Идентификатор проекта." } }, "description": "Ответ со списком кластеров." }, "v2ListK8SVersionsResponse": { "type": "object", "properties": { "versions": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/v2K8SVersion" }, "description": "Список версий Kubernetes." }, "limit": { "type": "integer", "format": "int64", "description": "Количество версии Kubernetes в ответе." }, "offset": { "type": "integer", "format": "int64", "description": "Количество пропущенных версии Kubernetes в ответе." }, "total": { "type": "integer", "format": "int64", "description": "Общее число версии Kubernetes." } }, "description": "Ответ с информацией о версии Kubernetes." }, "v2ListNodePoolsResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/apiv2NodePool" }, "description": "Список групп узлов." }, "limit": { "type": "integer", "format": "int64", "description": "Количество групп узлов в ответе." }, "offset": { "type": "integer", "format": "int64", "description": "Количество пропущенных групп узлов в ответе." }, "total": { "type": "integer", "format": "int64", "description": "Общее число групп узлов." } }, "description": "Информация о списке групп узлов." }, "v2ListNodesResponse": { "type": "object", "properties": { "nodes": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/v2Node" }, "description": "Список узлов в группе и информация по ним." }, "limit": { "type": "integer", "format": "int64", "description": "Количество групп в ответе." }, "offset": { "type": "integer", "format": "int64", "description": "Количество пропущенных узлов." }, "total": { "type": "integer", "format": "int64", "description": "Общее число узлов." } }, "description": "Ответ со списком узлов." }, "v2ListTasksResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/v2Task" }, "description": "Список задач." }, "limit": { "type": "integer", "format": "int64", "description": "Количество задач в ответе." }, "offset": { "type": "integer", "format": "int64", "description": "Количество пропущенных задач." }, "total": { "type": "integer", "format": "int64", "description": "Общее число задач." } }, "description": "Получение списка задач." }, "v2LoggingService": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Включение/выключение логирования событий компонентов кластера.\nВозможные значения: true — логирование включено, false — логирование выключено.\nПо умолчанию логирование включено.\nЕсли установлен параметр false, настройки лог-группы игнорируются." }, "logGroupId": { "type": "string", "description": "Идентификатор лог-группы.\nОпциональное поле.\nЕсли не указывается, используется значение по умолчанию." } }, "description": "Логирование событий компонентов кластера." }, "v2MasterType": { "type": "string", "enum": [ "MASTER_TYPE_SMALL", "MASTER_TYPE_MEDIUM", "MASTER_TYPE_LARGE", "MASTER_TYPE_EXTRALARGE" ], "description": "Тип конфигурации узла плоскости управления.\n\n - MASTER_TYPE_SMALL: CPU:2, RAM:4.\n - MASTER_TYPE_MEDIUM: CPU:4, RAM:8.\n - MASTER_TYPE_LARGE: CPU:8, RAM:16.\n - MASTER_TYPE_EXTRALARGE: CPU:16, RAM:32." }, "v2MonitoringService": { "type": "object", "properties": { "enabled": { "type": "boolean", "description": "Включение/выключение мониторинга компонентов кластера.\nВозможные значения: true — мониторинг включен, false — мониторинг выключен.\nПо умолчанию мониторинг включен." } }, "description": "Мониторинг компонентов кластера." }, "v2NetworkConfigurationRequest": { "type": "object", "properties": { "servicesSubnetCidr": { "type": "string", "description": "Адрес подсети сервисов в формате RFC1918." }, "podsSubnetCidr": { "type": "string", "description": "Адрес сети подов в формате RFC1918." }, "nodesSubnetCidr": { "type": "string", "description": "Адрес подсети узлов в формате RFC1918.\nЕсли указать это значение, то сеть будет создана автоматически." }, "nodesSubnetId": { "type": "string", "description": "Идентификатор существующей подсети узлов." }, "kubeApiInternet": { "type": "boolean", "description": "Флаг публикации kube-apiserver в интернет." }, "vpcId": { "type": "string", "description": "Идентификатор VPC." } }, "description": "Описание сетевой инфраструктуры кластера." }, "v2NetworkConfigurationResponse": { "type": "object", "properties": { "servicesSubnetCidr": { "type": "string", "description": "Адрес подсети сервисов." }, "podsSubnetCidr": { "type": "string", "description": "Адрес подсети подов." }, "nodesSubnetCidr": { "type": "string", "description": "Адрес подсети узлов плоскости управления." }, "kubeApiInternet": { "type": "boolean", "description": "Флаг публикации kube-apiserver в интернет." }, "cpEndpoints": { "type": "array", "items": { "type": "object", "$ref": "#/definitions/v2ControlPlaneEndpoint" }, "description": "Адреса плоскости управления." }, "vpcId": { "type": "string", "description": "Идентификатор VPC." }, "nodesSubnetId": { "type": "string", "description": "Идентификатор подсети узлов плоскости управления." } }, "description": "Описание актуальной сетевой инфраструктуры кластера." }, "v2NetworkType": { "type": "string", "enum": [ "NETWORK_TYPE_PRIVATE", "NETWORK_TYPE_PUBLIC" ], "description": "Тип сети.\n\n - NETWORK_TYPE_PRIVATE: Серая пользовательская сеть (RFC1918).\n - NETWORK_TYPE_PUBLIC: Публичная пользовательская сеть (интернет)." }, "v2Node": { "type": "object", "properties": { "id": { "type": "string", "description": "Идентификатор узла." }, "hostname": { "type": "string", "description": "Название узла." }, "createdAt": { "type": "string", "format": "date-time", "description": "Время создания узла." }, "ipAddress": { "type": "string", "description": "IP-адрес узла." }, "state": { "$ref": "#/definitions/v2ObjectState", "description": "Состояние узла." }, "vmName": { "type": "string", "description": "Название виртуальной машины." }, "updateAt": { "type": "string", "format": "date-time", "description": "Время обновления узла." } }, "description": "Информация об узле в группе." }, "v2NodePoolData": { "type": "object", "properties": { "displayName": { "type": "string", "description": "Название группы узлов." }, "scalePolicy": { "$ref": "#/definitions/v2ScalePolicy", "description": "Политика масштабирования группы узлов." } }, "description": "Информацию о группе узлов, которую необходимо изменить." }, "v2NodePoolsInfo": { "type": "object", "properties": { "count": { "type": "integer", "format": "int64", "description": "Количество групп узлов." }, "cpu": { "type": "integer", "format": "int64", "description": "Количество ядер процессора виртуальных машин." }, "ram": { "type": "integer", "format": "int64", "description": "Оперативная память виртуальных машин в ГБ." }, "diskSize": { "type": "integer", "format": "int64", "description": "Размер подключаемых дисков в ГБ." } }, "description": "Информация по группам узлов." }, "v2NodesNetworkConfigurationRequest": { "type": "object", "properties": { "nodesSubnetCidr": { "type": "string", "description": "Адрес сети узлов в формате RFC1918.\nЕсли указать это значение, то сеть будет создана автоматически." }, "nodesSubnetId": { "type": "string", "description": "Идентификатор существующей сети узлов." }, "securityGroupId": { "type": "string", "description": "Идентификатор группы безопасности.\nОпциональное поле." } }, "description": "Описание желаемой сетевой инфраструктуры группы узлов." }, "v2NodesNetworkConfigurationResponse": { "type": "object", "properties": { "nodesSubnetCidr": { "type": "string", "description": "Адрес сети узлов группы." }, "nodesSubnetId": { "type": "string", "description": "Идентификатор сети узлов группы." }, "securityGroupId": { "type": "string", "description": "Идентификатор группы безопасности.\nОпциональное поле." } }, "description": "Описание актуальной сетевой инфраструктуры группы узлов." }, "v2ObjectState": { "type": "string", "enum": [ "OBJECT_STATE_PENDING", "OBJECT_STATE_PROVISIONING", "OBJECT_STATE_RUNNING", "OBJECT_STATE_PAUSING", "OBJECT_STATE_PAUSED", "OBJECT_STATE_RESUMING", "OBJECT_STATE_UPDATING", "OBJECT_STATE_DELETING", "OBJECT_STATE_ERROR", "OBJECT_STATE_SCALING_UP", "OBJECT_STATE_SCALING_DOWN", "OBJECT_STATE_STOPPING", "OBJECT_STATE_STOPPED", "OBJECT_STATE_SUSPENDING", "OBJECT_STATE_SUSPENDED" ], "title": "Варианты состояний для кластеров, узлов и групп узлов" }, "v2ResolveConflictsMode": { "type": "string", "enum": [ "RESOLVE_CONFLICTS_MODE_NONE", "RESOLVE_CONFLICTS_MODE_OVERWRITE", "RESOLVE_CONFLICTS_MODE_PRESERVE" ], "description": "Режим разрешения конфликтов при управлении плагинами в кластере.\n\n - RESOLVE_CONFLICTS_MODE_NONE: Если пользователь уже самостоятельно установил плагин в кластере,\nто не перезаписываем существующие манифесты, но добавление плагина может завершиться неудачно.\n - RESOLVE_CONFLICTS_MODE_OVERWRITE: Если пользователь самостоятельно установил плагин в кластере или вносил изменения в его конфигурацию,\nто откатим все пользовательские изменения до рекомендуемых значений.\n - RESOLVE_CONFLICTS_MODE_PRESERVE: Сохранить пользовательские изменения при обновлении плагина.\nДля операции добавления плагина это значение неприменимо." }, "v2ResumeClusterResponse": { "type": "object", "properties": { "task": { "$ref": "#/definitions/v2Task", "description": "Информация о задаче." } }, "description": "Ответ с информацией о задаче на возобновление работы кластера." }, "v2ScalePolicy": { "type": "object", "properties": { "fixedScale": { "$ref": "#/definitions/ScalePolicyFixedScale", "description": "Фиксированное число узлов." }, "autoScale": { "$ref": "#/definitions/ScalePolicyAutoScale", "description": "Автоматически масштабируемое число узлов." } }, "description": "Политика масштабирования группы узлов в кластере." }, "v2StopClusterResponse": { "type": "object", "properties": { "task": { "$ref": "#/definitions/v2Task", "description": "Информация о задаче." } }, "description": "Ответ с информацией о задаче на приостановку кластера." }, "v2SupportMode": { "type": "string", "enum": [ "SUPPORT_MODE_ACTIVE", "SUPPORT_MODE_EXPERIMENTAL", "SUPPORT_MODE_END_OF_SUPPORT", "SUPPORT_MODE_END_OF_LIFE", "SUPPORT_MODE_INACTIVE" ], "description": "Режим поддержки версий." }, "v2Taint": { "type": "object", "properties": { "key": { "type": "string", "description": "Ключ." }, "value": { "type": "string", "description": "Значение." }, "effect": { "$ref": "#/definitions/TaintEffect", "description": "Применяемый эффект." } }, "description": "Ограничение, накладываемое на узел." }, "v2Task": { "type": "object", "properties": { "id": { "type": "string", "description": "Идентификатор задачи." }, "status": { "$ref": "#/definitions/TaskTaskStatus", "description": "Статус задачи." }, "eventName": { "$ref": "#/definitions/TaskTaskEvent", "description": "Тип события." }, "createdAt": { "type": "string", "format": "date-time", "description": "Время создания задачи." }, "updatedAt": { "type": "string", "format": "date-time", "description": "Время последнего обновления задачи." }, "taskObjectId": { "type": "string", "description": "Идентификатор объекта задачи." }, "taskObjectType": { "$ref": "#/definitions/TaskObjectType", "description": "Тип объекта задачи." }, "metadata": { "$ref": "#/definitions/protobufAny", "description": "Метаданные задачи." }, "error": { "$ref": "#/definitions/rpcStatus", "description": "Ошибка, если задача завершилась с ошибкой." }, "data": { "$ref": "#/definitions/protobufAny", "description": "Данные, если задача завершилась успешно." }, "userId": { "type": "string", "description": "Идентификатор пользователя." } }, "title": "Описание возвращаемой операции" }, "v2UpdateClusterAddonResponse": { "type": "object", "properties": { "action": { "$ref": "#/definitions/v2AddonAction", "description": "Информация об обновлении плагина." } }, "description": "Обновление существующего плагина на новую версию или применение новой конфигурации." } }, "securityDefinitions": { "": { "type": "apiKey", "description": "IAM API Key auth", "name": "Authorization", "in": "header" } }, "security": [ { "": [ "apiKey" ] } ] }