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:



11864
11865
11866
11867
11868
# File 'lib/infrawrench/client.rb', line 11864

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:



11858
11859
11860
# File 'lib/infrawrench/client.rb', line 11858

def manifest
  @manifest
end

#secret_versionsResourcesSecretVersionsNamespace (readonly)

Returns client.resources.secret_versions.

Returns:



11860
11861
11862
# File 'lib/infrawrench/client.rb', line 11860

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:



11886
11887
11888
11889
11890
11891
11892
11893
11894
# File 'lib/infrawrench/client.rb', line 11886

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

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

Estimated monthly cost of a configuration

Calls the plugin's estimateCost and returns a monthly total with the line items behind it. Price a proposed resource by passing fields, an existing one by passing resourceId, or a proposed change to an existing one by passing both — fields is merged over the resource's stored fields, so the caller only sends what changed. estimate is null when the plugin cannot price the configuration; that is not the same as an estimate of zero, and it should not be rendered as one.

Requires permission: resources:read.

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

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

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

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

  • body: (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:



11918
11919
11920
11921
11922
11923
11924
11925
11926
# File 'lib/infrawrench/client.rb', line 11918

def cost_estimate(body:, org_id: nil, request_options: nil)
  @transport.request(
    http_method: "POST",
    path: "/api/org/{orgId}/resources/cost-estimate",
    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:



11950
11951
11952
11953
11954
11955
11956
11957
11958
# File 'lib/infrawrench/client.rb', line 11950

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:



11979
11980
11981
11982
11983
11984
11985
11986
11987
# File 'lib/infrawrench/client.rb', line 11979

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_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:



12001
12002
12003
12004
12005
12006
12007
12008
12009
# File 'lib/infrawrench/client.rb', line 12001

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:



12035
12036
12037
12038
12039
12040
12041
12042
12043
12044
12045
12046
12047
12048
12049
12050
12051
12052
12053
12054
12055
# File 'lib/infrawrench/client.rb', line 12035

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:



12075
12076
12077
12078
12079
12080
12081
12082
12083
# File 'lib/infrawrench/client.rb', line 12075

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:



12111
12112
12113
12114
12115
12116
12117
12118
12119
12120
12121
12122
12123
12124
12125
12126
12127
12128
12129
12130
12131
12132
12133
# File 'lib/infrawrench/client.rb', line 12111

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:



12153
12154
12155
12156
12157
12158
12159
12160
12161
# File 'lib/infrawrench/client.rb', line 12153

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

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

Generate Terraform HCL for a resource (and its direct children) from stored state

Requires permission: resources:read.

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

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

  • 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_terraform_request)
  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

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

Raises:



12182
12183
12184
12185
12186
12187
12188
12189
12190
# File 'lib/infrawrench/client.rb', line 12182

def export_terraform(plugin_id:, type_id:, body:, org_id: nil, request_options: nil)
  @transport.request(
    http_method: "POST",
    path: "/api/org/{orgId}/resources/{pluginId}/{typeId}/export-terraform",
    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:



12211
12212
12213
12214
12215
12216
12217
12218
12219
# File 'lib/infrawrench/client.rb', line 12211

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:



12238
12239
12240
12241
12242
12243
12244
12245
12246
# File 'lib/infrawrench/client.rb', line 12238

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:



12271
12272
12273
12274
12275
12276
12277
12278
12279
# File 'lib/infrawrench/client.rb', line 12271

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:



12299
12300
12301
12302
12303
12304
12305
12306
12307
# File 'lib/infrawrench/client.rb', line 12299

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:



12331
12332
12333
12334
12335
12336
12337
12338
12339
# File 'lib/infrawrench/client.rb', line 12331

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:



12357
12358
12359
12360
12361
12362
12363
12364
12365
# File 'lib/infrawrench/client.rb', line 12357

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:



12384
12385
12386
12387
12388
12389
12390
12391
12392
# File 'lib/infrawrench/client.rb', line 12384

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:



12407
12408
12409
12410
12411
12412
12413
12414
12415
# File 'lib/infrawrench/client.rb', line 12407

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:



12442
12443
12444
12445
12446
12447
12448
12449
12450
# File 'lib/infrawrench/client.rb', line 12442

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