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:



11647
11648
11649
11650
11651
# File 'lib/infrawrench/client.rb', line 11647

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:



11641
11642
11643
# File 'lib/infrawrench/client.rb', line 11641

def manifest
  @manifest
end

#secret_versionsResourcesSecretVersionsNamespace (readonly)

Returns client.resources.secret_versions.

Returns:



11643
11644
11645
# File 'lib/infrawrench/client.rb', line 11643

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:



11669
11670
11671
11672
11673
11674
11675
11676
11677
# File 'lib/infrawrench/client.rb', line 11669

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:



11701
11702
11703
11704
11705
11706
11707
11708
11709
# File 'lib/infrawrench/client.rb', line 11701

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:



11733
11734
11735
11736
11737
11738
11739
11740
11741
# File 'lib/infrawrench/client.rb', line 11733

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:



11762
11763
11764
11765
11766
11767
11768
11769
11770
# File 'lib/infrawrench/client.rb', line 11762

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:



11784
11785
11786
11787
11788
11789
11790
11791
11792
# File 'lib/infrawrench/client.rb', line 11784

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:



11818
11819
11820
11821
11822
11823
11824
11825
11826
11827
11828
11829
11830
11831
11832
11833
11834
11835
11836
11837
11838
# File 'lib/infrawrench/client.rb', line 11818

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:



11858
11859
11860
11861
11862
11863
11864
11865
11866
# File 'lib/infrawrench/client.rb', line 11858

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:



11894
11895
11896
11897
11898
11899
11900
11901
11902
11903
11904
11905
11906
11907
11908
11909
11910
11911
11912
11913
11914
11915
11916
# File 'lib/infrawrench/client.rb', line 11894

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:



11936
11937
11938
11939
11940
11941
11942
11943
11944
# File 'lib/infrawrench/client.rb', line 11936

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:



11965
11966
11967
11968
11969
11970
11971
11972
11973
# File 'lib/infrawrench/client.rb', line 11965

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:



11994
11995
11996
11997
11998
11999
12000
12001
12002
# File 'lib/infrawrench/client.rb', line 11994

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:



12021
12022
12023
12024
12025
12026
12027
12028
12029
# File 'lib/infrawrench/client.rb', line 12021

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:



12054
12055
12056
12057
12058
12059
12060
12061
12062
# File 'lib/infrawrench/client.rb', line 12054

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:



12082
12083
12084
12085
12086
12087
12088
12089
12090
# File 'lib/infrawrench/client.rb', line 12082

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:



12114
12115
12116
12117
12118
12119
12120
12121
12122
# File 'lib/infrawrench/client.rb', line 12114

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:



12140
12141
12142
12143
12144
12145
12146
12147
12148
# File 'lib/infrawrench/client.rb', line 12140

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:



12167
12168
12169
12170
12171
12172
12173
12174
12175
# File 'lib/infrawrench/client.rb', line 12167

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:



12190
12191
12192
12193
12194
12195
12196
12197
12198
# File 'lib/infrawrench/client.rb', line 12190

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:



12225
12226
12227
12228
12229
12230
12231
12232
12233
# File 'lib/infrawrench/client.rb', line 12225

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