Class: Infrawrench::CostReportsNamespace
- Inherits:
-
Object
- Object
- Infrawrench::CostReportsNamespace
- Defined in:
- lib/infrawrench/client.rb,
sig/infrawrench/sdk.rbs
Overview
client.cost_reports
Instance Attribute Summary collapse
-
#notifications ⇒ CostReportsNotificationsNamespace
readonly
client.cost_reports.notifications.
Instance Method Summary collapse
-
#create(body:, org_id: nil, request_options: nil) ⇒ Hash
Create a cost report.
-
#delete(id:, org_id: nil, request_options: nil) ⇒ Hash
Delete a cost report.
-
#get(id:, org_id: nil, request_options: nil) ⇒ Hash
Get a cost report.
-
#initialize(transport) ⇒ CostReportsNamespace
constructor
private
A new instance of CostReportsNamespace.
-
#list(org_id: nil, request_options: nil) ⇒ Array<Hash>
List saved cost reports.
-
#run(id:, org_id: nil, request_options: nil) ⇒ Hash
Run a cost report.
-
#update(id:, body:, org_id: nil, request_options: nil) ⇒ Hash
Update a cost report.
Constructor Details
#initialize(transport) ⇒ CostReportsNamespace
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 CostReportsNamespace.
4744 4745 4746 4747 |
# File 'lib/infrawrench/client.rb', line 4744 def initialize(transport) @transport = transport @notifications = CostReportsNotificationsNamespace.new(@transport) end |
Instance Attribute Details
#notifications ⇒ CostReportsNotificationsNamespace (readonly)
Returns client.cost_reports.notifications.
4740 4741 4742 |
# File 'lib/infrawrench/client.rb', line 4740 def notifications @notifications end |
Instance Method Details
#create(body:, org_id: nil, request_options: nil) ⇒ Hash
Create a cost report
Requires permission: costs:write.
POST /api/org/orgId/cost-reports
Raises on 400: Bad request
4763 4764 4765 4766 4767 4768 4769 4770 4771 |
# File 'lib/infrawrench/client.rb', line 4763 def create(body:, org_id: nil, request_options: nil) @transport.request( http_method: "POST", path: "/api/org/{orgId}/cost-reports", path_params: { "orgId" => org_id }, body: body, request_options: ) end |
#delete(id:, org_id: nil, request_options: nil) ⇒ Hash
Delete a cost report
Soft delete. Every dashboard card pointing at the report is removed with it — a card whose report is gone could only ever render as an unavailable tile.
Requires permission: costs:write.
DELETE /api/org/orgId/cost-reports/id
Raises on 404: Not found
4791 4792 4793 4794 4795 4796 4797 4798 |
# File 'lib/infrawrench/client.rb', line 4791 def delete(id:, org_id: nil, request_options: nil) @transport.request( http_method: "DELETE", path: "/api/org/{orgId}/cost-reports/{id}", path_params: { "orgId" => org_id, "id" => id }, request_options: ) end |
#get(id:, org_id: nil, request_options: nil) ⇒ Hash
Get a cost report
Requires permission: costs:read.
GET /api/org/orgId/cost-reports/id
Raises on 404: Not found
4814 4815 4816 4817 4818 4819 4820 4821 |
# File 'lib/infrawrench/client.rb', line 4814 def get(id:, org_id: nil, request_options: nil) @transport.request( http_method: "GET", path: "/api/org/{orgId}/cost-reports/{id}", path_params: { "orgId" => org_id, "id" => id }, request_options: ) end |
#list(org_id: nil, request_options: nil) ⇒ Array<Hash>
List saved cost reports
Requires permission: costs:read.
GET /api/org/orgId/cost-reports
4835 4836 4837 4838 4839 4840 4841 4842 |
# File 'lib/infrawrench/client.rb', line 4835 def list(org_id: nil, request_options: nil) @transport.request( http_method: "GET", path: "/api/org/{orgId}/cost-reports", path_params: { "orgId" => org_id }, request_options: ) end |
#run(id:, org_id: nil, request_options: nil) ⇒ Hash
Run a cost report
Executes the report's saved config and returns the series, along with the inclusive window a relative preset resolved to. Takes no body: the report is the query, so a caller never has to reassemble its config to get the numbers.
Requires permission: costs:read.
POST /api/org/orgId/cost-reports/id/run
Raises on 400: Bad request
Raises on 404: Not found
4866 4867 4868 4869 4870 4871 4872 4873 |
# File 'lib/infrawrench/client.rb', line 4866 def run(id:, org_id: nil, request_options: nil) @transport.request( http_method: "POST", path: "/api/org/{orgId}/cost-reports/{id}/run", path_params: { "orgId" => org_id, "id" => id }, request_options: ) end |
#update(id:, body:, org_id: nil, request_options: nil) ⇒ Hash
Update a cost report
Replaces the report's name, description, config and folder. Every dashboard showing the report picks up the new config — that is what referencing a report by id buys.
Requires permission: costs:write.
PUT /api/org/orgId/cost-reports/id
Raises on 400: Bad request
Raises on 404: Not found
4896 4897 4898 4899 4900 4901 4902 4903 4904 |
# File 'lib/infrawrench/client.rb', line 4896 def update(id:, body:, org_id: nil, request_options: nil) @transport.request( http_method: "PUT", path: "/api/org/{orgId}/cost-reports/{id}", path_params: { "orgId" => org_id, "id" => id }, body: body, request_options: ) end |