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.
12333 12334 12335 12336 |
# File 'lib/infrawrench/client.rb', line 12333 def initialize(transport) @transport = transport @settings = SessionRecordingsSettingsNamespace.new(@transport) end |
Instance Attribute Details
#settings ⇒ SessionRecordingsSettingsNamespace (readonly)
Returns client.session_recordings.settings.
12329 12330 12331 |
# File 'lib/infrawrench/client.rb', line 12329 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
12362 12363 12364 12365 12366 12367 12368 12369 12370 12371 |
# File 'lib/infrawrench/client.rb', line 12362 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
12389 12390 12391 12392 12393 12394 12395 12396 |
# File 'lib/infrawrench/client.rb', line 12389 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
12412 12413 12414 12415 12416 12417 12418 12419 |
# File 'lib/infrawrench/client.rb', line 12412 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
12450 12451 12452 12453 12454 12455 12456 12457 12458 12459 12460 12461 12462 12463 12464 12465 12466 12467 12468 12469 12470 12471 12472 12473 12474 12475 12476 |
# File 'lib/infrawrench/client.rb', line 12450 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 |