DCT Toolkit
Introduction
DCT Toolkit (dct-toolkit) is the command line application specifically designed to interact with a particular DCT instance. It aims to simplify and ease out interacting with DCT instances while making the process intuitive, with minimal configuration and setup. dct-toolkit abstracts all of the API level implementation complexities and provides a user friendly LINUX-like interface, which can be run from any terminal.
Compatibility
dct-toolkit is designed to be compatible with any DCT product version, but is fully supported from DCT version 8.0.0 onwards. While dct-toolkit can be used in testing or development environments against any DCT versions, Delphix highly recommends at least DCT version 8.0.0 for using it in the production environment. Some of the value added features are only supported from DCT 8.0.0 version onwards.
dct-toolkit does not need to be upgraded with every new version of DCT. All of the new APIs that are part of the newer DCT releases will automatically be available in dct-toolkit. This is possible because dct-toolkit reads the api specification from the DCT instance (configurable) it is configured to connect to and dynamically generates the list of commands and their respective options.
New features
Version 1.4.0
Enhanced search experience
Users can now employ the search command with a more straightforward syntax, in addition to the existing option for filter_expression use. This command structure will search for VDBs that have a name matching<vdb_name>
and database type matching<database_type>
:CODE./dct-toolkit search_vdb name "<vdb_name>" database_type <database_type>
The name flag allows users to specify the VDB name, while the database_type flag lets them indicate the database type. This command structure aims to improve efficiency and ease of use for the search functionality within dct-toolkit.
Simplify syntax for value array input
Users can now provide array values using more natural and versatile formats, such as comma-separated values or repeated options. Additionally, to handle cases where a comma needs to be included within a value, users can escape the comma using a (\”). Here are the updated examples:Comma-separated values
This format allows users to list multiple values forvdb_ids
in a straightforward, comma-separated manner.CODEvdb_ids=VCDO_ZKJ,ABCD_JHI
Repeated options
Users can now repeat thevdb_ids
option to specify multiple values individually, providing a clear and concise representation.CODEvdb_ids=ABCD_JHI vdb_ids=XYZ_ABC
Escaping Commas Inside Values:
CODEvdb_ids=VCDO_ZKJ,\”AB,CD_JHI\”
The Simplify syntax for value array input feature in dct-toolkit is not backward compatible with previous versions. As a result, users are unable to use the older method of providing values in string format to array input, as exemplified below:
vdb_ids='["VCDO_ZKJ", "ABCD_JHI"]'
This is true for all options where the type is array of value.
Version 1.2.0
--json/-js option
dct-toolkit now supports a--json/-js
option for all of the commands. If this option is specified, all properties from the DCT response are printed in JSON format. This option is mutually exclusive with the--all-columns/-A
and--columns/-c
options but can be used along with the--jsonpath/-jp
and--expand/-ex
options.--csv/-cs option
dct-toolkit now supports a--csv/-cs
option for all of the commands. If this option is specified, all properties from the DCT response are printed in CSV format. This option can be used along with the--columns/-c
option only to output particular properties from the DCT response. This option can also be specified along with the--jsonpath/-jp
and--expand/-ex
options.This option is only applicable to list API responses where the response is printed in table format by default. For all other APIs that return a single object, this option is ignored.
create_config and encrypt_api_key commands are now interactive
While providing apiKey value in create_config
and encrypt_api_key
command, there is a risk that plaintext apiKey
can leak via shell history. To protect against this, both of these commands are now made interactive. Providing an apiKey interactively does not leak it via shell history. Following examples demonstrates providing apiKey
interactively. Once following commands are executed, dct-toolkit
will ask and wait for the apiKey to be provided by the user before executing the command. The DCT instance URL must contain the protocol and suffix. For example, dct.company.co should be https://dct.company.co/dct/.
./dct-toolkit encrypt_api_key dctUrl=<DCT instance URL> apiKey
./dct-toolkit create_config dctUrl=<DCT instance URL> apiKey