Skip to content

ODS sandbox management commands#6

Merged
clavery merged 7 commits intomainfrom
feature/ods-commands
Dec 3, 2025
Merged

ODS sandbox management commands#6
clavery merged 7 commits intomainfrom
feature/ods-commands

Conversation

@clavery
Copy link
Collaborator

@clavery clavery commented Dec 2, 2025

Summary

  • Add ODS (On-Demand Sandbox) management commands: list, get, create, delete, start, stop, restart, info
  • Add OdsCommand base class for ODS operations with typed API client
  • Add typed ODS API client using openapi-fetch with generated types from ODS OpenAPI spec
  • Add --account-manager-host flag for OAuth commands (env: SFCC_ACCOUNT_MANAGER_HOST)
  • Add extraParams middleware for passing arbitrary query/body parameters to API clients
  • Centralize host defaults in defaults.ts

ODS Commands

Command Description
ods list List sandboxes with filtering (--realm, --filter-params, --show-deleted)
ods get <id> Get sandbox details by ID
ods create Create a new sandbox
ods delete <id> Delete a sandbox (with confirmation)
ods start <id> Start a stopped sandbox
ods stop <id> Stop a running sandbox
ods restart <id> Restart a sandbox
ods info Show realm and user info

Table Output Features

  • Dynamic column widths based on content
  • --columns flag for custom column selection
  • --extended flag to show all columns

Host Configuration

New flags and environment variables for host overrides:

  • --sandbox-api-host / SFCC_SANDBOX_API_HOST (default: admin.dx.commercecloud.salesforce.com)
  • --account-manager-host / SFCC_ACCOUNT_MANAGER_HOST (default: account.demandware.com)

  • Tests pass (pnpm test)
  • Code is formatted (pnpm run format)

@clavery clavery changed the title Feature/ods commands ODS sandbox management commands Dec 2, 2025
@clavery clavery merged commit e1ed9f4 into main Dec 3, 2025
2 checks passed
@clavery clavery deleted the feature/ods-commands branch January 27, 2026 01:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant