Class: Infrawrench::SessionRecordingsNamespace
- Inherits:
-
Object
- Object
- Infrawrench::SessionRecordingsNamespace
- Defined in:
- lib/infrawrench/client.rb,
sig/infrawrench/sdk.rbs
Overview
client.session_recordings
Instance Attribute Summary collapse
-
#settings ⇒ SessionRecordingsSettingsNamespace
readonly
client.session_recordings.settings.
Instance Method Summary collapse
-
#cast(recording_id:, org_id: nil, download: nil, request_options: nil) ⇒ String
Download a recording as an asciicast.
-
#delete(recording_id:, org_id: nil, request_options: nil) ⇒ Hash
Delete a recording.
-
#get(recording_id:, org_id: nil, request_options: nil) ⇒ Hash
Get one recording's metadata.
-
#initialize(transport) ⇒ SessionRecordingsNamespace
constructor
private
A new instance of SessionRecordingsNamespace.
-
#list(org_id: nil, status: nil, user_id: nil, resource_id: nil, account_id: nil, since: nil, until_param: nil, limit: nil, request_options: nil) ⇒ Array<Hash>
List recorded SSH sessions.
Constructor Details
#initialize(transport) ⇒ SessionRecordingsNamespace
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
Returns a new instance of SessionRecordingsNamespace.
13857 13858 13859 13860 |
# File 'lib/infrawrench/client.rb', line 13857 def initialize(transport) @transport = transport @settings = SessionRecordingsSettingsNamespace.new(@transport) end |
Instance Attribute Details
#settings ⇒ SessionRecordingsSettingsNamespace (readonly)
Returns client.session_recordings.settings.
13853 13854 13855 |
# File 'lib/infrawrench/client.rb', line 13853 def settings @settings end |
Instance Method Details
#cast(recording_id:, org_id: nil, download: nil, request_options: nil) ⇒ String
Download a recording as an asciicast
The session as an asciicast
v2 document: a JSON
header line followed by one [time, code, data] event per line.
Deliberately somebody else's format — the same bytes play in asciinema play and in the reference web player, so a recording is useful to an
auditor who has never seen this product. ?download=1 returns it as an
attachment. Every fetch is audit-logged, including this one: an
investigator has to be able to answer who has watched a given tape.
Requires permission: session-recordings:read.
GET /api/org/orgId/session-recordings/recordingId/cast
Raises on 404: Not found
13886 13887 13888 13889 13890 13891 13892 13893 13894 13895 |
# File 'lib/infrawrench/client.rb', line 13886 def cast(recording_id:, org_id: nil, download: nil, request_options: nil) @transport.request( http_method: "GET", path: "/api/org/{orgId}/session-recordings/{recordingId}/cast", path_params: { "orgId" => org_id, "recordingId" => recording_id }, query: { "download" => download }, accept: :binary, request_options: ) end |
#delete(recording_id:, org_id: nil, request_options: nil) ⇒ Hash
Delete a recording
Removes the recording and its stored chunks. Audit-logged.
Requires permission: session-recordings:write.
DELETE /api/org/orgId/session-recordings/recordingId
Raises on 404: Not found
13913 13914 13915 13916 13917 13918 13919 13920 |
# File 'lib/infrawrench/client.rb', line 13913 def delete(recording_id:, org_id: nil, request_options: nil) @transport.request( http_method: "DELETE", path: "/api/org/{orgId}/session-recordings/{recordingId}", path_params: { "orgId" => org_id, "recordingId" => recording_id }, request_options: ) end |
#get(recording_id:, org_id: nil, request_options: nil) ⇒ Hash
Get one recording's metadata
Requires permission: session-recordings:read.
GET /api/org/orgId/session-recordings/recordingId
Raises on 404: Not found
13936 13937 13938 13939 13940 13941 13942 13943 |
# File 'lib/infrawrench/client.rb', line 13936 def get(recording_id:, org_id: nil, request_options: nil) @transport.request( http_method: "GET", path: "/api/org/{orgId}/session-recordings/{recordingId}", path_params: { "orgId" => org_id, "recordingId" => recording_id }, request_options: ) end |
#list(org_id: nil, status: nil, user_id: nil, resource_id: nil, account_id: nil, since: nil, until_param: nil, limit: nil, request_options: nil) ⇒ Array<Hash>
List recorded SSH sessions
Recorded sessions, newest first. Only SSH opened through the cloud is recorded — those sessions are already proxied by the server, so recording tees a stream it holds rather than requiring an agent on the host. A desktop session that dials a host directly never reaches the server and cannot appear here.
Requires permission: session-recordings:read.
GET /api/org/orgId/session-recordings
Raises on 400: Bad request
13974 13975 13976 13977 13978 13979 13980 13981 13982 13983 13984 13985 13986 13987 13988 13989 13990 13991 13992 13993 13994 13995 13996 13997 13998 13999 14000 |
# File 'lib/infrawrench/client.rb', line 13974 def list( org_id: nil, status: nil, user_id: nil, resource_id: nil, account_id: nil, since: nil, until_param: nil, limit: nil, request_options: nil ) @transport.request( http_method: "GET", path: "/api/org/{orgId}/session-recordings", path_params: { "orgId" => org_id }, query: { "status" => status, "userId" => user_id, "resourceId" => resource_id, "accountId" => account_id, "since" => since, "until" => until_param, "limit" => limit }, request_options: ) end |