Class: Infrawrench::CostCentresNamespace
- Inherits:
-
Object
- Object
- Infrawrench::CostCentresNamespace
- Defined in:
- lib/infrawrench/client.rb,
sig/infrawrench/sdk.rbs
Overview
client.cost_centres
Instance Attribute Summary collapse
-
#rules ⇒ CostCentresRulesNamespace
readonly
client.cost_centres.rules.
Instance Method Summary collapse
-
#create(body:, org_id: nil, request_options: nil) ⇒ Hash
Create a cost centre.
-
#delete(id:, org_id: nil, request_options: nil) ⇒ Hash
Delete a cost centre (its allocation rules go with it).
-
#initialize(transport) ⇒ CostCentresNamespace
constructor
private
A new instance of CostCentresNamespace.
-
#list(org_id: nil, request_options: nil) ⇒ Array<Hash>
List cost centres.
-
#update(id:, body:, org_id: nil, request_options: nil) ⇒ Hash
Update or move a cost centre.
Constructor Details
#initialize(transport) ⇒ CostCentresNamespace
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 CostCentresNamespace.
4124 4125 4126 4127 |
# File 'lib/infrawrench/client.rb', line 4124 def initialize(transport) @transport = transport @rules = CostCentresRulesNamespace.new(@transport) end |
Instance Attribute Details
#rules ⇒ CostCentresRulesNamespace (readonly)
Returns client.cost_centres.rules.
4120 4121 4122 |
# File 'lib/infrawrench/client.rb', line 4120 def rules @rules end |
Instance Method Details
#create(body:, org_id: nil, request_options: nil) ⇒ Hash
Create a cost centre
Requires permission: costs:write.
POST /api/org/orgId/cost-centres
Raises on 400: Bad request
4143 4144 4145 4146 4147 4148 4149 4150 4151 |
# File 'lib/infrawrench/client.rb', line 4143 def create(body:, org_id: nil, request_options: nil) @transport.request( http_method: "POST", path: "/api/org/{orgId}/cost-centres", path_params: { "orgId" => org_id }, body: body, request_options: ) end |
#delete(id:, org_id: nil, request_options: nil) ⇒ Hash
Delete a cost centre (its allocation rules go with it)
The centre's allocation rules are deleted with it, so the spend they claimed falls through to the next matching rule or to "Unallocated". Child centres are not deleted: they are re-parented onto the deleted centre's own parent (a root's children become roots), so a subtree keeps its shape and no ancestor's subtree total moves unexpectedly.
Requires permission: costs:write.
DELETE /api/org/orgId/cost-centres/id
Raises on 404: Not found
4173 4174 4175 4176 4177 4178 4179 4180 |
# File 'lib/infrawrench/client.rb', line 4173 def delete(id:, org_id: nil, request_options: nil) @transport.request( http_method: "DELETE", path: "/api/org/{orgId}/cost-centres/{id}", path_params: { "orgId" => org_id, "id" => id }, request_options: ) end |
#list(org_id: nil, request_options: nil) ⇒ Array<Hash>
List cost centres
Requires permission: costs:read.
GET /api/org/orgId/cost-centres
4194 4195 4196 4197 4198 4199 4200 4201 |
# File 'lib/infrawrench/client.rb', line 4194 def list(org_id: nil, request_options: nil) @transport.request( http_method: "GET", path: "/api/org/{orgId}/cost-centres", path_params: { "orgId" => org_id }, request_options: ) end |
#update(id:, body:, org_id: nil, request_options: nil) ⇒ Hash
Update or move a cost centre
Renames, redescribes, and/or moves a centre. Moving is parentId
changing; omitting the field leaves the centre where it is. 400 when the
move would cycle or breach the depth cap.
Requires permission: costs:write.
PUT /api/org/orgId/cost-centres/id
Raises on 400: Bad request
Raises on 404: Not found
4224 4225 4226 4227 4228 4229 4230 4231 4232 |
# File 'lib/infrawrench/client.rb', line 4224 def update(id:, body:, org_id: nil, request_options: nil) @transport.request( http_method: "PUT", path: "/api/org/{orgId}/cost-centres/{id}", path_params: { "orgId" => org_id, "id" => id }, body: body, request_options: ) end |