REST Resource: projects.deviceSessions

Ресурс: DeviceSession

Сообщение Protobuf, описывающее сообщение устройства, используемое от нескольких RPC.

JSON-представление
{
  "name": string,
  "displayName": string,
  "state": enum (SessionState),
  "stateHistories": [
    {
      object (SessionStateEvent)
    }
  ],
  "inactivityTimeout": string,
  "createTime": string,
  "activeStartTime": string,
  "androidDevice": {
    object (AndroidDevice)
  },

  // Union field expiration can be only one of the following:
  "ttl": string,
  "expireTime": string
  // End of list of possible types for union field expiration.
}
Поля
name

string

Необязательный. Имя DeviceSession, например "projects/{projectId}/deviceSessions/{session_id}"

displayName

string

Только вывод. Название DeviceSession, которое будет представлено в пользовательском интерфейсе.

state

enum ( SessionState )

Только вывод. Текущее состояние DeviceSession.

stateHistories[]

object ( SessionStateEvent )

Только вывод. Исторические изменения состояний сообщения sessionState, включая текущее состояние сеанса.

inactivityTimeout

string ( Duration format)

Только вывод. Интервал времени, в течение которого с этим устройством необходимо взаимодействовать, прежде чем оно перейдет из состояния ACTIVE в состояние TIMEOUT_INACTIVITY.

Длительность в секундах, содержащая до девяти дробных цифр и оканчивающаяся на « s ». Пример: "3.5s" .

createTime

string ( Timestamp format)

Только вывод. Время создания сеанса.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

activeStartTime

string ( Timestamp format)

Только вывод. Отметка времени, когда сеанс впервые стал АКТИВНЫМ.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

androidDevice

object ( AndroidDevice )

Необходимый. Запрошенное устройство

expiration поля объединения .

expiration может быть только одним из следующих:

ttl

string ( Duration format)

Необязательный. Количество времени, на которое устройство будет изначально выделено. В конечном итоге это можно расширить с помощью RPC deviceSessions.patch. По умолчанию: 15 минут.

Длительность в секундах, содержащая до девяти дробных цифр и оканчивающаяся на « s ». Пример: "3.5s" .

expireTime

string ( Timestamp format)

Необязательный. Если в это время устройство все еще используется, все соединения будут разорваны, а состояние SessionState перейдет из состояния ACTIVE в FINISHED.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

сессионстате

Состояние, в котором находится сеанс устройства.

Перечисления
SESSION_STATE_UNSPECIFIED Значение по умолчанию. Это значение не используется.
REQUESTED Исходное состояние запроса сеанса. Сеанс проверяется на корректность, и устройство еще не запрошено.
PENDING Сеанс проверен и находится в очереди для устройства.
ACTIVE Сеанс разрешен, и устройство принимает соединения.
EXPIRED Продолжительность сеанса превысила период времени резервирования устройства и истекла автоматически.
FINISHED Пользователь завершил сеанс, и он был отменен пользователем во время выделения запроса или после выделения и в течение периода использования устройства.
UNAVAILABLE Не удалось завершить сеанс, поскольку устройство было недоступно и его не удалось выделить через планировщик. Например, было запрошено устройство, которого нет в каталоге, или срок действия запроса истек в очереди выделения.
ERROR Невозможно завершить сеанс по внутренней причине, например из-за сбоя инфраструктуры.

Сеансстатевент

Сообщение, инкапсулирующее серию состояний сеанса и время, когда DeviceSession впервые вошел в эти состояния.

JSON-представление
{
  "sessionState": enum (SessionState),
  "eventTime": string,
  "stateMessage": string
}
Поля
sessionState

enum ( SessionState )

Только вывод. SessionState, отслеживаемый этим событием

eventTime

string ( Timestamp format)

Только вывод. Время, когда sessionState впервые обнаружил это состояние.

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

stateMessage

string

Только вывод. Удобочитаемое сообщение, объясняющее состояние.

Методы

cancel

POST /v1/projects/{project_id}/deviceSessions/{device_session_id}:cancel Переводит DeviceSession в состояние FINISHED и завершает все соединения.

create

POST /v1/projects/{project_id}/deviceSessions

get

GET /v1/projects/{project_id}/deviceSessions/{device_session_id} Возвращает DeviceSession, который документирует статус выделения и то, выделено ли устройство.

list

GET /v1/projects/{project_id}/deviceSessions Перечисляет сеансы устройств, принадлежащие пользователю проекта.

patch

ИСПРАВЛЕНИЕ /v1/projects/{projectId}/deviceSessions/deviceSessionId}:updateDeviceSession Обновляет текущий сеанс устройства до полей, описанных update_mask.