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.
7541 7542 7543 7544 |
# File 'lib/infrawrench/client.rb', line 7541 def initialize(transport) @transport = transport @states = IacStatesNamespace.new(@transport) end |
Instance Attribute Details
#states ⇒ IacStatesNamespace (readonly)
Returns client.iac.states.
7537 7538 7539 |
# File 'lib/infrawrench/client.rb', line 7537 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
7566 7567 7568 7569 7570 7571 7572 7573 7574 |
# File 'lib/infrawrench/client.rb', line 7566 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
7596 7597 7598 7599 7600 7601 7602 7603 7604 |
# File 'lib/infrawrench/client.rb', line 7596 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
7625 7626 7627 7628 7629 7630 7631 7632 7633 |
# File 'lib/infrawrench/client.rb', line 7625 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 |