Class: Infrawrench::SchedulesNamespace
- Inherits:
-
Object
- Object
- Infrawrench::SchedulesNamespace
- Defined in:
- lib/infrawrench/client.rb,
sig/infrawrench/sdk.rbs
Overview
client.schedules
Instance Method Summary collapse
-
#create(org_id: nil, body: nil, request_options: nil) ⇒ Hash
Create a sleep/wake schedule.
-
#delete(schedule_id:, org_id: nil, request_options: nil) ⇒ nil
Delete a schedule.
-
#get(org_id: nil, request_options: nil) ⇒ Hash
List sleep/wake schedules.
-
#initialize(transport) ⇒ SchedulesNamespace
constructor
private
A new instance of SchedulesNamespace.
-
#preview(org_id: nil, body: nil, request_options: nil) ⇒ Hash
Preview a schedule's projected saving.
-
#update(schedule_id:, org_id: nil, body: nil, request_options: nil) ⇒ Hash
Update or pause a schedule.
Constructor Details
#initialize(transport) ⇒ SchedulesNamespace
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 SchedulesNamespace.
5639 5640 5641 |
# File 'lib/infrawrench/client.rb', line 5639 def initialize(transport) @transport = transport end |
Instance Method Details
#create(org_id: nil, body: nil, request_options: nil) ⇒ Hash
Create a sleep/wake schedule
Attach an off-at/on-at weekly window to a resource. The resource's type must declare lifecycle start/stop actions (see the resource type metadata); one schedule per resource. Times are wall-clock in the given IANA timezone and remain correct across DST. Audit-logged.
Requires permission: resources:write.
POST /api/org/orgId/schedules
Raises on 400: Bad request
Raises on 404: Not found
Raises on 409: The resource already has a schedule
5666 5667 5668 5669 5670 5671 5672 5673 5674 |
# File 'lib/infrawrench/client.rb', line 5666 def create(org_id: nil, body: nil, request_options: nil) @transport.request( http_method: "POST", path: "/api/org/{orgId}/schedules", path_params: { "orgId" => org_id }, body: body, request_options: ) end |
#delete(schedule_id:, org_id: nil, request_options: nil) ⇒ nil
Delete a schedule
Remove the schedule. The resource is left in whatever state it is in. Audit-logged.
Requires permission: resources:write.
DELETE /api/org/orgId/schedules/scheduleId
Raises on 404: Not found
5693 5694 5695 5696 5697 5698 5699 5700 5701 |
# File 'lib/infrawrench/client.rb', line 5693 def delete(schedule_id:, org_id: nil, request_options: nil) @transport.request( http_method: "DELETE", path: "/api/org/{orgId}/schedules/{scheduleId}", path_params: { "orgId" => org_id, "scheduleId" => schedule_id }, accept: :empty, request_options: ) end |
#get(org_id: nil, request_options: nil) ⇒ Hash
List sleep/wake schedules
Every schedule in the organization with its next transition, last run outcome and a projected monthly saving computed from trailing per-resource spend and the weekly off-hours fraction. Schedules attach to resources whose plugin declares lifecycle start/stop actions; the poller executes due transitions server-side.
Requires permission: resources:read.
GET /api/org/orgId/schedules
5720 5721 5722 5723 5724 5725 5726 5727 |
# File 'lib/infrawrench/client.rb', line 5720 def get(org_id: nil, request_options: nil) @transport.request( http_method: "GET", path: "/api/org/{orgId}/schedules", path_params: { "orgId" => org_id }, request_options: ) end |
#preview(org_id: nil, body: nil, request_options: nil) ⇒ Hash
Preview a schedule's projected saving
Quote a timing against a resource before saving: the weekly off-hours fraction, the resource's trailing spend normalized to a month, the projected monthly saving, and the next few transitions. Makes no provider API calls and changes nothing.
Requires permission: resources:read.
POST /api/org/orgId/schedules/preview
Raises on 400: Bad request
Raises on 404: Not found
5751 5752 5753 5754 5755 5756 5757 5758 5759 |
# File 'lib/infrawrench/client.rb', line 5751 def preview(org_id: nil, body: nil, request_options: nil) @transport.request( http_method: "POST", path: "/api/org/{orgId}/schedules/preview", path_params: { "orgId" => org_id }, body: body, request_options: ) end |
#update(schedule_id:, org_id: nil, body: nil, request_options: nil) ⇒ Hash
Update or pause a schedule
Edit the timing and/or toggle paused. Any change recomputes the next
transition; pausing clears it. Audit-logged.
Requires permission: resources:write.
PUT /api/org/orgId/schedules/scheduleId
Raises on 400: Bad request
Raises on 404: Not found
5781 5782 5783 5784 5785 5786 5787 5788 5789 |
# File 'lib/infrawrench/client.rb', line 5781 def update(schedule_id:, org_id: nil, body: nil, request_options: nil) @transport.request( http_method: "PUT", path: "/api/org/{orgId}/schedules/{scheduleId}", path_params: { "orgId" => org_id, "scheduleId" => schedule_id }, body: body, request_options: ) end |