Class: Infrawrench::CostCentresRulesNamespace
- Inherits:
-
Object
- Object
- Infrawrench::CostCentresRulesNamespace
- Defined in:
- lib/infrawrench/client.rb,
sig/infrawrench/sdk.rbs
Overview
client.cost_centres.rules
Instance Method Summary collapse
-
#create(body:, org_id: nil, request_options: nil) ⇒ Hash
Create an allocation rule.
-
#delete(id:, org_id: nil, request_options: nil) ⇒ Hash
Delete an allocation rule.
-
#initialize(transport) ⇒ CostCentresRulesNamespace
constructor
private
A new instance of CostCentresRulesNamespace.
-
#list(org_id: nil, request_options: nil) ⇒ Array<Hash>
List allocation rules in evaluation order.
-
#swap(body:, org_id: nil, request_options: nil) ⇒ Array<Hash>
Swap the priorities of two allocation rules.
-
#update(id:, body:, org_id: nil, request_options: nil) ⇒ Hash
Update an allocation rule.
Constructor Details
#initialize(transport) ⇒ CostCentresRulesNamespace
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 CostCentresRulesNamespace.
1682 1683 1684 |
# File 'lib/infrawrench/client.rb', line 1682 def initialize(transport) @transport = transport end |
Instance Method Details
#create(body:, org_id: nil, request_options: nil) ⇒ Hash
Create an allocation rule
Maps spend onto a cost centre. Rules evaluate first-match-wins by ascending priority against each cost row's tags, account, provider, and service.
Requires permission: costs:write.
POST /api/org/orgId/cost-centres/rules
Raises on 400: Bad request
Raises on 404: Not found
1706 1707 1708 1709 1710 1711 1712 1713 1714 |
# File 'lib/infrawrench/client.rb', line 1706 def create(body:, org_id: nil, request_options: nil) @transport.request( http_method: "POST", path: "/api/org/{orgId}/cost-centres/rules", path_params: { "orgId" => org_id }, body: body, request_options: ) end |
#delete(id:, org_id: nil, request_options: nil) ⇒ Hash
Delete an allocation rule
Requires permission: costs:write.
DELETE /api/org/orgId/cost-centres/rules/id
Raises on 404: Not found
1730 1731 1732 1733 1734 1735 1736 1737 |
# File 'lib/infrawrench/client.rb', line 1730 def delete(id:, org_id: nil, request_options: nil) @transport.request( http_method: "DELETE", path: "/api/org/{orgId}/cost-centres/rules/{id}", path_params: { "orgId" => org_id, "id" => id }, request_options: ) end |
#list(org_id: nil, request_options: nil) ⇒ Array<Hash>
List allocation rules in evaluation order
Requires permission: costs:read.
GET /api/org/orgId/cost-centres/rules
1751 1752 1753 1754 1755 1756 1757 1758 |
# File 'lib/infrawrench/client.rb', line 1751 def list(org_id: nil, request_options: nil) @transport.request( http_method: "GET", path: "/api/org/{orgId}/cost-centres/rules", path_params: { "orgId" => org_id }, request_options: ) end |
#swap(body:, org_id: nil, request_options: nil) ⇒ Array<Hash>
Swap the priorities of two allocation rules
Atomically swaps priorities so first-match-wins order can be edited without a half-applied pair of independent updates.
Requires permission: costs:write.
POST /api/org/orgId/cost-centres/rules/swap
Raises on 400: Bad request
Raises on 404: Not found
1780 1781 1782 1783 1784 1785 1786 1787 1788 |
# File 'lib/infrawrench/client.rb', line 1780 def swap(body:, org_id: nil, request_options: nil) @transport.request( http_method: "POST", path: "/api/org/{orgId}/cost-centres/rules/swap", path_params: { "orgId" => org_id }, body: body, request_options: ) end |
#update(id:, body:, org_id: nil, request_options: nil) ⇒ Hash
Update an allocation rule
Requires permission: costs:write.
PUT /api/org/orgId/cost-centres/rules/id
Raises on 400: Bad request
Raises on 404: Not found
1807 1808 1809 1810 1811 1812 1813 1814 1815 |
# File 'lib/infrawrench/client.rb', line 1807 def update(id:, body:, org_id: nil, request_options: nil) @transport.request( http_method: "PUT", path: "/api/org/{orgId}/cost-centres/rules/{id}", path_params: { "orgId" => org_id, "id" => id }, body: body, request_options: ) end |