Class: Infrawrench::ResourcesNamespace

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

Overview

client.resources

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(transport) ⇒ ResourcesNamespace

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

Parameters:



5043
5044
5045
5046
5047
# File 'lib/infrawrench/client.rb', line 5043

def initialize(transport)
  @transport = transport
  @manifest = ResourcesManifestNamespace.new(@transport)
  @secret_versions = ResourcesSecretVersionsNamespace.new(@transport)
end

Instance Attribute Details

#manifestResourcesManifestNamespace (readonly)

Returns client.resources.manifest.

Returns:



5037
5038
5039
# File 'lib/infrawrench/client.rb', line 5037

def manifest
  @manifest
end

#secret_versionsResourcesSecretVersionsNamespace (readonly)

Returns client.resources.secret_versions.

Returns:



5039
5040
5041
# File 'lib/infrawrench/client.rb', line 5039

def secret_versions
  @secret_versions
end

Instance Method Details

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

Attach a resource onto another (e.g. disk → VM)

Requires permission: resources:write.

POST /api/org/orgId/resources/attach

Raises on 400: Bad request

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.

  • body (Hash)

    Request body, shaped as AttachRequest.

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

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

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

Returns:

  • (Hash)

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

Raises:



5065
5066
5067
5068
5069
5070
5071
5072
5073
# File 'lib/infrawrench/client.rb', line 5065

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

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

Create a new resource via its plugin

Requires permission: resources:write.

POST /api/org/orgId/resources/create

Raises on 400: Bad request

Raises on 404: Not found

Raises on 422: Blocked by the organization's tag policy: the submitted fields are missing a required tag (or carry a disallowed value). Retry with the x-tag-policy-override: true header if you hold tag-policy:override; both blocks and overrides are audit-logged.

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

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

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

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

Returns:

  • (Hash)

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

Raises:



5097
5098
5099
5100
5101
5102
5103
5104
5105
# File 'lib/infrawrench/client.rb', line 5097

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

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

Get the dynamic create form for a resource type

Calls the plugin's getCreateConfig. The returned CreateResourceConfig is plugin-shaped — see JsonObject.

Requires permission: resources:write.

POST /api/org/orgId/resources/create-config

Raises on 400: Bad request

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.

  • body (Hash)

    Request body, shaped as CreateConfigRequest.

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

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

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

Returns:

  • (Hash)

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

Raises:



5126
5127
5128
5129
5130
5131
5132
5133
5134
# File 'lib/infrawrench/client.rb', line 5126

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

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

Cost estimate for the current create form values

Requires permission: resources:read.

POST /api/org/orgId/resources/create-cost-estimate

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

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

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

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

Returns:

  • (Hash)

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

Raises:



5148
5149
5150
5151
5152
5153
5154
5155
5156
# File 'lib/infrawrench/client.rb', line 5148

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

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

Pricing per size for a create form

Requires permission: resources:read.

POST /api/org/orgId/resources/create-pricing

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

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

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

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

Returns:

  • (Hash)

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

Raises:



5170
5171
5172
5173
5174
5175
5176
5177
5178
# File 'lib/infrawrench/client.rb', line 5170

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

#delete(plugin_id:, type_id:, resource_id:, account_id:, org_id: nil, parent_resource_id: nil, request_options: nil) ⇒ Hash

Delete a resource via the plugin

Requires permission: resources:delete.

DELETE /api/org/orgId/resources/pluginId/typeId

Raises on 400: Bad request

Raises on 404: Not found

Raises on 423: Blocked by an active change freeze. Retry with the x-change-freeze-override: true header if you hold freezes:override; both blocks and overrides are audit-logged.

Parameters:

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

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

  • plugin_id (String)
  • type_id (String)
  • resource_id (String)
  • account_id (String)
  • parent_resource_id (String, nil) (defaults to: nil)
  • request_options (Hash, nil) (defaults to: nil)

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

  • plugin_id: (plugin_id)
  • type_id: (resource_type_id)
  • resource_id: (resource_id)
  • account_id: (String)
  • org_id: (String, nil) (defaults to: nil)
  • parent_resource_id: (resource_id, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

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

Raises:



5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
# File 'lib/infrawrench/client.rb', line 5204

def delete(
  plugin_id:,
  type_id:,
  resource_id:,
  account_id:,
  org_id: nil,
  parent_resource_id: nil,
  request_options: nil
)
  @transport.request(
    http_method: "DELETE",
    path: "/api/org/{orgId}/resources/{pluginId}/{typeId}",
    path_params: { "orgId" => org_id, "pluginId" => plugin_id, "typeId" => type_id },
    query: {
      "resourceId" => resource_id,
      "accountId" => ,
      "parentResourceId" => parent_resource_id
    },
    request_options: request_options
  )
end

#describe(plugin_id:, type_id:, body:, org_id: nil, request_options: nil) ⇒ Hash

Get human-readable describe text for a resource

Requires permission: resources:read.

POST /api/org/orgId/resources/pluginId/typeId/describe

Raises on 400: Bad request

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.

  • plugin_id (String)
  • type_id (String)
  • body (Hash)

    Request body, shaped as DescribeRequest.

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

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

  • plugin_id: (plugin_id)
  • type_id: (resource_type_id)
  • body: (describe_request)
  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

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

Raises:



5244
5245
5246
5247
5248
5249
5250
5251
5252
# File 'lib/infrawrench/client.rb', line 5244

def describe(plugin_id:, type_id:, body:, org_id: nil, request_options: nil)
  @transport.request(
    http_method: "POST",
    path: "/api/org/{orgId}/resources/{pluginId}/{typeId}/describe",
    path_params: { "orgId" => org_id, "pluginId" => plugin_id, "typeId" => type_id },
    body: body,
    request_options: request_options
  )
end

#detail(plugin_id:, type_id:, resource_id:, org_id: nil, account_id: nil, parent_resource_id: nil, include_peer_panes: nil, request_options: nil) ⇒ Hash

Full resource detail page payload

Performs a live listResources against the provider, falls back to DB on failure, and returns the plugin's renderDetail schema plus host-derived flags (SQL/KV/SSH availability, child resources, peer panes, etc).

Requires permission: resources:read.

GET /api/org/orgId/resources/pluginId/typeId/detail

Raises on 400: Bad request

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.

  • plugin_id (String)
  • type_id (String)
  • resource_id (String)
  • account_id (String, nil) (defaults to: nil)
  • parent_resource_id (String, nil) (defaults to: nil)
  • include_peer_panes (String, nil) (defaults to: nil)

    Default true. If false, peer panes are returned as stubs.

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

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

  • plugin_id: (plugin_id)
  • type_id: (resource_type_id)
  • resource_id: (resource_id)
  • org_id: (String, nil) (defaults to: nil)
  • account_id: (String, nil) (defaults to: nil)
  • parent_resource_id: (resource_id, nil) (defaults to: nil)
  • include_peer_panes: ("true", "false", nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

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

Raises:



5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
# File 'lib/infrawrench/client.rb', line 5280

def detail(
  plugin_id:,
  type_id:,
  resource_id:,
  org_id: nil,
  account_id: nil,
  parent_resource_id: nil,
  include_peer_panes: nil,
  request_options: nil
)
  @transport.request(
    http_method: "GET",
    path: "/api/org/{orgId}/resources/{pluginId}/{typeId}/detail",
    path_params: { "orgId" => org_id, "pluginId" => plugin_id, "typeId" => type_id },
    query: {
      "resourceId" => resource_id,
      "accountId" => ,
      "parentResourceId" => parent_resource_id,
      "includePeerPanes" => include_peer_panes
    },
    request_options: request_options
  )
end

#export_credential(plugin_id:, type_id:, body:, org_id: nil, request_options: nil) ⇒ Hash

Export a credential file for a resource (one-time reveal)

Requires permission: secrets:read.

POST /api/org/orgId/resources/pluginId/typeId/export-credential

Raises on 400: Bad request

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.

  • plugin_id (String)
  • type_id (String)
  • body (Hash)

    Request body, shaped as ExportCredentialRequest.

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

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

  • plugin_id: (plugin_id)
  • type_id: (resource_type_id)
  • body: (export_credential_request)
  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

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

Raises:



5322
5323
5324
5325
5326
5327
5328
5329
5330
# File 'lib/infrawrench/client.rb', line 5322

def export_credential(plugin_id:, type_id:, body:, org_id: nil, request_options: nil)
  @transport.request(
    http_method: "POST",
    path: "/api/org/{orgId}/resources/{pluginId}/{typeId}/export-credential",
    path_params: { "orgId" => org_id, "pluginId" => plugin_id, "typeId" => type_id },
    body: body,
    request_options: request_options
  )
end

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

Execute an in-form field action (e.g. generate an IAM role)

Calls the plugin's executeFieldAction. Returns { value } to assign to the field; for select fields the optional option should be spliced into the options list so the new value can be displayed.

POST /api/org/orgId/resources/field-action

Raises on 400: Bad request

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.

  • body (Hash)

    Request body, shaped as FieldActionRequest.

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

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

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

Returns:

  • (Hash)

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

Raises:



5351
5352
5353
5354
5355
5356
5357
5358
5359
# File 'lib/infrawrench/client.rb', line 5351

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

#import_yaml(plugin_id:, body:, org_id: nil, request_options: nil) ⇒ Hash

Bulk-import resources from YAML (kubectl apply -f equivalent)

Requires permission: resources:write.

POST /api/org/orgId/resources/pluginId/import-yaml

Raises on 400: Bad request

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.

  • plugin_id (String)
  • body (Hash)

    Request body, shaped as ImportYamlRequest.

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

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

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

Returns:

  • (Hash)

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

Raises:



5378
5379
5380
5381
5382
5383
5384
5385
5386
# File 'lib/infrawrench/client.rb', line 5378

def import_yaml(plugin_id:, body:, org_id: nil, request_options: nil)
  @transport.request(
    http_method: "POST",
    path: "/api/org/{orgId}/resources/{pluginId}/import-yaml",
    path_params: { "orgId" => org_id, "pluginId" => plugin_id },
    body: body,
    request_options: request_options
  )
end

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

Invoke a plugin-defined action on a resource

Actions the plugin marks destructive: true in its detail schema are blocked with 423 while an org change freeze is in effect.

Requires permission: resources:write.

POST /api/org/orgId/resources/invoke-action

Raises on 400: Bad request

Raises on 404: Not found

Raises on 423: Blocked by an active change freeze. Retry with the x-change-freeze-override: true header if you hold freezes:override; both blocks and overrides are audit-logged.

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

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

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

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

Returns:

  • (Hash)

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

Raises:



5411
5412
5413
5414
5415
5416
5417
5418
5419
# File 'lib/infrawrench/client.rb', line 5411

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

#logs(plugin_id:, type_id:, body:, org_id: nil, request_options: nil) ⇒ Hash

Fetch logs for a resource

Requires permission: resources:read.

POST /api/org/orgId/resources/pluginId/typeId/logs

Raises on 400: Bad request

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.

  • plugin_id (String)
  • type_id (String)
  • body (Hash)

    Request body, shaped as LogsRequest.

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

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

  • plugin_id: (plugin_id)
  • type_id: (resource_type_id)
  • body: (logs_request)
  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

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

Raises:



5439
5440
5441
5442
5443
5444
5445
5446
5447
# File 'lib/infrawrench/client.rb', line 5439

def logs(plugin_id:, type_id:, body:, org_id: nil, request_options: nil)
  @transport.request(
    http_method: "POST",
    path: "/api/org/{orgId}/resources/{pluginId}/{typeId}/logs",
    path_params: { "orgId" => org_id, "pluginId" => plugin_id, "typeId" => type_id },
    body: body,
    request_options: request_options
  )
end

#metrics(plugin_id:, type_id:, body:, org_id: nil, request_options: nil) ⇒ Hash

Fetch metric series for a resource

Historical points from the metrics store when the resource has accumulated any (resources pinned to a dashboard are polled continuously); otherwise the series are fetched live from the provider on demand.

Requires permission: resources:read.

POST /api/org/orgId/resources/pluginId/typeId/metrics

Raises on 400: Bad request

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.

  • plugin_id (String)
  • type_id (String)
  • body (Hash)

    Request body, shaped as MetricsRequest.

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

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

  • plugin_id: (plugin_id)
  • type_id: (resource_type_id)
  • body: (metrics_request)
  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

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

Raises:



5471
5472
5473
5474
5475
5476
5477
5478
5479
# File 'lib/infrawrench/client.rb', line 5471

def metrics(plugin_id:, type_id:, body:, org_id: nil, request_options: nil)
  @transport.request(
    http_method: "POST",
    path: "/api/org/{orgId}/resources/{pluginId}/{typeId}/metrics",
    path_params: { "orgId" => org_id, "pluginId" => plugin_id, "typeId" => type_id },
    body: body,
    request_options: request_options
  )
end

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

Run a NoSQL document-browser command (e.g. MongoDB shell)

Requires permission: resources:execute.

POST /api/org/orgId/resources/nosql-command

Raises on 400: Bad request

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.

  • body (Hash)

    Request body, shaped as NoSqlCommandRequest.

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

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

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

Returns:

  • (Hash)

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

Raises:



5497
5498
5499
5500
5501
5502
5503
5504
5505
# File 'lib/infrawrench/client.rb', line 5497

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

#peer_panes(plugin_id:, type_id:, body:, org_id: nil, request_options: nil) ⇒ Array<Hash>

Lazy-fetch peer-integration panes for a resource

Requires permission: resources:read.

POST /api/org/orgId/resources/pluginId/typeId/peer-panes

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.

  • plugin_id (String)
  • type_id (String)
  • body (Hash)

    Request body, shaped as PeerPanesRequest.

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

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

  • plugin_id: (plugin_id)
  • type_id: (resource_type_id)
  • body: (peer_panes_request)
  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Array<Hash>)

    Parsed JSON, shaped as Array<PeerPane> — see sig/infrawrench/sdk.rbs.

Raises:



5524
5525
5526
5527
5528
5529
5530
5531
5532
# File 'lib/infrawrench/client.rb', line 5524

def peer_panes(plugin_id:, type_id:, body:, org_id: nil, request_options: nil)
  @transport.request(
    http_method: "POST",
    path: "/api/org/{orgId}/resources/{pluginId}/{typeId}/peer-panes",
    path_params: { "orgId" => org_id, "pluginId" => plugin_id, "typeId" => type_id },
    body: body,
    request_options: request_options
  )
end

#picker_resources(body:, org_id: nil, request_options: nil) ⇒ Array<Hash>

Fetch options for a resource-picker field

Requires permission: resources:read.

POST /api/org/orgId/resources/picker-resources

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

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

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

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

Returns:

  • (Array<Hash>)

    Parsed JSON, shaped as Array<PickerResource> — see sig/infrawrench/sdk.rbs.

Raises:



5547
5548
5549
5550
5551
5552
5553
5554
5555
# File 'lib/infrawrench/client.rb', line 5547

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

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

Update a resource via its plugin

Applies the supplied field changes upstream and persists the refreshed fields/display name to the DB. The body's fields map only carries the keys the caller actually changed. Blocked with 423 while an org change freeze is in effect (this is also the path that applies right-sizing recommendations); every applied update is audit-logged.

POST /api/org/orgId/resources/update

Raises on 400: Bad request

Raises on 404: Not found

Raises on 423: Blocked by an active change freeze. Retry with the x-change-freeze-override: true header if you hold freezes:override; both blocks and overrides are audit-logged.

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

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

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

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

Returns:

  • (Hash)

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

Raises:



5582
5583
5584
5585
5586
5587
5588
5589
5590
# File 'lib/infrawrench/client.rb', line 5582

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