Class: Infrawrench::LeasesNamespace
- Inherits:
-
Object
- Object
- Infrawrench::LeasesNamespace
- Defined in:
- lib/infrawrench/client.rb,
sig/infrawrench/sdk.rbs
Overview
client.leases
Instance Method Summary collapse
-
#cancel(lease_id:, org_id: nil, request_options: nil) ⇒ Hash
Cancel a lease.
-
#create(org_id: nil, body: nil, request_options: nil) ⇒ Hash
Create a resource lease.
-
#delete(lease_id:, org_id: nil, request_options: nil) ⇒ nil
Delete a lease row.
-
#get(org_id: nil, request_options: nil) ⇒ Hash
List resource leases.
-
#initialize(transport) ⇒ LeasesNamespace
constructor
private
A new instance of LeasesNamespace.
-
#resource(resource_id:, org_id: nil, request_options: nil) ⇒ Hash
Get one resource's lease.
-
#update(lease_id:, org_id: nil, body: nil, request_options: nil) ⇒ Hash
Update a lease.
Constructor Details
#initialize(transport) ⇒ LeasesNamespace
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 LeasesNamespace.
9218 9219 9220 |
# File 'lib/infrawrench/client.rb', line 9218 def initialize(transport) @transport = transport end |
Instance Method Details
#cancel(lease_id:, org_id: nil, request_options: nil) ⇒ Hash
Cancel a lease
Stop the countdown — the resource stays, the lease goes canceled and
leaves the expiry radar. Audit-logged.
Requires permission: resources:write.
POST /api/org/orgId/leases/leaseId/cancel
Raises on 400: Bad request
Raises on 404: Not found
9241 9242 9243 9244 9245 9246 9247 9248 |
# File 'lib/infrawrench/client.rb', line 9241 def cancel(lease_id:, org_id: nil, request_options: nil) @transport.request( http_method: "POST", path: "/api/org/{orgId}/leases/{leaseId}/cancel", path_params: { "orgId" => org_id, "leaseId" => lease_id }, request_options: ) end |
#create(org_id: nil, body: nil, request_options: nil) ⇒ Hash
Create a resource lease
Attach an expiry to a resource — 'give me a test cluster for 3 days'. One
lease per resource (an active lease conflicts; a terminal one is
replaced). autoDelete: true opts into deletion at expiry — the poller
announces it twice first, defers during change freezes, and requires the
caller to hold resources:delete. Audit-logged.
Requires permission: resources:write.
POST /api/org/orgId/leases
Raises on 400: Bad request
Raises on 404: Not found
Raises on 409: The resource already has an active lease
9274 9275 9276 9277 9278 9279 9280 9281 9282 |
# File 'lib/infrawrench/client.rb', line 9274 def create(org_id: nil, body: nil, request_options: nil) @transport.request( http_method: "POST", path: "/api/org/{orgId}/leases", path_params: { "orgId" => org_id }, body: body, request_options: ) end |
#delete(lease_id:, org_id: nil, request_options: nil) ⇒ nil
Delete a lease row
Remove the lease record entirely (including terminal rows). The resource is not touched. Audit-logged.
Requires permission: resources:write.
DELETE /api/org/orgId/leases/leaseId
Raises on 404: Not found
9301 9302 9303 9304 9305 9306 9307 9308 9309 |
# File 'lib/infrawrench/client.rb', line 9301 def delete(lease_id:, org_id: nil, request_options: nil) @transport.request( http_method: "DELETE", path: "/api/org/{orgId}/leases/{leaseId}", path_params: { "orgId" => org_id, "leaseId" => lease_id }, accept: :empty, request_options: ) end |
#get(org_id: nil, request_options: nil) ⇒ Hash
List resource leases
Every lease in the organization, soonest deadline first. Active leases
also appear on the expiry radar (GET /expiring) as kind lease items,
so the owner is nagged through the existing expiry alerts.
Requires permission: resources:read.
GET /api/org/orgId/leases
9326 9327 9328 9329 9330 9331 9332 9333 |
# File 'lib/infrawrench/client.rb', line 9326 def get(org_id: nil, request_options: nil) @transport.request( http_method: "GET", path: "/api/org/{orgId}/leases", path_params: { "orgId" => org_id }, request_options: ) end |
#resource(resource_id:, org_id: nil, request_options: nil) ⇒ Hash
Get one resource's lease
The (unique) lease on a resource, whatever its status, or null.
Requires permission: resources:read.
GET /api/org/orgId/leases/resource
Raises on 400: Bad request
9352 9353 9354 9355 9356 9357 9358 9359 9360 |
# File 'lib/infrawrench/client.rb', line 9352 def resource(resource_id:, org_id: nil, request_options: nil) @transport.request( http_method: "GET", path: "/api/org/{orgId}/leases/resource", path_params: { "orgId" => org_id }, query: { "resourceId" => resource_id }, request_options: ) end |
#update(lease_id:, org_id: nil, body: nil, request_options: nil) ⇒ Hash
Update a lease
Edit the deadline, the auto-delete opt-in and/or the note of an active lease. Changing the deadline or the auto-delete flag re-arms the two-announcement schedule. Audit-logged.
Requires permission: resources:write.
PUT /api/org/orgId/leases/leaseId
Raises on 400: Bad request
Raises on 404: Not found
9383 9384 9385 9386 9387 9388 9389 9390 9391 |
# File 'lib/infrawrench/client.rb', line 9383 def update(lease_id:, org_id: nil, body: nil, request_options: nil) @transport.request( http_method: "PUT", path: "/api/org/{orgId}/leases/{leaseId}", path_params: { "orgId" => org_id, "leaseId" => lease_id }, body: body, request_options: ) end |