Class: Infrawrench::ResourcesNamespace
- Inherits:
-
Object
- Object
- Infrawrench::ResourcesNamespace
- Defined in:
- lib/infrawrench/client.rb,
sig/infrawrench/sdk.rbs
Overview
client.resources
Instance Attribute Summary collapse
-
#manifest ⇒ ResourcesManifestNamespace
readonly
client.resources.manifest. -
#secret_versions ⇒ ResourcesSecretVersionsNamespace
readonly
client.resources.secret_versions.
Instance Method Summary collapse
-
#attach(body:, org_id: nil, request_options: nil) ⇒ Hash
Attach a resource onto another (e.g. disk → VM).
-
#create(body:, org_id: nil, request_options: nil) ⇒ Hash
Create a new resource via its plugin.
-
#create_config(body:, org_id: nil, request_options: nil) ⇒ Hash
Get the dynamic create form for a resource type.
-
#create_cost_estimate(body:, org_id: nil, request_options: nil) ⇒ Hash
Cost estimate for the current create form values.
-
#create_pricing(body:, org_id: nil, request_options: nil) ⇒ Hash
Pricing per size for a create form.
-
#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.
-
#describe(plugin_id:, type_id:, body:, org_id: nil, request_options: nil) ⇒ Hash
Get human-readable describe text for a resource.
-
#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.
-
#export_credential(plugin_id:, type_id:, body:, org_id: nil, request_options: nil) ⇒ Hash
Export a credential file for a resource (one-time reveal).
-
#field_action(body:, org_id: nil, request_options: nil) ⇒ Hash
Execute an in-form field action (e.g. generate an IAM role).
-
#import_yaml(plugin_id:, body:, org_id: nil, request_options: nil) ⇒ Hash
Bulk-import resources from YAML (kubectl apply -f equivalent).
-
#initialize(transport) ⇒ ResourcesNamespace
constructor
private
A new instance of ResourcesNamespace.
-
#invoke_action(body:, org_id: nil, request_options: nil) ⇒ Hash
Invoke a plugin-defined action on a resource.
-
#logs(plugin_id:, type_id:, body:, org_id: nil, request_options: nil) ⇒ Hash
Fetch logs for a resource.
-
#metrics(plugin_id:, type_id:, body:, org_id: nil, request_options: nil) ⇒ Hash
Fetch metric series for a resource.
-
#nosql_command(body:, org_id: nil, request_options: nil) ⇒ Hash
Run a NoSQL document-browser command (e.g. MongoDB shell).
-
#peer_panes(plugin_id:, type_id:, body:, org_id: nil, request_options: nil) ⇒ Array<Hash>
Lazy-fetch peer-integration panes for a resource.
-
#picker_resources(body:, org_id: nil, request_options: nil) ⇒ Array<Hash>
Fetch options for a
resource-pickerfield. -
#update(body:, org_id: nil, request_options: nil) ⇒ Hash
Update a resource via its plugin.
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.
3452 3453 3454 3455 3456 |
# File 'lib/infrawrench/client.rb', line 3452 def initialize(transport) @transport = transport @manifest = ResourcesManifestNamespace.new(@transport) @secret_versions = ResourcesSecretVersionsNamespace.new(@transport) end |
Instance Attribute Details
#manifest ⇒ ResourcesManifestNamespace (readonly)
Returns client.resources.manifest.
3446 3447 3448 |
# File 'lib/infrawrench/client.rb', line 3446 def manifest @manifest end |
#secret_versions ⇒ ResourcesSecretVersionsNamespace (readonly)
Returns client.resources.secret_versions.
3448 3449 3450 |
# File 'lib/infrawrench/client.rb', line 3448 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
3474 3475 3476 3477 3478 3479 3480 3481 3482 |
# File 'lib/infrawrench/client.rb', line 3474 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: ) 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
3501 3502 3503 3504 3505 3506 3507 3508 3509 |
# File 'lib/infrawrench/client.rb', line 3501 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: ) 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
3530 3531 3532 3533 3534 3535 3536 3537 3538 |
# File 'lib/infrawrench/client.rb', line 3530 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: ) 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
3552 3553 3554 3555 3556 3557 3558 3559 3560 |
# File 'lib/infrawrench/client.rb', line 3552 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: ) 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
3574 3575 3576 3577 3578 3579 3580 3581 3582 |
# File 'lib/infrawrench/client.rb', line 3574 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: ) 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
3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 |
# File 'lib/infrawrench/client.rb', line 3604 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" => account_id, "parentResourceId" => parent_resource_id }, 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
3644 3645 3646 3647 3648 3649 3650 3651 3652 |
# File 'lib/infrawrench/client.rb', line 3644 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: ) 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
3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 |
# File 'lib/infrawrench/client.rb', line 3680 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" => account_id, "parentResourceId" => parent_resource_id, "includePeerPanes" => include_peer_panes }, 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
3722 3723 3724 3725 3726 3727 3728 3729 3730 |
# File 'lib/infrawrench/client.rb', line 3722 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: ) 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
3751 3752 3753 3754 3755 3756 3757 3758 3759 |
# File 'lib/infrawrench/client.rb', line 3751 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: ) 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
3778 3779 3780 3781 3782 3783 3784 3785 3786 |
# File 'lib/infrawrench/client.rb', line 3778 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: ) end |
#invoke_action(body:, org_id: nil, request_options: nil) ⇒ Hash
Invoke a plugin-defined action on a resource
Requires permission: resources:write.
POST /api/org/orgId/resources/invoke-action
Raises on 400: Bad request
Raises on 404: Not found
3804 3805 3806 3807 3808 3809 3810 3811 3812 |
# File 'lib/infrawrench/client.rb', line 3804 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: ) 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
3832 3833 3834 3835 3836 3837 3838 3839 3840 |
# File 'lib/infrawrench/client.rb', line 3832 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: ) 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
3864 3865 3866 3867 3868 3869 3870 3871 3872 |
# File 'lib/infrawrench/client.rb', line 3864 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: ) 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
3890 3891 3892 3893 3894 3895 3896 3897 3898 |
# File 'lib/infrawrench/client.rb', line 3890 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: ) 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
3917 3918 3919 3920 3921 3922 3923 3924 3925 |
# File 'lib/infrawrench/client.rb', line 3917 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: ) 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
3940 3941 3942 3943 3944 3945 3946 3947 3948 |
# File 'lib/infrawrench/client.rb', line 3940 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: ) 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.
POST /api/org/orgId/resources/update
Raises on 400: Bad request
Raises on 404: Not found
3969 3970 3971 3972 3973 3974 3975 3976 3977 |
# File 'lib/infrawrench/client.rb', line 3969 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: ) end |