Class: Infrawrench::IacNamespace
- Inherits:
-
Object
- Object
- Infrawrench::IacNamespace
- Defined in:
- lib/infrawrench/client.rb,
sig/infrawrench/sdk.rbs
Overview
client.iac
Instance Attribute Summary collapse
-
#states ⇒ IacStatesNamespace
readonly
client.iac.states.
Instance Method Summary collapse
-
#import_plan(org_id: nil, body: nil, request_options: nil) ⇒ Hash
Generate Terraform import blocks for unmanaged resources.
-
#initialize(transport) ⇒ IacNamespace
constructor
private
A new instance of IacNamespace.
-
#reconciliation(state_id:, org_id: nil, request_options: nil) ⇒ Hash
Classify inventory against a state document.
-
#resource(resource_id:, org_id: nil, request_options: nil) ⇒ Hash
IaC status for one resource.
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.
7670 7671 7672 7673 |
# File 'lib/infrawrench/client.rb', line 7670 def initialize(transport) @transport = transport @states = IacStatesNamespace.new(@transport) end |
Instance Attribute Details
#states ⇒ IacStatesNamespace (readonly)
Returns client.iac.states.
7666 7667 7668 |
# File 'lib/infrawrench/client.rb', line 7666 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
7695 7696 7697 7698 7699 7700 7701 7702 7703 |
# File 'lib/infrawrench/client.rb', line 7695 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: ) 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
7725 7726 7727 7728 7729 7730 7731 7732 7733 |
# File 'lib/infrawrench/client.rb', line 7725 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: ) 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
7754 7755 7756 7757 7758 7759 7760 7761 7762 |
# File 'lib/infrawrench/client.rb', line 7754 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: ) end |