Сервис-пулы

Запрос текущей конфигурации

Получение списка сервис-пулов и их параметров:

GET /servicespools/overview

Получение параметров пула:

GET /servicespools/{pool_id}

Получение списка групп, добавленных в пул:

GET /servicespools/{pool_id}/groups

Получение списка транспортов, добавленных в пул:

GET /servicespools/{pool_id}/transports

Получение списка сервисов пула (тонких клонов, виртуальных машин, и т.д.), назначенных пользователям (закрепленных за ними):

GET /servicespools/{pool_id}/services

Получение списка сервисов пула, находящихся в кэше (развернутые, но не назначенные пользователям экземпляры):

GET /servicespools/{pool_id}/cache

Получение списка назначаемых сервисов:

GET /servicespools/{pool_id}/listAssignables

Параметры path

{pool_id} - id пула

Примеры

Пример ответа с параметрами пула:

{
    'id': 'd1bd5dff-5287-5afd-9444-493a3528a535',
    'name': 'static-mult',
    'short_name': '',
    'tags': [],
    'parent': 'multiple',
    'parent_type': 'IPMachinesService',
    'comments': '',
    'state': 'A',
    'thumb': '',
    'account': '',
    'account_id': None,
    'service_id': 'afaba279-0f65-5b77-9140-12ec4cf2ff1b',
    'provider_id': '90e05812-dc8b-5279-a512-1aae638b3b21',
    'image_id': None,
    'initial_srvs': 0,
    'cache_l1_srvs': 0,
    'cache_l2_srvs': 0,
    'max_srvs': 0,
    'show_transports': True,
    'visible': True,
    'allow_users_remove': False,
    'allow_users_reset': False,
    'ignores_unused': False,
    'fallbackAccess': 'ALLOW',
    'meta_member': [],
    'calendar_message': '',
    'user_services_count': 1,
    'user_services_in_preparation': 0,
    'restrained': False,
    'permission': 96,
    'info': {
        'icon': '',
        'needs_publication': False,
        'max_deployed': -1,
        'uses_cache': False,
        'uses_cache_l2': False,
        'cache_tooltip': 'None',
        'cache_tooltip_l2': 'None',
        'needs_manager': False,
        'allowedProtocols': ['rdp', 'rgs', 'vnc', 'nx', 'x11', 'x2go', 'pcoip', 'nicedcv', 'other'],
        'servicesTypeProvided': ['vdi'],
        'must_assign_manually': False,
        'can_reset': False,
        'can_list_assignables': True
    },
    'pool_group_id': None,
    'pool_group_name': 'Default',
    'pool_group_thumb': '',
    'usage': '100%'
}

Пример ответа со списком добавленных в пул групп:

[
    {
        'id': '71326643-3aba-5f20-9717-a09c44a5540a',
        'auth_id': 'ac0702cd-cb63-5ea1-b6a6-ae3d5adff46d',
        'name': 'Domain Admins',
        'group_name': 'Domain Admins@dc1',
        'comments': '',
        'state': 'A',
        'type': 'group',
        'auth_name': 'dc1'
    },
    {
        'id': '19b400ab-db2b-5fc7-9d7e-1e3662df594b',
        'auth_id': '750f3742-f761-5fc6-b4cc-7115bc66404b',
        'name': 'vdigroup',
        'group_name': 'vdigroup@int',
        'comments': '',
        'state': 'A',
        'type': 'group',
        'auth_name': 'int'
    },
    {
        'id': 'de14df32-69d8-5add-96c5-be758f2ca49c',
        'auth_id': '750f3742-f761-5fc6-b4cc-7115bc66404b',
        'name': 'vdigroup1',
        'group_name': 'vdigroup1@int',
        'comments': '',
        'state': 'A',
        'type': 'group',
        'auth_name': 'int'
    }
]

Пример ответа со списком добавленных в пул транспортов:

[
    {
        'id': 'b925c748-c3cc-585e-a8ec-9d7dd3a2c649',
        'name': 'rdp-direct',
        'type': {
            'name': 'RDP',
            'type': 'RDPTransport',
            'description': 'RDP Protocol. Direct connection.',
            'icon': '',
            'group': 'Direct'
        },
        'comments': '',
        'priority': 1,
        'trans_type': 'RDP'
    },
    {
        'id': 'c532143e-86be-500b-9236-a449825403b2',
        'name': 'x2go-direct',
        'type': {
            'name': 'X2Go',
            'type': 'X2GOTransport',
            'description': 'X2Go access (Experimental). Direct connection.',
            'icon': '',
            'group': 'Direct'
        },
        'comments': '',
        'priority': 2,
        'trans_type': 'X2Go'
    }
]

Пример ответа со списком назначенных пользователям сервисов пула:

[
    {
        'id': 'b1931a7d-3a2c-5d8a-9d8f-d517188ac5eb',
        'id_deployed_service': 'd1bd5dff-5287-5afd-9444-493a3528a535',
        'unique_id': '10.1.141.74',
        'friendly_name': '10.1.141.74',
        'state': 'U',
        'os_state': 'U',
        'state_date': 1707128501,
        'creation_date': 1707128500,
        'revision': '',
        'ip': '10.1.141.74',
        'actor_version': 'unknown',
        'owner': 'vdiuser@int',
        'owner_info': {'auth_id': '750f3742-f761-5fc6-b4cc-7115bc66404b', 'user_id': '0f489bb0-9f70-5ee8-bb09-a30458d69fef'},
        'in_use': True,
        'in_use_date': 1707128500,
        'source_host': 'hostname',
        'source_ip': '10.1.44.13'
    },
    {
        'id': '9599b697-8b4e-5ca1-98f8-88aff03a227d',
        'id_deployed_service':
        'd1bd5dff-5287-5afd-9444-493a3528a535',
        'unique_id': '10.1.141.76',
        'friendly_name': '10.1.141.76',
        'state': 'U',
        'os_state': 'U',
        'state_date': 1707985180,
        'creation_date': 1707985180,
        'revision': '',
        'ip': '10.1.141.76',
        'actor_version': 'unknown',
        'owner': 'adm@hostvm.local@dc1',
        'owner_info': {'auth_id': 'ac0702cd-cb63-5ea1-b6a6-ae3d5adff46d', 'user_id': '7c2aec6f-3824-5a8b-8a80-0bb5e6ddbea9'},
        'in_use': True,
        'in_use_date': 1707985180,
        'source_host': '',
        'source_ip': ''
    }
]

Пример ответа со списком сервисов в кэше:

[
    {
        'id': 'b2b9c5ba-0943-58f3-ba06-05b0c2738028', 
        'id_deployed_service': '9a801202-eb99-5f75-9137-c64aad365e1f', 
        'unique_id': '52:54:00:00:00:01', 
        'friendly_name': 'vdi3-alt-00', 
        'state': 'U', 
        'os_state': 'U', 
        'state_date': 1631271805, 
        'creation_date': 1631271750, 
        'revision': 3, 
        'ip': '10.1.2.13', 
        'actor_version': '2.2.0', 
        'cache_level': 1
    }
]

Создание сервис-пула

Создание нового пула:

PUT /servicespools

Параметры тела запроса

name - имя пула, тип: string

service_id - id базового сервиса, тип: string

osmanager_id - id менеджера ОС, тип: string. При создании пула на основе сервиса, не использующего менеджер ОС (например Static IP), используйте значение None.

short_name - короткое имя, тип: string

comments - комментарии для этого элемента, тип: string

tags - тэги для этого элемента, тип: list of strings

image_id - id изображения для пула, тип: string. Для изображения по умолчанию используйте значение -1.

pool_group_id - id группы пулов, тип: string. Для группы по умолчанию используйте значение -1.

visible - видимость пула, тип: boolean

calendar_message - сообщение при ограничении доступа по календарю, тип: string

allow_users_remove - разрешить удаление пользователями, тип: boolean

allow_users_reset - разрешить сброс пользователями, тип: boolean

ignores_unused - игнорировать неиспользуемые, тип: boolean

show_transports - показать транспорты, тип: boolean

account_id - учет использования, тип: string. Для настройки по умолчанию используйте значение -1.

initial_srvs - первоначально доступные сервисы, тип: integer. При создании пула на основе сервиса, не использующего менеджер ОС (например Static IP), используйте значение 0.

cache_l1_srvs - сервисы, хранящиеся в кэше, тип: integer. При создании пула на основе сервиса, не использующего менеджер ОС (например Static IP), используйте значение 0.

cache_l2_srvs - сервисы, хранящиеся в L2 кэше, тип: integer. При создании пула на основе сервиса, не использующего менеджер ОС (например Static IP), используйте значение 0.

max_srvs - максимальное количество предоставляемых сервисов, тип: integer. При создании пула на основе сервиса, не использующего менеджер ОС (например Static IP), используйте значение 0.

Примеры

Пример выдачи:

[
{
'id': 'ee27235f-59c3-5407-b897-d1c9a7ed84e0', 
'name': 'AltLinux', 
'tags': [], 
'comments': '', 
'type': 'oVirtLinkedService', 
'type_name': 'oVirt/RHEV Linked Clone', 
'proxy_id': '-1', 
'proxy': '', 
'deployed_services_count': 2, 
'user_services_count': 2, 
'maintenance_mode': False, 
'permission': 96, 
'info': {'icon': '...', 'needs_publication': True, 'max_deployed': -1, 'uses_cache': True, 'uses_cache_l2': True, 'cache_tooltip': 'Number of desired machines to keep running waiting for a user', 'cache_tooltip_l2': 'Number of desired machines to keep suspended waiting for use', 'needs_manager': True, 'allowedProtocols': ['rdp', 'rgs', 'vnc', 'nx', 'x11', 'x2go', 'pcoip', 'other', 'spice'], 'servicesTypeProvided': ['vdi'], 'must_assign_manually': False, 'can_reset': True, 'can_list_assignables': False}
}, 
... 
]

Изменение конфигурации сервис-пула

Изменение параметров пула:

PUT /servicespools/{pool_id}

Параметры path

pool_id - id сервис-пула

Параметры тела запроса

name - имя пула, тип: string

short_name - короткое имя, тип: string

comments - комментарии для этого элемента, тип: string

tags - тэги для этого элемента, тип: list of strings

image_id - id изображения для пула, тип: string. Для изображения по умолчанию используйте значение -1.

pool_group_id - id группы пулов, тип: string. Для группы по умолчанию используйте значение -1.

visible - видимость пула, тип: boolean

calendar_message - сообщение при ограничении доступа по календарю, тип: string

allow_users_remove - разрешить удаление пользователями, тип: boolean

allow_users_reset - разрешить сброс пользователями, тип: boolean

ignores_unused - игнорировать неиспользуемые, тип: boolean

show_transports - показать транспорты, тип: boolean

account_id - учет использования, тип: string. Для настройки по умолчанию используйте значение -1.

initial_srvs - первоначально доступные сервисы, тип: integer. Для пула на основе сервиса, не использующего менеджер ОС (например Static IP), значение параметра равно 0 и не модифицируется.

cache_l1_srvs - сервисы, хранящиеся в кэше, тип: integer. Для пула на основе сервиса, не использующего менеджер ОС (например Static IP), значение параметра равно 0 и не модифицируется.

cache_l2_srvs - сервисы, хранящиеся в L2 кэше, тип: integer. Для пула на основе сервиса, не использующего менеджер ОС (например Static IP), значение параметра равно 0 и не модифицируется.

max_srvs - максимальное количество предоставляемых сервисов, тип: integer. Для пула на основе сервиса, не использующего менеджер ОС (например Static IP), значение параметра равно 0 и не модифицируется.

Удаление сервис-пула

Удаление сервис-пула:

DELETE /servicespools/{pool_id}

Параметры path

pool_id - id сервис-пула

Добавление группы в сервис-пул

Добавление в пул группы доступа:

PUT /servicespools/{pool_id}/groups

Параметры path

pool_id - id сервис-пула

Параметры тела запроса

id - id группы, тип: string

Добавление транспорта в сервис-пул

Добавление транспорта в сервис-пул:

PUT /servicespools/{pool_id}/transports

Параметры path

pool_id - id сервис-пула

Параметры тела запроса

id - id транспорта, тип: string

Публикация сервисов пула

Публикация сервисов пула:

GET /servicespools/{pool_id}/publications/publish

Параметры path

pool_id - id сервис-пула

В случае успешного запуска процесса публикации возвращается ответ ok.

Назначение сервисов

Назначить пользователю экземпляр сервиса пула:

GET /servicespools/{pool_id}/createFromAssignable

доступно только для сервисов, поддерживающих ручное назначение пользователям (Static IP провайдер - Multiple IP сервис)

Параметры path

{pool_id} - id сервис-пула

Параметры тела запроса

user_id - id пользователя, тип: string

assignable_id - id назначаемого сервиса пула, тип: string

Для получения assignable_id необходимо запросить список назначаемых сервисов пула, см. соответствующий метод в разделе Сервис-пулы / Запрос текущей конфигурации.

Last updated