Migrate from dxtoolkit to DCT toolkit

If you currently use dxtoolkit to automate Delphix operations, this topic covers what you need to know to migrate to dct-toolkit. The most fundamental difference between the two tools is how they communicate with the Delphix platform: dxtoolkit communicates directly with Delphix engines via the Engine APIs, while dct-toolkit communicates with Data Control Tower via the DCT APIs. DCT acts as a centralized gateway to all connected engines, so dct-toolkit operations are not scoped to a single engine.

For a full comparison of DCT versus per-engine capabilities — including the removal of the Self-Service template and container model, consolidated refresh operations, and centralized authentication — see DCT overview.

Key differences

Supported product

dxtoolkit was open source and community-supported. dct-toolkit is a fully supported Delphix product. Issues can be filed through the Delphix Support Portal.

Dynamic capability updates

dct-toolkit is generated automatically from the OpenAPI spec of your DCT instance. Most new functionality becomes available by upgrading DCT — no toolkit reinstallation is required. New versions of dct-toolkit itself may update fundamental capabilities of the toolkit, but day-to-day feature additions come from your DCT version, not the toolkit version.

Command mapping

The following tables show common dxtoolkit commands and their dct-toolkit equivalents, organized by category.

Delphix Self-Service operations

DCT does not use the Delphix Self-Service template and container model. The commands below map Self-Service workflows to their DCT equivalents, which operate directly against VDBs and VDB Groups. For VDBs that require coordination — such as Oracle E-Business Suite — VDB Groups serve a similar purpose to Self-Service containers but without the constraints of that model.

Use case dxtoolkit dct-toolkit
Refresh VDB to latest dSource snapshot dx_refresh_db refresh_vdb_by_snapshot
Refresh single-VDB container to latest snapshot dx_ctl_js_container refresh refresh_vdb_by_snapshot
Restore multi-VDB container to a bookmark dx_ctl_js_container restore refresh_vdb_group
Manage bookmarks for a container dx_get_js_bookmarks, dx_ctl_js_bookmarks get_bookmarks_by_vdb, create_bookmark
Create a container dx_ctl_js_container create N/A — equivalent to creating a VDB or VDB Group.
Create a template dx_ctl_js_template N/A — equivalent to creating a dSource, VDB, or VDB Group.
Grant user access dx_ctl_js_container addowner Tag management or add_objects_to_access_group_scope

Refresh and restore operations

In dxtoolkit, refresh, restore, rollback, and rewind were separate operations. In dct-toolkit these are unified — the distinction is expressed as what you are refreshing from: a snapshot, a timestamp, or a bookmark.

dxtoolkit dct-toolkit
dx_refresh_db refresh_vdb_by_snapshot (omit snapshot ID to use latest)
dx_ctl_js_container refresh (single VDB) refresh_vdb_by_snapshot
dx_ctl_js_container restore (single VDB) refresh_vdb_by_snapshot <snapshot_id>, refresh_vdb_from_bookmark <bookmark_id>, or refresh_vdb_by_timestamp <timestamp>
dx_ctl_js_container refresh (multi-VDB) refresh_vdb_group_by_snapshot, refresh_vdb_group_from_bookmark, or refresh_vdb_group_by_timestamp
dx_ctl_js_container restore (multi-VDB) refresh_vdb_group_from_bookmark vdb_group_id=<vdb_group_id> bookmark_id=<bookmark_id>

Related topics