Class: Infrawrench::LogWorkspacesNamespace

Inherits:
Object
  • Object
show all
Defined in:
lib/infrawrench/client.rb,
sig/infrawrench/sdk.rbs

Overview

client.log_workspaces

Instance Method Summary collapse

Constructor Details

#initialize(transport) ⇒ LogWorkspacesNamespace

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 LogWorkspacesNamespace.

Parameters:



9069
9070
9071
# File 'lib/infrawrench/client.rb', line 9069

def initialize(transport)
  @transport = transport
end

Instance Method Details

#create(body:, org_id: nil, request_options: nil) ⇒ Hash

Save a log workspace query

Save a named multi-resource tail: up to 8 log streams plus a search expression, so the workspace can be reopened. With alertEnabled the poller evaluates the query every few minutes over a bounded tail window and notifies (push/Slack/Teams, logMatchAlerts trigger) when a line matches, with a cooldown between alerts. Alerting requires a non-empty search expression. Audit-logged.

Requires permission: resources:write.

POST /api/org/orgId/log-workspaces

Raises on 400: Bad request

Raises on 404: Not found

Raises on 409: A saved query with this name already exists

Parameters:

  • org_id (String, nil) (defaults to: nil)

    Organization id. Defaults to the org_id the client was constructed with.

  • body (Hash)

    Request body, shaped as LogWorkspaceQueryCreate.

  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • body: (log_workspace_query_create)
  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

    Parsed JSON, shaped as LogWorkspaceQuery — see sig/infrawrench/sdk.rbs.

Raises:



9098
9099
9100
9101
9102
9103
9104
9105
9106
# File 'lib/infrawrench/client.rb', line 9098

def create(body:, org_id: nil, request_options: nil)
  @transport.request(
    http_method: "POST",
    path: "/api/org/{orgId}/log-workspaces",
    path_params: { "orgId" => org_id },
    body: body,
    request_options: request_options
  )
end

#delete(query_id:, org_id: nil, request_options: nil) ⇒ nil

Delete a saved log query

Remove the saved query and stop any alerting it carried. Audit-logged.

Requires permission: resources:write.

DELETE /api/org/orgId/log-workspaces/queryId

Raises on 404: Not found

Parameters:

  • org_id (String, nil) (defaults to: nil)

    Organization id. Defaults to the org_id the client was constructed with.

  • query_id (String)
  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • query_id: (String)
  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (nil)

    This endpoint returns no content.

Raises:



9124
9125
9126
9127
9128
9129
9130
9131
9132
# File 'lib/infrawrench/client.rb', line 9124

def delete(query_id:, org_id: nil, request_options: nil)
  @transport.request(
    http_method: "DELETE",
    path: "/api/org/{orgId}/log-workspaces/{queryId}",
    path_params: { "orgId" => org_id, "queryId" => query_id },
    accept: :empty,
    request_options: request_options
  )
end

#get(org_id: nil, request_options: nil) ⇒ Hash

List saved log queries

Every saved log-workspace query in the organization: its name, the set of log streams it tails, the search expression, the alert flag and the alert pass's last evaluation state. Log text itself is fetched per resource via POST /api/org/{orgId}/resources/{pluginId}/{typeId}/logs.

Requires permission: resources:read.

GET /api/org/orgId/log-workspaces

Parameters:

  • org_id (String, nil) (defaults to: nil)

    Organization id. Defaults to the org_id the client was constructed with.

  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

    Parsed JSON, shaped as LogWorkspaceQueryList — see sig/infrawrench/sdk.rbs.

Raises:



9151
9152
9153
9154
9155
9156
9157
9158
# File 'lib/infrawrench/client.rb', line 9151

def get(org_id: nil, request_options: nil)
  @transport.request(
    http_method: "GET",
    path: "/api/org/{orgId}/log-workspaces",
    path_params: { "orgId" => org_id },
    request_options: request_options
  )
end

#resources(org_id: nil, request_options: nil) ⇒ Hash

List log-capable resources

Synced resources whose rendered detail declares the logs capability — the candidates a log workspace can tail — plus sidecar streams reached through a peer integration (pods and workloads inside a managed cluster, listed live from the provider and marked with parentResourceId). Discovered from the plugin contract (never a hardcoded provider list), capped at 500 results.

Requires permission: resources:read.

GET /api/org/orgId/log-workspaces/resources

Parameters:

  • org_id (String, nil) (defaults to: nil)

    Organization id. Defaults to the org_id the client was constructed with.

  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

    Parsed JSON, shaped as LogCapableResourceList — see sig/infrawrench/sdk.rbs.

Raises:



9179
9180
9181
9182
9183
9184
9185
9186
# File 'lib/infrawrench/client.rb', line 9179

def resources(org_id: nil, request_options: nil)
  @transport.request(
    http_method: "GET",
    path: "/api/org/{orgId}/log-workspaces/resources",
    path_params: { "orgId" => org_id },
    request_options: request_options
  )
end

#update(query_id:, body:, org_id: nil, request_options: nil) ⇒ Hash

Update a saved log query

Edit the name, resource set, search expression and/or the alert toggle. Changing the search or the resources resets the alert pass's evaluation state; turning the alert on makes the query due for evaluation immediately. Audit-logged.

Requires permission: resources:write.

PUT /api/org/orgId/log-workspaces/queryId

Raises on 400: Bad request

Raises on 404: Not found

Raises on 409: A saved query with this name already exists

Parameters:

  • org_id (String, nil) (defaults to: nil)

    Organization id. Defaults to the org_id the client was constructed with.

  • query_id (String)
  • body (Hash)

    Request body, shaped as LogWorkspaceQueryUpdate.

  • request_options (Hash, nil) (defaults to: nil)

    Per-call :headers, :timeout and :open_timeout.

  • query_id: (String)
  • body: (log_workspace_query_update)
  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

    Parsed JSON, shaped as LogWorkspaceQuery — see sig/infrawrench/sdk.rbs.

Raises:



9212
9213
9214
9215
9216
9217
9218
9219
9220
# File 'lib/infrawrench/client.rb', line 9212

def update(query_id:, body:, org_id: nil, request_options: nil)
  @transport.request(
    http_method: "PUT",
    path: "/api/org/{orgId}/log-workspaces/{queryId}",
    path_params: { "orgId" => org_id, "queryId" => query_id },
    body: body,
    request_options: request_options
  )
end