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.
3815 3816 3817 3818 |
# File 'lib/infrawrench/client.rb', line 3815 def initialize(transport) @transport = transport @rules = CostCentresRulesNamespace.new(@transport) end |
Instance Attribute Details
#rules ⇒ CostCentresRulesNamespace (readonly)
Returns client.cost_centres.rules.
3811 3812 3813 |
# File 'lib/infrawrench/client.rb', line 3811 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
3834 3835 3836 3837 3838 3839 3840 3841 3842 |
# File 'lib/infrawrench/client.rb', line 3834 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
3864 3865 3866 3867 3868 3869 3870 3871 |
# File 'lib/infrawrench/client.rb', line 3864 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
3885 3886 3887 3888 3889 3890 3891 3892 |
# File 'lib/infrawrench/client.rb', line 3885 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
3915 3916 3917 3918 3919 3920 3921 3922 3923 |
# File 'lib/infrawrench/client.rb', line 3915 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 |