Class: Infrawrench::IacNamespace

Inherits:
Object
  • Object
show all
Defined in:
lib/infrawrench/client.rb,
sig/infrawrench/sdk.rbs

Overview

client.iac

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(transport) ⇒ IacNamespace

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

Parameters:



8264
8265
8266
8267
# File 'lib/infrawrench/client.rb', line 8264

def initialize(transport)
  @transport = transport
  @states = IacStatesNamespace.new(@transport)
end

Instance Attribute Details

#statesIacStatesNamespace (readonly)

Returns client.iac.states.

Returns:



8260
8261
8262
# File 'lib/infrawrench/client.rb', line 8260

def states
  @states
end

Instance Method Details

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

Generate Terraform import blocks for unmanaged resources

Terraform 1.5+ import blocks plus the matching resource stanzas, generated by the same plugin export mappers and HCL serializer that back "Export to Terraform…". Resources no plugin can express are returned in unsupported with a reason, never dropped.

POST /api/org/orgId/iac/import-plan

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, nil) (defaults to: nil)

    Request body, shaped as IacImportPlanRequest.

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

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

  • org_id: (String, nil) (defaults to: nil)
  • body: (iac_import_plan_request, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

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

Raises:



8289
8290
8291
8292
8293
8294
8295
8296
8297
# File 'lib/infrawrench/client.rb', line 8289

def import_plan(org_id: nil, body: nil, request_options: nil)
  @transport.request(
    http_method: "POST",
    path: "/api/org/{orgId}/iac/import-plan",
    path_params: { "orgId" => org_id },
    body: body,
    request_options: request_options
  )
end

#reconciliation(state_id:, org_id: nil, request_options: nil) ⇒ Hash

Classify inventory against a state document

Every synced resource classified as managed, drifted or unmanaged against one uploaded state, plus state entries with no inventory match. Unmanaged resources carry the ownership and first-seen join that answers "who made this by hand, and when".

GET /api/org/orgId/iac/reconciliation

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.

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

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

  • state_id: (String)
  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

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

Raises:



8319
8320
8321
8322
8323
8324
8325
8326
8327
# File 'lib/infrawrench/client.rb', line 8319

def reconciliation(state_id:, org_id: nil, request_options: nil)
  @transport.request(
    http_method: "GET",
    path: "/api/org/{orgId}/iac/reconciliation",
    path_params: { "orgId" => org_id },
    query: { "stateId" => state_id },
    request_options: request_options
  )
end

#resource(resource_id:, org_id: nil, request_options: nil) ⇒ Hash

IaC status for one resource

The managed/unmanaged badge for a resource detail page, computed against the newest state document. status is null when the organization has uploaded none — absence of a state is not evidence of ClickOps. A query parameter rather than a path segment because composite resource ids contain slashes.

GET /api/org/orgId/iac/resource

Raises on 400: Bad request

Parameters:

  • org_id (String, nil) (defaults to: nil)

    Organization id. Defaults to the org_id the client was constructed with.

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

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

  • resource_id: (String)
  • org_id: (String, nil) (defaults to: nil)
  • request_options: (Hash[Symbol, untyped], nil) (defaults to: nil)

Returns:

  • (Hash)

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

Raises:



8348
8349
8350
8351
8352
8353
8354
8355
8356
# File 'lib/infrawrench/client.rb', line 8348

def resource(resource_id:, org_id: nil, request_options: nil)
  @transport.request(
    http_method: "GET",
    path: "/api/org/{orgId}/iac/resource",
    path_params: { "orgId" => org_id },
    query: { "resourceId" => resource_id },
    request_options: request_options
  )
end