UNPKG

hana-cli

Version:
1,047 lines (842 loc) 119 kB
# SAP HANA Developer Command Line Interface [![REUSE status](https://api.reuse.software/badge/github.com/SAP-samples/hana-developer-cli-tool-example)](https://api.reuse.software/info/github.com/SAP-samples/hana-developer-cli-tool-example) The [change log](CHANGELOG.md) describes notable changes in this package. ## Description This sample is intended to shown how one could build a developer-centric SAP HANA command line tool, particularly designed to be used when performing local SAP HANA development in non-SAP tooling (like VSCode). It utilizes the default-env.json that is often used in local development for connectivity to a remote SAP HANA DB (although it can of course be used with a local SAP HANA, express edition instance as well). There is no intention to replacing the hdbsql tool as a generic SQL console. Instead this sample will focus on simplifying and grouping common and complex commands that otherwise might a lot of separate scripts. Introduction Video: [https://youtu.be/dvVQfi9Qgog](https://youtu.be/dvVQfi9Qgog) However the tool isn't limited to only local development. It also works well when developing in the cloud. The hana-cli tool can also run well from a cloud shell in the SAP Business Application Studio, Google Cloud Shell, AWS Cloud9, etc. We can also run against a SAP HANA service for SAP BTP or SAP HANA Cloud instance. This demonstrates that the tool can run just about anywhere you can get a command line that has access to the Node.js Runtime. We can also connect to a remote HANA instance even if it isn't running in the same cloud environment in which we are performing our development tasks. Running in Cloud Shells Video: [https://youtu.be/L7QyVLvAIIQ](https://youtu.be/L7QyVLvAIIQ) ## Requirements / Download and Installation If you would rather just access the tool directly, it is now available in npm as well. You can install via: ```shell npm install -g hana-cli ``` Otherwise you can also run it from the sources as described here: * Install Node.js version 14.x or 16.x on your development machine [https://nodejs.org/en/download/](https://nodejs.org/en/download/) * @sap Node.js packages have moved from https://npm.sap.com to the default registry https://registry.npmjs.org. As future versions of @sap modules are going to be published only there, please make sure to adjust your registry with: ```shell npm config delete @sap:registry ``` * Clone the repository from [https://github.com/SAP-samples/hana-developer-cli-tool-example](https://github.com/SAP-samples/hana-developer-cli-tool-example) ```shell git clone https://github.com/SAP-samples/hana-developer-cli-tool-example ``` * Run NPM install from the root of the hana-developer-cli-tool-example project you just cloned to download dependencies ```shell npm install ``` * Run NPM link from the cloned project root to make the hana-cli command available from everywhere [https://docs.npmjs.com/cli/link](https://docs.npmjs.com/cli/link) ```shell npm link ``` [![asciicast](https://asciinema.org/a/301560.svg)](https://asciinema.org/a/301560) ## Security This application primarily uses the default-env.json that is often used in local development for connectivity to a remote HANA DB (although it can of course be used with a local SAP HANA, express edition instance as well). For more details on how the default-env.json works, see the readme.md of the @sap/xsenv package or the @sap/hdi-deploy package. The tool doesn't simply look for a default-env.json file in the current directory however. There are numerous options and places it will look for the connection parameters. Here is the order in which it checks: - First we look for the Admin option and use a default-env-admin.json - this overrides all other parameters - If no admin option or if there was an admin option but no default-env-admin.json could be found in this directory or 5 parent directories, then look for `.cdsrc-private.json` in this directory or 5 parent directories and use [`cds bind`](https://cap.cloud.sap/docs/advanced/hybrid-testing#bind-to-cloud-services) functionality to lookup the credentials securely. This is the most secure option, but please note: this will make each command take a few seconds longer as credentials are no longer stored locally but looked up from cf or k8s dynamically with each command - If no `.cdsrc-private.json` found in this directory or 5 parent directories, then look for a .env file in this directory or up to 5 parent directories - No .env file found or it doesn't contain a VCAP_SERVICES section, then check to see if the --conn parameter was specified. If so check for that file in the current directory or up to 5 parent directories - If the file specified via the --conn parameter wasn't found locally then check for it in the ${homedir}/.hana-cli/ folder - If no specific configuration file was was found then look for a file named default-env.json in the current directory or up to 5 parent directories - Last resort if nothing has been found up to this point - look for a file named default.json in the ${homedir}/.hana-cli/ folder ## Examples A lot of the functionality of this tool revolves around typical tasks you face while doing HANA database development. For example you might want to get a list of all views in your current schema/container: ```shell C:\github\hana-xsa-opensap-hana7\user_db>hana-cli views Schema: OPENSAP_HANA_USER, View: * SCHEMA_NAME VIEW_NAME VIEW_OID COMMENTS ----------------- ------------------------------------------- -------- ------------ OPENSAP_HANA_USER user.models::USER_DETAILS 171133 USER_DETAILS OPENSAP_HANA_USER user.models::USER_DETAILS/hier/USER_DETAILS 171139 null ``` Then perhaps you want to inspect a view to see the columns and their data types: ```shell C:\github\hana-xsa-opensap-hana7\user_db>hana-cli view * user.models::USER_DETAILS Schema: %, View: user.models::USER_DETAILS { SCHEMA_NAME: 'OPENSAP_HANA_USER', VIEW_NAME: 'user.models::USER_DETAILS', VIEW_OID: 171133, COMMENTS: 'USER_DETAILS', IS_COLUMN_VIEW: 'TRUE', VIEW_TYPE: 'CALC', HAS_STRUCTURED_PRIVILEGE_CHECK: 'TRUE', HAS_PARAMETERS: 'TRUE', HAS_CACHE: 'NONE', CREATE_TIME: '2019-07-30 13:14:15.594000000' } SCHEMA_NAME VIEW_NAME VIEW_OID COLUMN_NAME POSITION DATA_TYPE_NAME OFFSET LENGTH SCALE IS_NULLABLE DEFAULT_VALUE CS_DATA_TYPE_NAME COLUMN_ID COMMENTS ----------------- ------------------------- -------- ----------- -------- -------------- ------ ------ ----- ----------- ------------- ----------------- --------- --------- OPENSAP_HANA_USER user.models::USER_DETAILS 171133 EMAIL 1 NVARCHAR 0 255 null TRUE null STRING 171135 Email OPENSAP_HANA_USER user.models::USER_DETAILS 171133 FIRSTNAME 2 NVARCHAR 0 40 null TRUE null STRING 171136 FirstName OPENSAP_HANA_USER user.models::USER_DETAILS 171133 LASTNAME 3 NVARCHAR 0 40 null TRUE null STRING 171137 LastName OPENSAP_HANA_USER user.models::USER_DETAILS 171133 USERID 4 INTEGER 0 10 0 TRUE null INT 171138 UserId ``` But there are multiple output options for inspection. Perhaps you are using Cloud Application Programming Model and need to create a proxy entity in CDS for a view. This tool will read the catalog metadata and convert it to CDS: ```shell C:\github\hana-xsa-opensap-hana7\user_db>hana-cli view OPENSAP_HANA_USER user.models::USER_DETAILS -o cds Schema: OPENSAP_HANA_USER, View: user.models::USER_DETAILS @cds.persistence.exists Entity user_modelsUSER_DETAILS { key "EMAIL": String(255) null @title: 'EMAIL: Email' ; key "FIRSTNAME": String(40) null @title: 'FIRSTNAME: FirstName' ; key "LASTNAME": String(40) null @title: 'LASTNAME: LastName' ; key "USERID": Integer null @title: 'USERID: UserId' ; } ``` Or maybe you are service enabling this view and you want to see it converted to EDMX: ```shell C:\github\hana-xsa-opensap-hana7\user_db>hana-cli view OPENSAP_HANA_USER user.models::USER_DETAILS -o edmx Schema: OPENSAP_HANA_USER, View: user.models::USER_DETAILS <?xml version="1.0" encoding="utf-8"?> <edmx:Edmx Version="1.0" xmlns:edmx="http://schemas.microsoft.com/ado/2007/06/edmx" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns:sap="http://www.sap.com/Protocols/SAPData"> <edmx:Reference Uri="https://wiki.scn.sap.com/wiki/download/attachments/448470974/Common.xml?api=v2" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx"> <edmx:Include Alias="Common" Namespace="com.sap.vocabularies.Common.v1"/> </edmx:Reference> <edmx:DataServices m:DataServiceVersion="2.0"> <Schema Namespace="HanaCli" xmlns="http://schemas.microsoft.com/ado/2008/09/edm"> <EntityContainer Name="EntityContainer" m:IsDefaultEntityContainer="true"> <EntitySet Name="user_modelsUSER_DETAILS" EntityType="HanaCli.user_modelsUSER_DETAILS"/> </EntityContainer> <EntityType Name="user_modelsUSER_DETAILS"> <Key> <PropertyRef Name="EMAIL"/> <PropertyRef Name="FIRSTNAME"/> <PropertyRef Name="LASTNAME"/> <PropertyRef Name="USERID"/> </Key> <Property Name="EMAIL" Type="Edm.String" MaxLength="255"/> <Property Name="FIRSTNAME" Type="Edm.String" MaxLength="40"/> <Property Name="LASTNAME" Type="Edm.String" MaxLength="40"/> <Property Name="USERID" Type="Edm.Int32"/> </EntityType> <Annotations Target="HanaCli.user_modelsUSER_DETAILS/EMAIL" xmlns="http://docs.oasis-open.org/odata/ns/edm"> <Annotation Term="Common.Label" String="EMAIL: Email"/> </Annotations> <Annotations Target="HanaCli.user_modelsUSER_DETAILS/FIRSTNAME" xmlns="http://docs.oasis-open.org/odata/ns/edm"> <Annotation Term="Common.Label" String="FIRSTNAME: FirstName"/> </Annotations> <Annotations Target="HanaCli.user_modelsUSER_DETAILS/LASTNAME" xmlns="http://docs.oasis-open.org/odata/ns/edm"> <Annotation Term="Common.Label" String="LASTNAME: LastName"/> </Annotations> <Annotations Target="HanaCli.user_modelsUSER_DETAILS/USERID" xmlns="http://docs.oasis-open.org/odata/ns/edm"> <Annotation Term="Common.Label" String="USERID: UserId"/> </Annotations> </Schema> </edmx:DataServices> </edmx:Edmx> ``` This tool will even create a temporary OData V4 service for any existing table, view or Calculation View and launch a test Fiori Ui locally. ![Fioir Example](images/ex1.png) ## Commands ### activateHDI ```shell hana-cli activateHDI [tenant] [aliases: ahdi, ah] Activate the HDI service in a particluar SAP HANA Tenant (Must be ran in the SYSTEMDB) Connection Parameters: -a, --admin, --Admin Connect via admin (default-env-admin.json) [boolean] [default: false] --conn Connection Filename to override default-env.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] Options: -t, --tenant, --Tenant SAP HANA Tenant [string] ``` ### adminHDI ```shell hana-cli adminHDI [user] [password] [aliases: adHDI, adhdi] Create an Admin User for HDI or assign HDI admin privileges to an existing user Connection Parameters: -a, --admin, --Admin Connect via admin (default-env-admin.json) [boolean] [default: false] --conn Connection Filename to override default-env.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] Options: -u, --user, --User User -p, --password, --Password Password -c, --create, --Create Set this parameter to false to reuse an existing database user and assign the HDI admin privileges to this user. In this case a dummy password can be given. [boolean] [default: false] ``` ### adminHDIGroup ```shell hana-cli adminHDIGroup [user] [group] [aliases: adHDIG, adhdig] Add a User as an HDI Group Admin Connection Parameters: -a, --admin, --Admin Connect via admin (default-env-admin.json) [boolean] [default: false] --conn Connection Filename to override default-env.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] Options: -u, --user, --User User -g, --group, --Group HDI Group [string] [default: "SYS_XS_HANA_BROKER"] ``` ### btp ```shell hana-cli btp [directory] [subaccount] Set the target for commands for the btp CLI to the global account, a directory, or a subaccount. Commands are executed in the specified target, unless you override it using a parameter. If the specified target is part of an account hierarchy, its parents are also targeted, so that if a command is only available on a higher level, it will be executed there. Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output t hat is only helpful to human readable interface. Us eful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of i ntermediate details [boolean] [default: false] Options: --subaccount, --sa The ID of the subaccount to be targeted [string] ``` ![bas example](https://raw.githubusercontent.com/wiki/SAP-samples/hana-developer-cli-tool-example/images/btp.gif) ### btpInfo ```shell Detailed Information about btp CLI target Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra outp ut that is only helpful to human readable inter face. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] Options: -o, --output, --Output Output Format for inspection [string] [choices: "tbl", "json"] [default: "tbl"] ``` ### callProcedure ```shell hana-cli callProcedure [schema] [procedure] [aliases: cp, callprocedure, callProc, callproc, callSP, callsp] Call a stored procedure and display the results Connection Parameters: -a, --admin, --Admin Connect via admin (default-env-admin.json) [boolean] [default: false] --conn Connection Filename to override default-env.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] Options: -p, --procedure, --Procedure, --sp Stored Procedure [string] -s, --schema, --Schema schema [string] [default: "**CURRENT_SCHEMA**"] ``` ![callProcedure example](https://raw.githubusercontent.com/wiki/SAP-samples/hana-developer-cli-tool-example/images/callProcedure.gif) ### certificates ```shell hana-cli certificates [aliases: cert, certs] List System Certificates Connection Parameters: -a, --admin, --Admin Connect via admin (default-env-admin.json) [boolean] [default: false] --conn Connection Filename to override default-env.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] ``` ![certificates example](https://raw.githubusercontent.com/wiki/SAP-samples/hana-developer-cli-tool-example/images/certificates.gif) ### cds ```shell hana-cli cds [schema] [table] [aliases: cdsPreview] Display a DB object via CDS Connection Parameters: -a, --admin, --Admin Connect via admin (default-env-admin.json) [boolean] [default: false] --conn Connection Filename to override default-env.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] Options: -t, --table, --Table Database Table [string] -s, --schema, --Schema schema [string] [default: "**CURRENT_SCHEMA**"] -v, --view, --View CDS processing for View instead of Table [boolean] [default: false] --useHanaTypes, --hana Use SAP HANA-Specific Data Types See (https://cap. cloud.sap/docs/cds/cdl#predefined-types) [boolean] [default: false] -q, --useQuoted, --quoted, --quotedIdent Use Quoted Identifiers ![non-identif ifiers ier] [boolean] [default: false] -p, --port Port to run HTTP server for CDS preview [default: false] ``` ### changelog ```shell hana-cli changelog [aliases: chg] Open Change Log in browser Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] ``` ### changes ```shell hana-cli changes [aliases: chg] Display Change Log in CLI ``` ### changesUI ```shell hana-cli changesUI [aliases: chgUI, chgui, changeLogUI, changelogui] Display Change Log in Browser UI ``` ### completion ```shell hana-cli completion generate completion script for bash shell ``` ### connect ```shell hana-cli connect [user] [password] [aliases: c, login] Connects to an SAP HANA DB and writes connection information to a default-env-admin.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] Options: -n, --connection Connection String <host>[:<port>] -u, --user, --User User -p, --password, --Password Password -U, --userstorekey, --UserStoreKey Optional: HDB User Store Key - Overrides all other Connection Parameters -s, --save, --Save Save Credentials to default-env-admin.json [boolean] [default: true] -e, --encrypt, --Encrypt, --ssl Encrypt connections (required for SAP HANA service for SAP BTP or SAP HANA Cloud) [boolean] -t, --trustStore, --Trust, --trust, SSL Trust Store --truststore ``` ![connect example](https://raw.githubusercontent.com/wiki/SAP-samples/hana-developer-cli-tool-example/images/connect.gif) ### containers ```shell hana-cli containers [containerGroup] [container] [aliases: cont, listContainers, listcontainers] List all HDI Containers Connection Parameters: -a, --admin, --Admin Connect via admin (default-env-admin.json) [boolean] [default: false] --conn Connection Filename to override default-env.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] Options: -c, --container, --Container Container Name [string] [default: "*"] -g, --containerGroup, --Group, --group, Container Group --containergroup [string] [default: "*"] -l, --limit Limit results[number] [default: 200] ``` ### containersUI ```shell hana-cli containersUI [containerGroup] [container] [aliases: contui, listContainersUI, listcontainersui, containersui] List all HDI Containers in browser UI Connection Parameters: -a, --admin, --Admin Connect via admin (default-env-admin.json) [boolean] [default: false] --conn Connection Filename to override default-env.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] Options: -c, --container, --Container Container Name [string] [default: "*"] -g, --containerGroup, --Group, --group, Container Group --containergroup [string] [default: "*"] -l, --limit Limit results[number] [default: 200] ``` ### copy2DefaultEnv ```shell hana-cli copy2DefaultEnv [aliases: copyDefaultEnv, copyDefault-Env, copy2defaultenv, copydefaultenv, copydefault-env] Copy .env contents to default-env.json and reformat Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] ``` ### copy2Env ```shell hana-cli copy2Env [aliases: copyEnv, copyenv, copy2env] Copy default-env.json contents to .env and reformat Connection Parameters: -a, --admin, --Admin Connect via admin (default-env-admin.json) [boolean] [default: false] --conn Connection Filename to override default-env.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] ``` ### copy2Secrets ```shell hana-cli copy2Secrets [aliases: secrets, make:secrets] make secrets for Kubernetes deployment (https://www.npmjs.com/package/@sap/xsenv#usage-in-kubernetes) Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] Options: --envJson, --from-file JSON file containing VCAP_SERVICES variable [string] [default: "default-env.json"] --secretsFolder, --to-folder Folder name for storing secrets [string] [default: "secrets"] --filter List of service instances to process [string] ``` ### createGroup ```shell hana-cli createGroup [group] [aliases: cg, cGrp] Create an HDI container group Connection Parameters: -a, --admin, --Admin Connect via admin (default-env-admin.json) [boolean] [default: false] --conn Connection Filename to override default-env.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] Options: -g, --group, --Group Container Group Name [string] ``` ### createContainer ```shell hana-cli createContainer [container] [group] [aliases: cc, cCont] Create an HDI Container and populate connection details into default-env.json Connection Parameters: -a, --admin, --Admin Connect via admin (default-env-admin.json) [boolean] [default: false] --conn Connection Filename to override default-env.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] Options: -c, --container, --Container Container Name [string] -g, --group, --Group Container Group Name [string] [default: empty] -s, --save, --Save Save Credentials to default-env.json [boolean] [default: true] -e, --encrypt, --Encrypt, --ssl Encrypt connections (required for SAP HANA service for SAP BTP or SAP HANA Cloud) [boolean] [default: false] ``` ![createContainer example](https://raw.githubusercontent.com/wiki/SAP-samples/hana-developer-cli-tool-example/images/createContainer.gif) ### createContainerUsers ```shell hana-cli createContainerUsers [container] [aliases: ccu, cContU] Create new HDI Container technical users for an existing container and populates connection details into default-env.json Connection Parameters: -a, --admin, --Admin Connect via admin (default-env-admin.json) [boolean] [default: false] --conn Connection Filename to override default-env.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] Options: -c, --container, --Container Container Name [string] -s, --save, --Save Save Credentials to default-env.json [boolean] [default: true] -e, --encrypt, --Encrypt, --ssl Encrypt connections (required for SAP HANA service for SAP BTP or SAP HANA Cloud) [boolean] [default: false] ``` ### createJWT ```shell hana-cli createJWT [name] [aliases: cJWT, cjwt, cJwt] Create JWT Token and Import Certificate (To obtain the certificate and issuer used in the SQL you need to use the xsuaa service key credentials.url element which should look like this: https://<subdomain>.authentication.<region>.hana.ondemand.com then add /sap/trust/jwt path to it in a browser) Connection Parameters: -a, --admin, --Admin Connect via admin (default-env-admin.json) [boolean] [default: false] --conn Connection Filename to override default-env.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] Options: -c, --name, --Name JWT Provider Name (Any descriptive Value) [string] -c, --certificate, --Certificate certificate [string] -i, --issuer, --Issuer Certificate Issuer [string] ``` ### createModule ```shell hana-cli createModule [aliases: createDB, createDBModule] Create DB Module Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] Options: -f, --folder, --Folder DB Module Folder Name [string] [default: "db"] --hanaCloud, --hc, --hana-cloud, Build Module for SAP HANA Cloud? --hanacloud [boolean] [default: true] ``` ### createXSAAdmin ```shell hana-cli createXSAAdmin [user] [password] [aliases: cXSAAdmin, cXSAA, cxsaadmin, cxsaa] Create an SAP HANA DB User which is also an XSA Admin Connection Parameters: -a, --admin, --Admin Connect via admin (default-env-admin.json) [boolean] [default: false] --conn Connection Filename to override default-env.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] Options: -u, --user, --User User -p, --password, --Password Passwordd ``` ![createXSAAdmin example](https://raw.githubusercontent.com/wiki/SAP-samples/hana-developer-cli-tool-example/images/createXSAAdmin.gif) ### dataTypes ```shell hana-cli dataTypes [aliases: dt, datatypes, dataType, datatype] List of HANA Data Types and their technical details Connection Parameters: -a, --admin, --Admin Connect via admin (default-env-admin.json) [boolean] [default: false] --conn Connection Filename to override default-env.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] ``` ![dataTypes example](https://raw.githubusercontent.com/wiki/SAP-samples/hana-developer-cli-tool-example/images/dataTypes.gif) ### dataTypesUI ```shell hana-cli dataTypesUI [aliases: dtui, datatypesui, dataTypeUI, datatypeui] List of HANA Data Types and their technical details in the browser UI Connection Parameters: -a, --admin, --Admin Connect via admin (default-env-admin.json) [boolean] [default: false] --conn Connection Filename to override default-env.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] ``` ### dataVolumes ```shell hana-cli dataVolumes [aliases: dv, datavolumes] Details about the HANA Data Volumes Connection Parameters: -a, --admin, --Admin Connect via admin (default-env-admin.json) [boolean] [default: false] --conn Connection Filename to override default-env.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] ``` ![dataVolumes example](https://raw.githubusercontent.com/wiki/SAP-samples/hana-developer-cli-tool-example/images/dataVolumes.gif) ### disks ```shell hana-cli disks [aliases: di, Disks] Details about disk devices used by HANA Connection Parameters: -a, --admin, --Admin Connect via admin (default-env-admin.json) [boolean] [default: false] --conn Connection Filename to override default-env.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] ``` ![disks example](https://raw.githubusercontent.com/wiki/SAP-samples/hana-developer-cli-tool-example/images/disks.gif) ### dropContainer ```shell hana-cli dropContainer [container] [group] [aliases: dc, dropC] Drop HDI container and clean up HDI Container users Connection Parameters: -a, --admin, --Admin Connect via admin (default-env-admin.json) [boolean] [default: false] --conn Connection Filename to override default-env.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] Options: -c, --container, --Container Container Name [string] -g, --group, --Group Container Group Name [string] [default: empty] ``` ### dropGroup ```shell hana-cli dropGroup [group] [aliases: dg, dropG] Drop HDI container group Connection Parameters: -a, --admin, --Admin Connect via admin (default-env-admin.json) [boolean] [default: false] --conn Connection Filename to override default-env.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] Options: -g, --group, --Group Container Group Name [string] ``` ### features ```shell hana-cli features [aliases: fe, Features] SAP HANA Features and Version Connection Parameters: -a, --admin, --Admin Connect via admin (default-env-admin.json) [boolean] [default: false] --conn Connection Filename to override default-env.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] ``` ![features example](https://raw.githubusercontent.com/wiki/SAP-samples/hana-developer-cli-tool-example/images/features.gif) ### featureUsage ```shell hana-cli featureUsage [aliases: fu, FeaturesUsage] Usage Statistics by Feature Connection Parameters: -a, --admin, --Admin Connect via admin (default-env-admin.json) [boolean] [default: false] --conn Connection Filename to override default-env.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] ``` ![featureUsage example](https://raw.githubusercontent.com/wiki/SAP-samples/hana-developer-cli-tool-example/images/featureUsage.gif) ### functions ```shell hana-cli functions [schema] [function] [aliases: f, listFuncs, ListFunc, listfuncs, Listfunc, listFunctions, listfunctions] Get a list of all functions Connection Parameters: -a, --admin, --Admin Connect via admin (default-env-admin.json) [boolean] [default: false] --conn Connection Filename to override default-env.json Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] Options: -f, --function, --Function Function [string] [default: "*"] -s, --schema, --Schema schema [string] [default: "**CURRENT_SCHEMA**"] -l, --limit Limit results [number] [default: 200] ``` ![functions example](https://raw.githubusercontent.com/wiki/SAP-samples/hana-developer-cli-tool-example/images/functions.gif) ### hdi ```shell hana-cli hdi [aliases: hdiInstances, hdiinstances, hdiServices, listhdi, hdiservices, hdis] List all SAP HANA Cloud HDI service instances in your target Space Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] Options: -c, --cf, --cmd Cloud Foundry? [boolean] [default: true] ``` ![hdi example](https://raw.githubusercontent.com/wiki/SAP-samples/hana-developer-cli-tool-example/images/hdi.gif) ### hc ```shell hana-cli hc [name] [aliases: hcInstances, instances, listHC, listhc, hcinstances] List all SAP HANA Cloud instances in your target Space Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] Options: -n, --name SAP HANA Cloud Instance name [string] [default: "**default**"] ``` ![hc example](https://raw.githubusercontent.com/wiki/SAP-samples/hana-developer-cli-tool-example/images/hc.gif) ![hc #2 example](https://raw.githubusercontent.com/wiki/SAP-samples/hana-developer-cli-tool-example/images/hc_2.gif) ### hcStart ```shell hana-cli hcStart [name] [aliases: hcstart, hc_start, start] Start SAP HANA Cloud instance Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: false] --debug, --Debug Debug hana-cli itself by adding output of LOTS of intermediate details [boolean] [default: false] Options: -n, --name SAP HANA Cloud Instance name [string] [default: "**default**"] ``` ### hcStop ```shell hana-cli hcStop [name] [aliases: hcstop, hc_stop, stop] Stop SAP HANA Cloud instance Troubleshooting: --disableVerbose, --quiet Disable Verbose output - removes all extra output that is only helpful to human readable interface. Useful for scripting commands. [boolean] [default: