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.
12208 12209 12210 |
# File 'lib/infrawrench/client.rb', line 12208 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
12235 12236 12237 12238 12239 12240 12241 12242 12243 |
# File 'lib/infrawrench/client.rb', line 12235 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
12262 12263 12264 12265 12266 12267 12268 12269 12270 |
# File 'lib/infrawrench/client.rb', line 12262 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
12289 12290 12291 12292 12293 12294 12295 12296 |
# File 'lib/infrawrench/client.rb', line 12289 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
12320 12321 12322 12323 12324 12325 12326 12327 12328 |
# File 'lib/infrawrench/client.rb', line 12320 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
12350 12351 12352 12353 12354 12355 12356 12357 12358 |
# File 'lib/infrawrench/client.rb', line 12350 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 |