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:



12464
12465
12466
12467
12468
# File 'lib/infrawrench/client.rb', line 12464

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:



12458
12459
12460
# File 'lib/infrawrench/client.rb', line 12458

def manifest
  @manifest
end

#secret_versionsResourcesSecretVersionsNamespace (readonly)

Returns client.resources.secret_versions.

Returns:



12460
12461
12462
# File 'lib/infrawrench/client.rb', line 12460

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:



12486
12487
12488
12489
12490
12491
12492
12493
12494
# File 'lib/infrawrench/client.rb', line 12486

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:



12518
12519
12520
12521
12522
12523
12524
12525
12526
# File 'lib/infrawrench/client.rb', line 12518

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:



12550
12551
12552
12553
12554
12555
12556
12557
12558
# File 'lib/infrawrench/client.rb', line 12550

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:



12579
12580
12581
12582
12583
12584
12585
12586
12587
# File 'lib/infrawrench/client.rb', line 12579

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:



12601
12602
12603
12604
12605
12606
12607
12608
12609
# File 'lib/infrawrench/client.rb', line 12601

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:



12635
12636
12637
12638
12639
12640
12641
12642
12643
12644
12645
12646
12647
12648
12649
12650
12651
12652
12653
12654
12655
# File 'lib/infrawrench/client.rb', line 12635

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:



12675
12676
12677
12678
12679
12680
12681
12682
12683
# File 'lib/infrawrench/client.rb', line 12675

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:



12711
12712
12713
12714
12715
12716
12717
12718
12719
12720
12721
12722
12723
12724
12725
12726
12727
12728
12729
12730
12731
12732
12733
# File 'lib/infrawrench/client.rb', line 12711

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:



12753
12754
12755
12756
12757
12758
12759
12760
12761
# File 'lib/infrawrench/client.rb', line 12753

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:



12782
12783
12784
12785
12786
12787
12788
12789
12790
# File 'lib/infrawrench/client.rb', line 12782

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:



12811
12812
12813
12814
12815
12816
12817
12818
12819
# File 'lib/infrawrench/client.rb', line 12811

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:



12838
12839
12840
12841
12842
12843
12844
12845
12846
# File 'lib/infrawrench/client.rb', line 12838

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:



12871
12872
12873
12874
12875
12876
12877
12878
12879
# File 'lib/infrawrench/client.rb', line 12871

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:



12899
12900
12901
12902
12903
12904
12905
12906
12907
# File 'lib/infrawrench/client.rb', line 12899

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:



12931
12932
12933
12934
12935
12936
12937
12938
12939
# File 'lib/infrawrench/client.rb', line 12931

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:



12957
12958
12959
12960
12961
12962
12963
12964
12965
# File 'lib/infrawrench/client.rb', line 12957

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:



12984
12985
12986
12987
12988
12989
12990
12991
12992
# File 'lib/infrawrench/client.rb', line 12984

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:



13007
13008
13009
13010
13011
13012
13013
13014
13015
# File 'lib/infrawrench/client.rb', line 13007

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:



13042
13043
13044
13045
13046
13047
13048
13049
13050
# File 'lib/infrawrench/client.rb', line 13042

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