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.
4167 4168 4169 |
# File 'lib/infrawrench/client.rb', line 4167 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
4198 4199 4200 4201 4202 4203 4204 4205 4206 |
# File 'lib/infrawrench/client.rb', line 4198 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
4222 4223 4224 4225 4226 4227 4228 4229 4230 |
# File 'lib/infrawrench/client.rb', line 4222 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
4249 4250 4251 4252 4253 4254 4255 4256 |
# File 'lib/infrawrench/client.rb', line 4249 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
4275 4276 4277 4278 4279 4280 4281 4282 4283 |
# File 'lib/infrawrench/client.rb', line 4275 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
4305 4306 4307 4308 4309 4310 4311 4312 4313 |
# File 'lib/infrawrench/client.rb', line 4305 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 |