Class: Infrawrench::CostAnnotationsNamespace
- Inherits:
-
Object
- Object
- Infrawrench::CostAnnotationsNamespace
- Defined in:
- lib/infrawrench/client.rb,
sig/infrawrench/sdk.rbs
Overview
client.cost_annotations
Instance Method Summary collapse
-
#change_impact(org_id: nil, body: nil, request_options: nil) ⇒ Hash
Pin a change's or deploy's cost impact onto the cost charts.
-
#create(body:, org_id: nil, request_options: nil) ⇒ Hash
Create a cost annotation.
-
#delete(id:, org_id: nil, request_options: nil) ⇒ Hash
Delete a cost annotation.
-
#get(org_id: nil, report_id: nil, request_options: nil) ⇒ Hash
List cost annotations.
-
#initialize(transport) ⇒ CostAnnotationsNamespace
constructor
private
A new instance of CostAnnotationsNamespace.
-
#update(id:, body:, org_id: nil, request_options: nil) ⇒ Hash
Update a cost annotation.
Constructor Details
#initialize(transport) ⇒ CostAnnotationsNamespace
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 CostAnnotationsNamespace.
3519 3520 3521 |
# File 'lib/infrawrench/client.rb', line 3519 def initialize(transport) @transport = transport end |
Instance Method Details
#change_impact(org_id: nil, body: nil, request_options: nil) ⇒ Hash
Pin a change's or deploy's cost impact onto the cost charts
Writes the finding as a cost annotation, so the step in the run rate is explained on the graph where it shows. Re-posting the same subject rewords the existing note rather than adding a second — which is what makes it safe to pin a finding again once the provider has finished restating. The note's date and report scope are never rewritten: they may have been edited deliberately.
A subject with no measurable impact is a 400, not a note reading
$0.00/day.
Requires permission: costs:write.
POST /api/org/orgId/cost-annotations/change-impact
Raises on 400: Bad request
Raises on 404: Not found
3550 3551 3552 3553 3554 3555 3556 3557 3558 |
# File 'lib/infrawrench/client.rb', line 3550 def change_impact(org_id: nil, body: nil, request_options: nil) @transport.request( http_method: "POST", path: "/api/org/{orgId}/cost-annotations/change-impact", path_params: { "orgId" => org_id }, body: body, request_options: ) end |
#create(body:, org_id: nil, request_options: nil) ⇒ Hash
Create a cost annotation
Requires permission: costs:write.
POST /api/org/orgId/cost-annotations
Raises on 400: Bad request
3574 3575 3576 3577 3578 3579 3580 3581 3582 |
# File 'lib/infrawrench/client.rb', line 3574 def create(body:, org_id: nil, request_options: nil) @transport.request( http_method: "POST", path: "/api/org/{orgId}/cost-annotations", path_params: { "orgId" => org_id }, body: body, request_options: ) end |
#delete(id:, org_id: nil, request_options: nil) ⇒ Hash
Delete a cost annotation
A hard delete. A withdrawn explanation should stop being drawn, and nothing references a note by id.
Requires permission: costs:write.
DELETE /api/org/orgId/cost-annotations/id
Raises on 404: Not found
3601 3602 3603 3604 3605 3606 3607 3608 |
# File 'lib/infrawrench/client.rb', line 3601 def delete(id:, org_id: nil, request_options: nil) @transport.request( http_method: "DELETE", path: "/api/org/{orgId}/cost-annotations/{id}", path_params: { "orgId" => org_id, "id" => id }, request_options: ) end |
#get(org_id: nil, report_id: nil, request_options: nil) ⇒ Hash
List cost annotations
Dated notes drawn over cost charts. With reportId, the set a chart for
that report draws: the org-wide notes plus that report's own. Without it,
every annotation in the org. Annotations are an overlay — they never
appear in a series, a total, or an axis.
Requires permission: costs:read.
GET /api/org/orgId/cost-annotations
3627 3628 3629 3630 3631 3632 3633 3634 3635 |
# File 'lib/infrawrench/client.rb', line 3627 def get(org_id: nil, report_id: nil, request_options: nil) @transport.request( http_method: "GET", path: "/api/org/{orgId}/cost-annotations", path_params: { "orgId" => org_id }, query: { "reportId" => report_id }, request_options: ) end |
#update(id:, body:, org_id: nil, request_options: nil) ⇒ Hash
Update a cost annotation
Replaces the note's dates, text and scope. Moving a note between org-wide
and one report is this same PUT with a different costReportId.
Requires permission: costs:write.
PUT /api/org/orgId/cost-annotations/id
Raises on 400: Bad request
Raises on 404: Not found
3657 3658 3659 3660 3661 3662 3663 3664 3665 |
# File 'lib/infrawrench/client.rb', line 3657 def update(id:, body:, org_id: nil, request_options: nil) @transport.request( http_method: "PUT", path: "/api/org/{orgId}/cost-annotations/{id}", path_params: { "orgId" => org_id, "id" => id }, body: body, request_options: ) end |