Class: Infrawrench::AccountsNamespace
- Inherits:
-
Object
- Object
- Infrawrench::AccountsNamespace
- Defined in:
- lib/infrawrench/client.rb,
sig/infrawrench/sdk.rbs
Overview
client.accounts
Instance Attribute Summary collapse
-
#credentials ⇒ AccountsCredentialsNamespace
readonly
client.accounts.credentials. -
#plugins ⇒ AccountsPluginsNamespace
readonly
client.accounts.plugins. -
#preflight ⇒ AccountsPreflightNamespace
readonly
client.accounts.preflight. -
#sync_type ⇒ AccountsSyncTypeNamespace
readonly
client.accounts.sync_type.
Instance Method Summary collapse
-
#create(body:, org_id: nil, request_options: nil) ⇒ Hash
Create an account.
-
#delete(id:, org_id: nil, request_options: nil) ⇒ Hash
Delete an account.
-
#detail(id:, org_id: nil, request_options: nil) ⇒ Hash
Account metadata + resource type list.
-
#initialize(transport) ⇒ AccountsNamespace
constructor
private
A new instance of AccountsNamespace.
-
#list(org_id: nil, request_options: nil) ⇒ Array<Hash>
List accounts in this organization.
-
#resources(id:, org_id: nil, top_level_only: nil, request_options: nil) ⇒ Array<Hash>
List cached resources for an account.
-
#sync(id:, org_id: nil, request_options: nil) ⇒ Hash
Sync all resource types for an account.
-
#update(id:, body:, org_id: nil, request_options: nil) ⇒ Hash
Update an account (rename and/or change bastion binding).
Constructor Details
#initialize(transport) ⇒ AccountsNamespace
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 AccountsNamespace.
259 260 261 262 263 264 265 |
# File 'lib/infrawrench/client.rb', line 259 def initialize(transport) @transport = transport @credentials = AccountsCredentialsNamespace.new(@transport) @plugins = AccountsPluginsNamespace.new(@transport) @preflight = AccountsPreflightNamespace.new(@transport) @sync_type = AccountsSyncTypeNamespace.new(@transport) end |
Instance Attribute Details
#credentials ⇒ AccountsCredentialsNamespace (readonly)
Returns client.accounts.credentials.
249 250 251 |
# File 'lib/infrawrench/client.rb', line 249 def credentials @credentials end |
#plugins ⇒ AccountsPluginsNamespace (readonly)
Returns client.accounts.plugins.
251 252 253 |
# File 'lib/infrawrench/client.rb', line 251 def plugins @plugins end |
#preflight ⇒ AccountsPreflightNamespace (readonly)
Returns client.accounts.preflight.
253 254 255 |
# File 'lib/infrawrench/client.rb', line 253 def preflight @preflight end |
#sync_type ⇒ AccountsSyncTypeNamespace (readonly)
Returns client.accounts.sync_type.
255 256 257 |
# File 'lib/infrawrench/client.rb', line 255 def sync_type @sync_type end |
Instance Method Details
#create(body:, org_id: nil, request_options: nil) ⇒ Hash
Create an account
Stores encrypted credentials and triggers a first sync. syncError is set
if the initial sync failed (the account row is still created).
Requires permission: accounts:write.
POST /api/org/orgId/accounts
Raises on 400: Bad request
Raises on 402: Payment required — the organization's plan does not include this
288 289 290 291 292 293 294 295 296 |
# File 'lib/infrawrench/client.rb', line 288 def create(body:, org_id: nil, request_options: nil) @transport.request( http_method: "POST", path: "/api/org/{orgId}/accounts", path_params: { "orgId" => org_id }, body: body, request_options: ) end |
#delete(id:, org_id: nil, request_options: nil) ⇒ Hash
Delete an account
Requires permission: accounts:delete.
DELETE /api/org/orgId/accounts/id
310 311 312 313 314 315 316 317 |
# File 'lib/infrawrench/client.rb', line 310 def delete(id:, org_id: nil, request_options: nil) @transport.request( http_method: "DELETE", path: "/api/org/{orgId}/accounts/{id}", path_params: { "orgId" => org_id, "id" => id }, request_options: ) end |
#detail(id:, org_id: nil, request_options: nil) ⇒ Hash
Account metadata + resource type list
Requires permission: accounts:read.
GET /api/org/orgId/accounts/id/detail
Raises on 404: Not found
333 334 335 336 337 338 339 340 |
# File 'lib/infrawrench/client.rb', line 333 def detail(id:, org_id: nil, request_options: nil) @transport.request( http_method: "GET", path: "/api/org/{orgId}/accounts/{id}/detail", path_params: { "orgId" => org_id, "id" => id }, request_options: ) end |
#list(org_id: nil, request_options: nil) ⇒ Array<Hash>
List accounts in this organization
Requires permission: accounts:read.
GET /api/org/orgId/accounts
354 355 356 357 358 359 360 361 |
# File 'lib/infrawrench/client.rb', line 354 def list(org_id: nil, request_options: nil) @transport.request( http_method: "GET", path: "/api/org/{orgId}/accounts", path_params: { "orgId" => org_id }, request_options: ) end |
#resources(id:, org_id: nil, top_level_only: nil, request_options: nil) ⇒ Array<Hash>
List cached resources for an account
Requires permission: resources:read.
GET /api/org/orgId/accounts/id/resources
378 379 380 381 382 383 384 385 386 |
# File 'lib/infrawrench/client.rb', line 378 def resources(id:, org_id: nil, top_level_only: nil, request_options: nil) @transport.request( http_method: "GET", path: "/api/org/{orgId}/accounts/{id}/resources", path_params: { "orgId" => org_id, "id" => id }, query: { "topLevelOnly" => top_level_only }, request_options: ) end |
#sync(id:, org_id: nil, request_options: nil) ⇒ Hash
Sync all resource types for an account
Requires permission: resources:read.
POST /api/org/orgId/accounts/id/sync
400 401 402 403 404 405 406 407 |
# File 'lib/infrawrench/client.rb', line 400 def sync(id:, org_id: nil, request_options: nil) @transport.request( http_method: "POST", path: "/api/org/{orgId}/accounts/{id}/sync", path_params: { "orgId" => org_id, "id" => id }, request_options: ) end |
#update(id:, body:, org_id: nil, request_options: nil) ⇒ Hash
Update an account (rename and/or change bastion binding)
Requires permission: accounts:write.
PATCH /api/org/orgId/accounts/id
Raises on 400: Bad request
Raises on 404: Not found
426 427 428 429 430 431 432 433 434 |
# File 'lib/infrawrench/client.rb', line 426 def update(id:, body:, org_id: nil, request_options: nil) @transport.request( http_method: "PATCH", path: "/api/org/{orgId}/accounts/{id}", path_params: { "orgId" => org_id, "id" => id }, body: body, request_options: ) end |