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.
3869 3870 3871 3872 |
# File 'lib/infrawrench/client.rb', line 3869 def initialize(transport) @transport = transport @rules = CostCentresRulesNamespace.new(@transport) end |
Instance Attribute Details
#rules ⇒ CostCentresRulesNamespace (readonly)
Returns client.cost_centres.rules.
3865 3866 3867 |
# File 'lib/infrawrench/client.rb', line 3865 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
3888 3889 3890 3891 3892 3893 3894 3895 3896 |
# File 'lib/infrawrench/client.rb', line 3888 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
3918 3919 3920 3921 3922 3923 3924 3925 |
# File 'lib/infrawrench/client.rb', line 3918 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
3939 3940 3941 3942 3943 3944 3945 3946 |
# File 'lib/infrawrench/client.rb', line 3939 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
3969 3970 3971 3972 3973 3974 3975 3976 3977 |
# File 'lib/infrawrench/client.rb', line 3969 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 |