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

出力専用。UI に表示される DeviceSession のタイトル。

state

enum (SessionState)

出力専用。DeviceSession の現在の状態。

stateHistories[]

object (SessionStateEvent)

出力専用。現在のセッション状態を含む sessionState メッセージの過去の状態遷移。

inactivityTimeout

string (Duration format)

出力専用。このデバイスが ACTIVE から TIMEOUT_INACTIVITY に移行する前にデバイスを操作する必要がある期間。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

createTime

string (Timestamp format)

出力専用。セッションが作成された時刻。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

activeStartTime

string (Timestamp format)

出力専用。セッションが最初に ACTIVE となったタイムスタンプ。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

androidDevice

object (AndroidDevice)

必須。リクエストされたデバイス

共用体フィールド expiration

expiration は次のいずれかになります。

ttl

string (Duration format)

省略可。デバイスが最初に割り当てられる時間です。これは最終的に、deviceSessions.patch RPC で拡張できます。デフォルト: 15 分。

s で終わる小数 9 桁までの秒単位の期間。例: "3.5s"

expireTime

string (Timestamp format)

省略可。この時点でデバイスがまだ使用されている場合は、すべての接続が終了し、SessionState が ACTIVE から FINISHED に移行します。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

SessionState

デバイス セッションが存在する状態。

列挙型
SESSION_STATE_UNSPECIFIED デフォルト値。この値は使用されません。
REQUESTED セッション リクエストの初期状態。セッションの正確性を検証しており、デバイスはまだリクエストされていません。
PENDING セッションが検証され、デバイスのキューに追加されています。
ACTIVE セッションが付与され、デバイスが接続を受け入れています。
EXPIRED セッション継続時間がデバイスの予約期間を過ぎたため、自動的にタイムアウトしました。
FINISHED ユーザーがセッションを終了し、リクエストがまだ割り当てられている間、または割り当て後およびデバイスの使用期間中にユーザーによってキャンセルされました。
UNAVAILABLE デバイスが使用できず、スケジューラで割り当てられなかったため、セッションを完了できません。(カタログにないデバイスがリクエストされた、割り当てキューでリクエストが期限切れになった、など)。
ERROR 内部的な原因(インフラストラクチャの障害など)により、セッションを完了できない。

SessionStateEvent

一連のセッション状態と、DeviceSession が最初にそれらの状態に入った時刻をカプセル化したメッセージ。

JSON 表現
{
  "sessionState": enum (SessionState),
  "eventTime": string,
  "stateMessage": string
}
フィールド
sessionState

enum (SessionState)

出力専用。このイベントによって追跡される sessionState

eventTime

string (Timestamp format)

出力専用。sessionState がその状態を初めて検出した時刻。

RFC3339 UTC「Zulu」形式のタイムスタンプ。精度はナノ秒まで、小数点以下は最大 9 桁。例: "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 を返します。DeviceSession には、割り当てステータスとデバイスが割り振られているかどうかが文書化されます。

list

GET /v1/projects/{project_id}/deviceSessions プロジェクト ユーザーが所有するデバイス セッションを一覧表示します。

patch

PATCH /v1/projects/{projectId}/deviceSessions/deviceSessionId}:updateDeviceSession update_mask で記述されたフィールドに、現在のデバイス セッションを更新します。