feat: add unfreeze_on_demand support to all SDKs
Updated Python, JavaScript, Go, Rust, Ruby, Java, and TypeScript SDKs: - Add unfreeze_on_demand field to Service struct/class - Add setUnfreezeOnDemand function to toggle setting via PATCH /services/:id - Add unfreeze_on_demand parameter to createService function
This commit is contained in:
parent
04060aa4da
commit
e58adcd5fe
13 changed files with 435 additions and 10 deletions
|
|
@ -13,7 +13,7 @@
|
|||
* freezeSession, unfreezeSession, boostSession, unboostSession, shellSession,
|
||||
* // Service management
|
||||
* listServices, createService, getService, updateService, deleteService,
|
||||
* freezeService, unfreezeService, lockService, unlockService,
|
||||
* freezeService, unfreezeService, lockService, unlockService, setUnfreezeOnDemand,
|
||||
* getServiceLogs, getServiceEnv, setServiceEnv, deleteServiceEnv,
|
||||
* exportServiceEnv, redeployService, executeInService,
|
||||
* // Snapshot management
|
||||
|
|
@ -751,6 +751,7 @@ async function listServices(publicKey, secretKey) {
|
|||
* - vcpu: Number of vCPUs (1-8)
|
||||
* - domains: Array of custom domains
|
||||
* - serviceType: Service type for SRV records (minecraft, mumble, etc.)
|
||||
* - unfreezeOnDemand: If true, frozen services wake automatically on HTTP traffic
|
||||
*
|
||||
* Returns: Promise<Object> (service info with service_id)
|
||||
*/
|
||||
|
|
@ -771,6 +772,7 @@ async function createService(name, ports, bootstrap, opts = {}, publicKey, secre
|
|||
if (opts.vcpu && opts.vcpu > 1) data.vcpu = opts.vcpu;
|
||||
if (opts.domains) data.custom_domains = opts.domains;
|
||||
if (opts.serviceType) data.service_type = opts.serviceType;
|
||||
if (opts.unfreezeOnDemand) data.unfreeze_on_demand = true;
|
||||
|
||||
return makeRequest('POST', '/services', publicKey, secretKey, data);
|
||||
}
|
||||
|
|
@ -870,6 +872,22 @@ async function unlockService(serviceId, publicKey, secretKey) {
|
|||
return makeRequest('POST', `/services/${serviceId}/unlock`, publicKey, secretKey, {});
|
||||
}
|
||||
|
||||
/**
|
||||
* Set unfreeze-on-demand for a service.
|
||||
*
|
||||
* When enabled, frozen services will automatically wake when HTTP traffic arrives.
|
||||
*
|
||||
* Args:
|
||||
* serviceId: Service ID to update
|
||||
* enabled: true to enable, false to disable
|
||||
*
|
||||
* Returns: Promise<Object> (update confirmation)
|
||||
*/
|
||||
async function setUnfreezeOnDemand(serviceId, enabled, publicKey, secretKey) {
|
||||
[publicKey, secretKey] = resolveCredentials(publicKey, secretKey);
|
||||
return makeRequest('PATCH', `/services/${serviceId}`, publicKey, secretKey, { unfreeze_on_demand: enabled });
|
||||
}
|
||||
|
||||
/**
|
||||
* Get service logs.
|
||||
*
|
||||
|
|
@ -1127,6 +1145,7 @@ export {
|
|||
unfreezeService,
|
||||
lockService,
|
||||
unlockService,
|
||||
setUnfreezeOnDemand,
|
||||
getServiceLogs,
|
||||
getServiceEnv,
|
||||
setServiceEnv,
|
||||
|
|
@ -1185,6 +1204,7 @@ export default {
|
|||
unfreezeService,
|
||||
lockService,
|
||||
unlockService,
|
||||
setUnfreezeOnDemand,
|
||||
getServiceLogs,
|
||||
getServiceEnv,
|
||||
setServiceEnv,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue