feat: add --show-freeze-page and --no-show-freeze-page CLI flags

Add CLI support for toggling the show_freeze_page service setting,
which controls whether frozen services display an HTML payment page
or return a JSON error response.

Updated 18 SDK implementations + CLI_SPEC.md documentation.
This commit is contained in:
russell@unturf.com 2026-01-25 04:28:12 -05:00
parent 1b76be5277
commit eeb1dcb3dc
19 changed files with 438 additions and 2 deletions

View file

@ -36,6 +36,7 @@ Library Usage:
lock_service,
unlock_service,
set_unfreeze_on_demand,
set_show_freeze_page,
get_service_logs,
get_service_env,
set_service_env,
@ -1316,6 +1317,42 @@ async def set_unfreeze_on_demand(
)
async def set_show_freeze_page(
service_id: str,
enabled: bool,
public_key: Optional[str] = None,
secret_key: Optional[str] = None,
) -> Dict[str, Any]:
"""
Enable or disable freeze page display for a service.
When disabled, frozen services return a JSON error response instead of
displaying the payment/unfreeze page to visitors.
Args:
service_id: Service ID to configure
enabled: True to show freeze page, False to return JSON error
public_key: Optional API key
secret_key: Optional API secret
Returns:
Response dict with update confirmation
Raises:
aiohttp.ClientError: Network errors
ValueError: Invalid response format
CredentialsError: Missing credentials
"""
public_key, secret_key = _resolve_credentials(public_key, secret_key)
return await _make_request(
"PATCH",
f"/services/{service_id}",
public_key,
secret_key,
{"show_freeze_page": enabled},
)
async def get_service_logs(
service_id: str,
all_logs: bool = False,