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.
3828 3829 3830 |
# File 'lib/infrawrench/client.rb', line 3828 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
3859 3860 3861 3862 3863 3864 3865 3866 3867 |
# File 'lib/infrawrench/client.rb', line 3859 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
3883 3884 3885 3886 3887 3888 3889 3890 3891 |
# File 'lib/infrawrench/client.rb', line 3883 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
3910 3911 3912 3913 3914 3915 3916 3917 |
# File 'lib/infrawrench/client.rb', line 3910 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
3936 3937 3938 3939 3940 3941 3942 3943 3944 |
# File 'lib/infrawrench/client.rb', line 3936 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
3966 3967 3968 3969 3970 3971 3972 3973 3974 |
# File 'lib/infrawrench/client.rb', line 3966 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 |