gdnsl
    TypeScript icon, indicating that this package has built-in type declarations

    0.0.44 • Public • Published

    gdnsl

    gdnsl is Macrometa GDN serverless command line interface (CLI)

    Usage

    $ npm install -g gdnsl
    $ gdnsl COMMAND
    running command...
    $ gdnsl (--version|-v)
    gdnsl/0.0.44 linux-x64 node-v14.18.2
    $ gdnsl --help [COMMAND]
    USAGE
      $ gdnsl COMMAND
    ...

    Commands

    gdnsl account

    Get account details.

    USAGE
      $ gdnsl account [-h] [-c <value>] [--all-regions | --local-region | --limits | --features | --regions |
        --plan] [-o json]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help for the account commands.
      -o, --output=(json)   Output format. Only json is allowed.
      --all-regions         Get account's all regions detail.
      --features            Get account features detail.
      --limits              Get account limits detail.
      --local-region        Get account local region details.
      --plan                Get account plan details.
      --regions             Get account regions detail.
    
    DESCRIPTION
      Get account details.
    
    EXAMPLES
      # Return limits of the account.
      $ gdnsl account --limits
     
      # Return account plan details.
      $ gdnsl account --plan
     
      # Return features enabled for the account.
      $ gdnsl account --features
     
      # Return list of regions available for the account.
      $ gdnsl account --regions
     
      # Return local region details.
      $ gdnsl account --local-region
     
      # Return all available regions of the GDN.
      $ gdnsl account --all-regions
    

    See code: dist/commands/account.ts

    gdnsl apikey

    Validate, create, delete an apikey.

    USAGE
      $ gdnsl apikey [-h] [-c <value>] [--list | --create | --delete | --key-id <value> | --validate <value>]
        [-o json]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help for the apikey commands.
      -o, --output=(json)   Output format. Only json is allowed.
      --create              Create an apikey.
      --delete              Delete an apikey.
      --key-id=<value>      the id of the api key.
      --list                List all the apikeys.
      --validate=<value>    Validate an apikey.
    
    DESCRIPTION
      Validate, create, delete an apikey.
    
    EXAMPLES
      # List api keys.
      $ gdnsl apikey --list
     
      # Get an existing api key, identified by keyid.
      $ gdnsl apikey --key-id testKey
     
      # Validate an apikey.
      $ gdnsl apikey --validate "anurag_macrometa.io.testKey.bpluElGqCbBIlkhDQrVsu4zBB2GxtPb3YCWcNsXSInmn"
     
      # Create an api key.
      $ gdnsl apikey --key-id testKey --create 
     
      # Delete api key.
      $ gdnsl apikey --key-id testKey --delete
    

    See code: dist/commands/apikey/index.ts

    gdnsl apikey clear

    Clear the access level of billing, collection, fabric and streams for a specific key id.

    USAGE
      $ gdnsl apikey clear [-h] [-c <value>] [--attributes <value> | [--billing ] | [--stream <value>  [--fabric
        <value> --key-id <value>]] | [--collection <value>  ]]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help for the clearing the access level for apikey.
      --attributes=<value>  Attributes of key-id
      --billing             Billing access level of the key-id
      --collection=<value>  Name of the collection for its access level
      --fabric=<value>      Name of the fabric for its access level
      --key-id=<value>      the id of the api key.
      --stream=<value>      Name of the stream for its access level
    
    DESCRIPTION
      Clear the access level of billing, collection, fabric and streams for a specific key id.
    
    EXAMPLES
      # Clears the stream access level for given stream for api key with keyid.
      $ gdnsl apikey clear --key-id testKey --fabric geoCountry --stream countryStream
     
      # Clears the fabric access level on the persons fabric for the api key with keyid.
      $ gdnsl apikey clear --key-id testKey --fabric persons
     
      # Clears the collection access level for the country collection in fabric geoCountry for the api key with keyid.
      $ gdnsl apikey clear --key-id testKey --fabric geoCountry --collection country
     
      # Clears the billing access level of keyid.
      $ gdnsl apikey clear --key-id testKey --billing
     
      # Delete a specific attribute of keyid.
      $ gdnsl apikey clear --key-id testKey --attributes name
    

    gdnsl apikey get

    Get the access level of billing, collection, fabric and streams for a specific key id.

    USAGE
      $ gdnsl apikey get [-h] [-c <value>] [--stream <value>  [--fabric <value> --key-id <value>]] [--collection
        <value>  ] [--billing ] [--attributes ] [--full ] [--all-streams ] [--all-collections ]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help for getting access level of the apikey.
      --all-collections     Flag for all the collections access level.
      --all-streams         Flag for all the streams access level.
      --attributes          Attributes of key-id.
      --billing             Billing access level of the key-id.
      --collection=<value>  Name of the collection for its access level.
      --fabric=<value>      Name of the fabric for its access level.
      --full                Return the full set of access levels.
      --key-id=<value>      The id of the api key.
      --stream=<value>      Name of the stream for its access level.
    
    DESCRIPTION
      Get the access level of billing, collection, fabric and streams for a specific key id.
    
    EXAMPLES
      # List the full accessible fabrics, streams and collections for a keyId. 
      $ gdnsl apikey get --key-id testKey --full 
     
      # List the accessible fabrics for a keyId. 
      $ gdnsl apikey get --key-id testKey 
     
      # List the accessible streams and collections in a fabric for a keyId. 
      $ gdnsl apikey get --key-id testKey --fabric geoCountry 
     
      # List all the accessible streams in a fabric for a keyId.
      $ gdnsl apikey get --key-id testKey --fabric geoCity --all-streams 
     
      # List all the full accessible streams in a fabric for a keyId.
      $ gdnsl apikey get --key-id testKey --fabric geoCity --all-streams --full 
     
      # Return the access level for a specific stream.
      $ gdnsl apikey get --key-id testKey --fabric geocountry --stream countryStream 
     
      # Return the access level for all collections.
      $ gdnsl apikey get --key-id testKey --fabric geocountry --all-collections 
     
      # Return the full access level for all collections.
      $ gdnsl apikey get --key-id testKey --fabric geocountry --all-collections --full 
     
      # Return the access level for a specific collection.
      $ gdnsl apikey get --key-id testKey --fabric geocountry --collection country 
     
      # Get the billing access level.
      $ gdnsl apikey get --key-id testKey --billing
     
      # Get the list of attributes for the specified keyid.
      $ gdnsl apikey get --key-id testKey --attributes
    

    gdnsl apikey set

    Set the access level of billing, collection, fabric and streams for a specific key id.

    USAGE
      $ gdnsl apikey set [-h] [-c <value>] [--attributes ] [--param <value> | [--billing ] | [--stream <value> 
        [--fabric <value> --key-id <value>]] | [--collection <value>  ]] [--permissions ro|wo|rw|none ]
    
    FLAGS
      -c, --config=<value>    gdnsl config file (default is ./gdnsl.yaml).
      -h, --help              Help for the apikey commands.
      --attributes            Attributes of key-id.
      --billing               Billing access level of the key-id.
      --collection=<value>    Name of the collection for its access level.
      --fabric=<value>        Name of the fabric for its access level.
      --key-id=<value>        the id of the api key.
      --param=<value>...      key/value pairs representing the bind parameters. Can be given multiple times.
      --permissions=<option>  permission flag for all the streams, collections,fabric and billing. Note: "wo" option is
                              applicable only to streams.
                              <options: ro|wo|rw|none>
      --stream=<value>        Name of the stream for its access level.
    
    DESCRIPTION
      Set the access level of billing, collection, fabric and streams for a specific key id.
    
    EXAMPLES
      # Set the stream access level to publish and subscribe for a specific stream in the database.
      $ gdnsl apikey set --key-id testKey --fabric geoCountry --stream countryStream --permissions rw
     
      # Set the stream access level to subscribe for a specific stream in the database.
      $ gdnsl apikey set --key-id testKey --fabric geoCity --stream cityStream --permissions ro
     
      # Set the stream access level to publish for a specific stream in the database. 
      $ gdnsl apikey set --key-id testKey --fabiricName geoState --stream stateStream --permissions wo
     
      # Set the stream access level to No access for a specific stream in the database. 
      $ gdnsl apikey set --key-id testKey --fabric geoRegion --stream regionStream --permissions none
     
      # Set the database access level to Administrate for a specific database. 
      $ gdnsl apikey set --key-id testKey --fabric persons --permissions rw
     
      # Set the database access level to Access for a specific database. 
      $ gdnsl apikey set --key-id testKey --fabric persons --permissions ro
     
      # Set the database access level to No access for a specific database. 
      $ gdnsl apikey set --key-id testKey --fabric persons --permissions none
     
      # Set the collection access level to Read/Write for a specific collection in the database.
      $ gdnsl apikey set --key-id testKey --fabric geoCountry --collection country --permissions rw
     
      # Set the collection access level to Read Only for a specific collection in the databas.
      $ gdnsl apikey set --key-id testKey --fabric geoCity --collection city --permissions ro
     
      # Set the collection access level to No access for a specific collection in the database. 
      $ gdnsl apikey set --key-id testKey --fabric geoRegion --collection region --permissions none
     
      # Set the billing access level to Administrate.
      $ gdnsl apikey set --billing --key-id testKey --permissions rw
     
      # Set the billing access level to Access.
      $ gdnsl apikey set --billing --key-id testKey --permissions ro
     
      # Set the billing access level to No access. 
      $ gdnsl apikey set --billing --key-id testKey --permissions none
     
      # Create/Update the attributes for api key with keyid 
      $ gdnsl apikey set --attributes --key-id testKey --param "key1=Value1" --param "key2=Value2"
    

    gdnsl autocomplete [SHELL]

    Display autocomplete installation instructions.

    USAGE
      $ gdnsl autocomplete [SHELL] [-r]
    
    ARGUMENTS
      SHELL  shell type
    
    FLAGS
      -r, --refresh-cache  Refresh cache (ignores displaying instructions)
    
    DESCRIPTION
      Display autocomplete installation instructions.
    
    EXAMPLES
      $ gdnsl autocomplete
    
      $ gdnsl autocomplete bash
    
      $ gdnsl autocomplete zsh
    
      $ gdnsl autocomplete --refresh-cache
    

    See code: @gdnsl/plugin-autocomplete

    gdnsl billing account

    Get details of a billing account.

    USAGE
      $ gdnsl billing account [-h] [-c <value>]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to get details of a billing account.
    
    DESCRIPTION
      Get details of a billing account.
    
    EXAMPLES
      
      # Describe a billing account.
      $ gdnsl billing account
    

    gdnsl billing contact

    Update contact details for given tenant name.

    USAGE
      $ gdnsl billing contact --firstname <value> --lastname <value> --email <value> --phone <value> --line1 <value>
        --line2 <value> --city <value> --state <value> --company <value> --country <value> --zipcode <value> [-h] [-c
        <value>]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to update contact details.
      --city=<value>        (required) City.
      --company=<value>     (required) Name of the company.
      --country=<value>     (required) Name of the country.
      --email=<value>       (required) Email address.
      --firstname=<value>   (required) First name.
      --lastname=<value>    (required) Last name.
      --line1=<value>       (required) Address Line 1.
      --line2=<value>       (required) Address Line 2.
      --phone=<value>       (required) Phone number.
      --state=<value>       (required) State.
      --zipcode=<value>     (required) Zip code.
    
    DESCRIPTION
      Update contact details for given tenant name.
    
    EXAMPLES
      
      # Update billing contact
      $ gdnsl billing contact
      --firstname Demo 
      --lastname Gdn 
      --email demo@mm.com 
      --phone 123445657 
      --line1 l1 --line2 l2 
      --city Pune 
      --state Maharashtra 
      --country India 
      --zipcode 111222
      --company Macrometa
    

    gdnsl billing invoice

    Get details of a billing account. (default is current month)

    USAGE
      $ gdnsl billing invoice [-h] [-c <value>] [--current | --year <value> | --month <value>] [--limit <value> --list]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to get details of a billing account.
      --current             Get invoice of the tenant for the current month.
      --limit=<value>       [default: 3] Number of previous months
      --list                List invoices for previous months. Default: 3
      --month=<value>       Month in 'DD' format. Valid values:[1..12] Example:12 (default is current month).
      --year=<value>        Year in 'YYYY' format. Example:2021 (default is current year).
    
    DESCRIPTION
      Get details of a billing account. (default is current month)
    
    EXAMPLES
      
      # Describe billing invoices for the current month.
      $ gdnsl billing invoice 
     
      # Describe billing invoice for the year 2021 and 11th month.
      $ gdnsl billing invoice --year 2021 --month 11
     
      # Describe billing invoice for the current year and 11th month.
      $ gdnsl billing invoice --month 11
     
      # Describe billing invoice for the year 2021 and current month.
      $ gdnsl billing invoice --year 2021
     
      # List billing invoices.
      $ gdnsl billing invoice --list
     
      # Describe billing invoices for the previous 4 months.
      $ gdnsl billing invoice --list --limit 4
    

    gdnsl billing payment

    Command for billing payments.

    USAGE
      $ gdnsl billing payment [-h] [-c <value>] [--limit <value>]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help for billing payments.
      --limit=<value>       [default: 3] Number of previous months.
    
    DESCRIPTION
      Command for billing payments.
    
    EXAMPLES
      
      # Get payment details of the previous months. (default is 3 months)
      $ gdnsl billing payment
     
      # Describe billing payment for the previous 4 months
      $ gdnsl billing payment --limit 4
    

    gdnsl billing plan

    List or describe existing billing plans.

    USAGE
      $ gdnsl billing plan [-h] [-c <value>] [--list] [--name <value>] [-o json]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to list or describe existing billing plans.
      -o, --output=(json)   Output format. Only json is allowed
      --list                List existing billing plans.
      --name=<value>        Name of the billing plan.
    
    DESCRIPTION
      List or describe existing billing plans.
    
    EXAMPLES
      
      # Describe billing 'ENTERPRISE' plan
      $ gdnsl billing plan --name ENTERPRISE
     
      # List all billing plans
      $ gdnsl billing plan --list
    

    gdnsl billing usage

    Get billing usage of the tenant in specific date range.

    USAGE
      $ gdnsl billing usage [-h] [-c <value>] [--start-date <value>] [--end-date <value>] [--region <value>]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to get billing usage of the tenant in specific date range.
      --end-date=<value>    End date in 'YYYY-MM-DD' format. Example: 2020-12-31. (default is today's date)
      --region=<value>      Name of the region.
      --start-date=<value>  Start date in 'YYYY-MM-DD' format. Example: 2020-12-01. (default is 1st day of the current
                            month)
    
    DESCRIPTION
      Get billing usage of the tenant in specific date range.
    
    EXAMPLES
      
      # Describe a billing usage starting from 1st day of the current month to till date.
      $ gdnsl billing usage
     
      # Describe a billing usage starting from 1st day of the current month to till date for the specified region.
      $ gdnsl billing usage --region 'prashant-ap-west'
     
      # Describe a billing usage starting from the specified date to till date.
      $ gdnsl billing usage --start-date '2021-10-10'
     
      # Describe a billing usage starting from the specified date to till the specified date.
      $ gdnsl billing usage --start-date '2021-05-01' --end-date '2021-10-30'
    

    gdnsl collection create NAME

    Create a document or edge collection.

    USAGE
      $ gdnsl collection create [NAME] [-h] [-c <value>] [--fabric <value>] [--type doc|edge] [--stream] [--local]
        [--userkeys --keygen traditional|autoincrement|uuid|padded] [--keyincrement <value> ] [--keyoffset <value> ]
        [--system]
    
    FLAGS
      -c, --config=<value>
          gdnsl config file (default is ./gdnsl.yaml).
    
      -h, --help
          Help to create document or edge collection.
    
      --fabric=<value>
          Name of the fabric. Default will be "_system".
    
      --keygen=<option>
          The keygenerator to use by GDN. Values - traditional, autoincrement, uuid and padded. traditional - This key
          generator generates numerical keys in ascending order. autoincrement- This key generator generates numerical keys in
          ascending order, the initial offset and the spacing can be configured. uuid - This key generator generates
          universally unique 128 bit keys, which are stored in hexadecimal human-readable format. The keys are not
          lexicographically sorted. padded - This key generator generates keys of a fixed length (16 bytes) in ascending
          lexicographical sort order.
          <options: traditional|autoincrement|uuid|padded>
    
      --keyincrement=<value>
          Increment value for autoincrement key generator. Not used for other key generator types.
    
      --keyoffset=<value>
          Initial offset value for autoincrement key generator. Not used for other key generator types.
    
      --local
          Specifies whether it is a local collection.
    
      --stream
          Enable stream on the collection. Default is false.
    
      --system
          Specifies whether it is a system collection. Only mm admins can create system collections.
    
      --type=<option>
          [default: doc] Specifies type of the collection. Values - "doc" or "edge". Default - "doc"
          <options: doc|edge>
    
      --userkeys
          Allow users to specify their own keys.
    
    DESCRIPTION
      Create a document or edge collection.
    
    EXAMPLES
      
      # Create a global cities document collection.
      $ gdnsl collection create cities --type doc 
     
      # Create a global cities edge collection.
      $ gdnsl collection create cities --type edge 
     
      # Create a global cities document collection and enable collection stream.
      $ gdnsl collection create cities --type doc --stream 
     
      # Create a local cities document collection and enable collection stream.
      $ gdnsl collection create cities --type doc --stream --local 
     
      # Create a global cities document collection with custom key generator.
      $ gdnsl collection create cities --type doc --keygen traditional --userkeys
    

    gdnsl collection delete NAME

    Delete a document or edge collection.

    USAGE
      $ gdnsl collection delete [NAME] [-h] [-c <value>] [--fabric <value>] [--truncate] [--system]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to delete a document or edge collection.
      --fabric=<value>      Name of the fabric. Default will be "_system"
      --system              Specifies whether it is a system collection. Only mm admins can create system collections.
      --truncate            Delete all entries from KV collection.
    
    DESCRIPTION
      Delete a document or edge collection.
    
    EXAMPLES
      
      # Delete a cities document collection.
      $ gdnsl collection delete cities
     
      # Delete a cities edge collection.
      $ gdnsl collection delete cities
     
      # Delete a cities edge collection which is a system collection.
      $ gdnsl collection delete _cities --system 
     
      # Remove all documents from cities collection but leave the indexes intact.
      $ gdnsl collection delete cities --truncate
    

    gdnsl collection describe NAME

    Get details of a collection.

    USAGE
      $ gdnsl collection describe [NAME] [-h] [-c <value>] [--fabric <value>] [--count]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to get details of a collection.
      --count               To return number of documents in the collection.
      --fabric=<value>      Name of the fabric. Default will be "_system".
    
    DESCRIPTION
      Get details of a collection.
    
    EXAMPLES
      
      # Get details of cities collection.
      $ gdnsl collection describe cities
     
      # Count documents in cities collection.
      $ gdnsl collection describe cities --count
    

    gdnsl collection list

    List collections.

    USAGE
      $ gdnsl collection list [-h] [-c <value>] [--fabric <value>] [--system] [-o json]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to list collections.
      -o, --output=(json)   Output format. Only json is allowed.
      --fabric=<value>      Name of the fabric. Default will be "_system".
      --system              Specifies whether it is a system collection. Only mm admins can create system collections.
    
    DESCRIPTION
      List collections.
    
    EXAMPLES
      
      # List all collections except system collections.
      $ gdnsl collection list
    

    gdnsl collection update NAME

    Enable stream on collection.

    USAGE
      $ gdnsl collection update [NAME] [-h] [-c <value>] [--fabric <value>] [--stream] [--wait-for-sync]
    
    ARGUMENTS
      NAME  Name of the collection
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to enable stream on collection.
      --fabric=<value>      Name of the fabric. Default will be "_system".
      --[no-]stream         Enable / Disable collection stream.
      --[no-]wait-for-sync  Creating or changing a document will wait until the data has been synchronized to disk.
    
    DESCRIPTION
      Enable stream on collection.
    
    EXAMPLES
      
      # Enable stream on collection cities.
      $ gdnsl collection update cities --stream 
      # Disable stream on collection cities.
      $ gdnsl collection update cities --no-stream
      # Enable waitForSync on collection cities.
      $ gdnsl collection update cities --wait-for-sync 
      # Disable waitForSync on collection cities.
      $ gdnsl collection update cities --no-wait-for-sync
      # Enable stream and waitForSync on collection cities.
      $ gdnsl collection update cities --stream --wait-for-sync 
      # Disable stream and waitForSync on collection cities.
      $ gdnsl collection update cities --no-stream --no-wait-for-sync
    

    gdnsl configmap create NAME

    Create a configMap from a local file, directory or literal value.

    USAGE
      $ gdnsl configmap create [NAME] [-h] [-r <value>] [-c <value>] [--from-literal <value>] [--file <value>]
    
    FLAGS
      -c, --config=<value>
          gdnsl config file (default is ./gdnsl.yaml).
    
      -h, --help
          Help to create a configmap.
    
      -r, --regions=<value>...
          List of region names or keywords (LOCAL or ALL). Overrides the region setting in gdnsl.yml config file.
    
      --file=<value>...
          Key files can be specified using their file path,
          in which case a default name will be given to them,
          or optionally with a name and file path,
          in which case the given name will be used.
          Specifying a directory will iterate each named file
          in the directory that is a valid configmap key.
    
      --from-literal=<value>...
          Specify a key and literal value to insert in configmap (i.e. mykey=somevalue)
    
    DESCRIPTION
      Create a configMap from a local file, directory or literal value.
    
    EXAMPLES
      # Create a new configmap named my-config with keys for each file in folder bar.
      $ gdnsl configmap create my-config --file=path/to/bar
     
      # Create a new configmap named my-config with specified keys instead of names on disk.
      $ gdnsl configmap create my-config --file=ssh-privatekey=~/.ssh/id_rsa --file=ssh-publickey=~/.ssh/id_rsa.pub
     
      # Create a new configMap named my-c onfig with key1=config1 and key2=config2.
      $ gdnsl configmap create my-config --from-literal=key1=config1 --from-literal=key2=config2
    

    gdnsl configmap delete NAME

    Delete a configmap.

    USAGE
      $ gdnsl configmap delete [NAME] [-c <value>] [-r <value>] [-h] [-o json|yaml] [-v <value>]
    
    FLAGS
      -c, --config=<value>   gdnsl config file (default is ./gdnsl.yaml).
      -h, --help             Help to delete a configmap.
      -o, --output=<option>  [default: json] Output format. One of: json|yaml
                             <options: json|yaml>
      -r, --regions=<value>  List of region names or keywords (LOCAL or ALL). Overrides the region setting in gdnsl.yml
                             config file.
      -v, --verbose=<value>  More output.
    
    DESCRIPTION
      Delete a configmap.
    
    EXAMPLES
      # Delete configmap 'my-config'
      $ gdnsl configmap delete my-config
    

    gdnsl configmap describe NAME

    Describe a configmap.

    USAGE
      $ gdnsl configmap describe [NAME] [-c <value>] [-r <value>] [-h] [-o json|yaml] [-v <value>]
    
    FLAGS
      -c, --config=<value>      gdnsl config file (default is ./gdnsl.yaml).
      -h, --help                Help to describe a configmap.
      -o, --output=(json|yaml)  Output format. One of: json|yaml
      -r, --regions=<value>     List of region names or keywords (LOCAL or ALL). Overrides the region setting in gdnsl.yml
                                config file.
      -v, --verbose=<value>     More output.
    
    DESCRIPTION
      Describe a configmap.
    
    EXAMPLES
      # Describe details of game-config configmap.
      $ gdnsl configmap describe game-config
    

    gdnsl configmap list

    List all configmaps.

    USAGE
      $ gdnsl configmap list [-c <value>] [-r <value>] [-h] [-o json|yaml] [-v <value>]
    
    FLAGS
      -c, --config=<value>      gdnsl config file (default is ./gdnsl.yaml)
      -h, --help                Help to list all configmaps.
      -o, --output=(json|yaml)  Output format. One of: json|yaml
      -r, --regions=<value>     List of region names or keywords (LOCAL or ALL). Overrides the region setting in gdnsl.yml
                                config file.
      -v, --verbose=<value>     More output.
    
    DESCRIPTION
      List all configmaps.
    
    EXAMPLES
      # List all configmaps
      $ gdnsl configmap list
    

    gdnsl configmap update NAME

    Update a configmap.

    USAGE
      $ gdnsl configmap update [NAME] --from-literal <value> [-h] [-r <value>] [-c <value>]
    
    FLAGS
      -c, --config=<value>       gdnsl config file (default is ./gdnsl.yaml).
      -h, --help                 Help to update a configmap.
      -r, --regions=<value>...   List of region names or keywords (LOCAL or ALL). Overrides the region setting in gdnsl.yml
                                 config file.
      --from-literal=<value>...  (required) Specify a key and literal value to insert in secret (i.e. mykey=somevalue).
    
    DESCRIPTION
      Update a configmap.
    

    gdnsl export

    Export data.

    USAGE
      $ gdnsl export [-h] [-c <value>] [--fabric <value>] [--param <value> [--query <value> | --collection
        <value> | --offset <value> | --limit <value> | --order asc|desc]] [--csv | --file <value>]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help for export command.
      --collection=<value>  Collection name to export data from.
      --csv                 To export in CSV format. Default is JSON.
      --fabric=<value>      Name of the fabric. Default will be "_system".
      --file=<value>        path to JSON or CSV file. File format is inferred from the file extension. Note: Only json and
                            csv extensions are allowed.
      --limit=<value>       This option can be used to simulate paging. Limit the result. Default: 20, Max: 1000.
      --offset=<value>      This option can be used to simulate paging. Default: 0.
      --order=<option>      Order the results asc or desc. Default: asc.
                            <options: asc|desc>
      --param=<value>...    Param to be given to the query. Can be given multiple times.
      --query=<value>       Query string to execute and export data
    
    DESCRIPTION
      Export data.
    
    EXAMPLES
      # Export data returned by the query.
      $ gdnsl export --query "FOR doc IN addresses RETURN doc"
     
      # Export data returned by the query with based on the given filter.
      $ gdnsl export --query "FOR doc IN addresses FILTER doc.country == @country RETURN doc" --param "country=USA"
     
      # Export data returned by the query in CSV format.
      $ gdnsl export --query "FOR doc IN addresses RETURN doc" --csv
     
      # Export data returned by the query in JSON format to a file.
      $ gdnsl export --query "FOR doc IN addresses RETURN doc" --file test.json
     
      # Export data from "addresses" collection.
      $ gdnsl export --collection addresses
     
      # Export data from "addresses" collection with offset as 10.
      $ gdnsl export --collection addresses --offset 10
     
      # Export data from "addresses" collection with limit as 10.
      $ gdnsl export --collection addresses --limit 10
     
      # Export data from "addresses" collection in descending order.
      $ gdnsl export --collection addresses --order desc
     
      # Export data from "addresses" collection in CSV format.
      $ gdnsl export --collection addresses --csv
     
      # Export data from "addresses" collection in CSV format. File format is inferred from the file name.
      $ gdnsl export --collection addresses --file test.csv
    

    See code: @gdnsl/plugin-db

    gdnsl fabric create NAME

    Create a new fabric.

    USAGE
      $ gdnsl fabric create [NAME] --datacenter <value> [-h] [-c <value>] [--spot-datacenter <value>] [--user <value>]
        [--metadata <value>]
    
    ARGUMENTS
      NAME  Fabric name
    
    FLAGS
      -c, --config=<value>          gdnsl config file (default is ./gdnsl.yaml).
      -h, --help                    Help to create a fabric.
      --datacenter=<value>...       (required) Name of a Edge Location (datacenter). ie, Edge Location URL prefixes up to
                                    the first "." character.
      --metadata=<value>...         An optional JSON object with user defined key-value pairs.
      --spot-datacenter=<value>...  The Edge Location (Datacenter) where on-spot operations for the given fabric will be
                                    performed.
      --user=<value>...             Username that will have admin access to the new fabric.
    
    DESCRIPTION
      Create a new fabric.
    
    EXAMPLES
      
      # Create demo fabric in the prashant-ap-west data-center.
      $ gdnsl fabric create demo --datacenter "prashant-ap-west" --datacenter "prashant-eu-central"
     
      # Create demo fabric in the data-center with metadata.
      $ gdnsl fabric create demo --datacenter "prashant-ap-west" --datacenter "prashant-eu-central" --metadata "key=value"
     
      # Create demo fabric in the data-center with spot-datacenter.
      $ gdnsl fabric create demo --datacenter "prashant-ap-west" --datacenter "prashant-eu-central" --spot-datacenter prashant-us-east
     
      # Create demo fabric in the data-center with a user.
      $ gdnsl fabric create demo --datacenter "prashant-ap-west" --datacenter "prashant-eu-central" --user admin
     
      # Create demo fabric with 2 metadata objects.
      $ gdnsl fabric create demo --datacenter "prashant-ap-west" --datacenter "prashant-eu-central" --metadata "key1=value1" --metadata "key2=value2"
    

    gdnsl fabric delete NAME

    Delete a fabric.

    USAGE
      $ gdnsl fabric delete [NAME] [-h] [-c <value>]
    
    ARGUMENTS
      NAME  Fabric name.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to delete a fabric.
    
    DESCRIPTION
      Delete a fabric.
    
    EXAMPLES
     
      # Delete demo fabric.
      $ gdnsl fabric delete demo
    

    gdnsl fabric describe FABRIC

    Get details of a fabric.

    USAGE
      $ gdnsl fabric describe [FABRIC] [-h] [-c <value>]
    
    ARGUMENTS
      FABRIC  Fabric name.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to get details of a fabric.
    
    DESCRIPTION
      Get details of a fabric.
    
    EXAMPLES
      # Describe demo fabric
      $ gdnsl fabric describe demo
    

    gdnsl fabric list

    Retrieve the list of all existing fabrics.

    USAGE
      $ gdnsl fabric list [-h] [-c <value>] [--all] [-o json]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to list all fabrics.
      -o, --output=(json)   Output format. Only json is allowed.
      --all                 List of all fabrics.
    
    DESCRIPTION
      Retrieve the list of all existing fabrics.
    
    EXAMPLES
      
      # List fabrics from the server and returns an array of their names.
      $ gdnsl fabric list
     
      # List all fabrics accessible to the active user from the server and returns an array of their names.
      $ gdnsl fabric list --all
    

    gdnsl fabric update FABRIC

    Update a fabric.

    USAGE
      $ gdnsl fabric update [FABRIC] [-h] [-c <value>] [--metadata <value>]
    
    ARGUMENTS
      FABRIC  Fabric name.
    
    FLAGS
      -c, --config=<value>   gdnsl config file (default is ./gdnsl.yaml).
      -h, --help             Help to update a fabric.
      --metadata=<value>...  An optional JSON object with user defined key-value pairs.
    
    DESCRIPTION
      Update a fabric.
    
    EXAMPLES
      # Update demo fabric metadata with 2 metadata objects.
      $ gdnsl fabric update demo --metadata "key1=test1" --metadata "key2=test2"
    

    gdnsl graph create NAME

    Create a graph.

    USAGE
      $ gdnsl graph create [NAME] [-h] [-c <value>] [--fabric <value>] [--edge-definition <value>] [--option <value>]
    
    ARGUMENTS
      NAME  Name of the graph.
    
    FLAGS
      -c, --config=<value>
          gdnsl config file (default is ./gdnsl.yaml).
    
      -h, --help
          Help to create a graph.
    
      --edge-definition=<value>...
          Specify the edge definition of the graph. This edge definition has to contain a collection and an array of each from
          and to vertex collections. An edge definition can only be added if this definition is either not used in any other
          graph, or it is used with exactly the same definition. It is not possible to store a definition "e" from "v1" to
          "v2" in the one graph, and "e" from "v2" to "v1" in the other graph. Can be given multiple times.
    
      --fabric=<value>
          Name of the fabric. Default will be "_system".
    
      --option=<value>
          Specify any additional options to be given. Can be given multiple times.
    
    DESCRIPTION
      Create a graph.
    
    EXAMPLES
      
      # Create a graph "social".
      $ gdnsl graph create social
      # The edge-definition format is "EDGE_COLLECTION:FROM_VERTICES:TO_VERTICES". Create a graph "social" with edge collection "relation", "from" vertex as "female" & "male" and "to" vertex as "female" & "male".
      $ gdnsl graph create social --edge-definition "relation:female,male:female,male"
      # The edge-definition format is "EDGE_COLLECTION:FROM_VERTICES:TO_VERTICES". Create a graph "social" with edge collection "relation", "from" vertex as "female" & "male" and "to" vertex as "female" & "male" with additional options specified.
      $ gdnsl graph create social --edge-definition "relation:female,male:female,male" --option "key=value"
    

    gdnsl graph delete NAME

    Delete a graph.

    USAGE
      $ gdnsl graph delete [NAME] [-h] [-c <value>] [--fabric <value>] [--drop-collections]
    
    ARGUMENTS
      NAME  Name of the graph.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to delete a graph
      --drop-collections    Drop the collection as well. Collection will only be dropped if it is not used in other graphs.
                            Default is false.
      --fabric=<value>      Name of the fabric. Default will be "_system"
    
    DESCRIPTION
      Delete a graph.
    
    EXAMPLES
      
      # Drop the graph "social".
      $ gdnsl graph delete social
      # Drop the graph "social" and any collections if they are not used in other graphs.
      $ gdnsl graph delete social --drop-collections
    

    gdnsl graph describe NAME

    Describe a graph.

    USAGE
      $ gdnsl graph describe [NAME] [-h] [-c <value>] [--fabric <value>] [--edge-definitions] [--vertex]
    
    ARGUMENTS
      NAME  Name of the graph.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to describe a graph
      --edge-definitions    Get all the edge definitions of a graph.
      --fabric=<value>      Name of the fabric. Default will be "_system"
      --vertex              Get all the vertex collections of a graph.
    
    DESCRIPTION
      Describe a graph.
    
    EXAMPLES
      
      # Describe the graph "social".
      $ gdnsl graph describe social
      # Describe all edge definitions of the graph "social".
      $ gdnsl graph describe social --edge-definitions
      # Describe all vertex collections of the graph "social".
      $ gdnsl graph describe social --vertex
    

    gdnsl graph edge create NAME

    Create an edge.

    USAGE
      $ gdnsl graph edge create [NAME] --from <value> --to <value> --collection <value> [-h] [-c <value>] [--fabric
        <value>] [--return-new]
    
    ARGUMENTS
      NAME  Name of the graph.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to create an edge
      --collection=<value>  (required) The name of the edge collection the edge belongs to.
      --fabric=<value>      Name of the fabric. Default will be "_system"
      --from=<value>        (required) The source vertex of this edge. Has to be valid within the used edge definition.
      --return-new          Define if the response should contain the complete new version of the document.
      --to=<value>          (required) The target vertex of this edge. Has to be valid within the used edge definition.
    
    DESCRIPTION
      Create an edge.
    
    EXAMPLES
      
      # Create an edge in the "social" graph in "relation" edge-collection from "male/John" to "female/Doe".
      $ gdnsl graph edge create social --collection relation --from "male/John" --to "female/Doe"
     
      # Create an edge in the "social" graph in "relation" edge-collection from "male/John" to "female/Doe" and return the new version of the document.
      $ gdnsl graph edge create social --collection relation --from "male/John" --to "female/Doe" --return-new
    

    gdnsl graph edge delete NAME

    Remove an edge from the collection.

    USAGE
      $ gdnsl graph edge delete [NAME] --collection <value> --edge <value> [-h] [-c <value>] [--fabric <value>]
        [--return-old] [--if-match <value>]
    
    ARGUMENTS
      NAME  Name of the graph.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to delete an edge.
      --collection=<value>  (required) The name of the edge collection the edge belongs to.
      --edge=<value>        (required) The _key attribute of the edge.
      --fabric=<value>      Name of the fabric. Default will be "_system"
      --if-match=<value>    If the "If-Match" header is given, then it must contain exactly one Etag. The document is
                            updated, if it has the same revision as the given Etag. Otherwise a HTTP 412 is returned
      --return-old          Define if a presentation of the deleted document should be returned within the response object.
                            Default is false
    
    DESCRIPTION
      Remove an edge from the collection.
    
    EXAMPLES
      
      # delete an edge in the "social" graph in "relation" edge-collection having edge _id attribute as "MwPFf8dgSH-bxeNxuPh6bw".
      $ gdnsl graph edge delete social --collection relation --edge "MwPFf8dgSH-bxeNxuPh6bw"
     
      # delete an edge in the "social" graph in "relation" edge-collection _id attribute as "MwPFf8dgSH-bxeNxuPh6bw" and return the new version of the document.
      $ gdnsl graph edge delete social --collection relation --edge "MwPFf8dgSH-bxeNxuPh6bw"
    

    gdnsl graph edge describe NAME

    Describe an edge.

    USAGE
      $ gdnsl graph edge describe [NAME] --collection <value> --edge <value> [-h] [-c <value>] [--fabric <value>] [--rev
        <value>] [--if-match <value>] [--if-none-match <value>]
    
    ARGUMENTS
      NAME  Name of the graph.
    
    FLAGS
      -c, --config=<value>     gdnsl config file (default is ./gdnsl.yaml).
      -h, --help               Help to describe a graph
      --collection=<value>     (required) he name of the vertex collection the vertex belongs to.
      --edge=<value>           (required) The _key attribute of the edge.
      --fabric=<value>         Name of the fabric. Default will be "_system"
      --if-match=<value>       If the "If-Match" header is given, then it must contain exactly one Etag. The document is
                               returned, if it has the same revision as the given Etag. Otherwise a HTTP 412 is returned. As
                               an alternative you can supply the Etag in an query parameter rev.
      --if-none-match=<value>  If the "If-None-Match" header is given, then it must contain exactly one Etag. The document
                               is returned, only if it has a different revision as the given Etag. Otherwise a HTTP 304 is
                               returned.
      --rev=<value>            Must contain a revision. If this is set a document is only returned if it has exactly this
                               revision. Also see if-match header as an alternative to this. Default is false.
    
    DESCRIPTION
      Describe an edge.
    
    EXAMPLES
      
      # Describe the edge with the _key as "1w44RO8kQMG3kB0feiua1g" in the collection "relation".
      $ gdnsl graph edge describe social --collection relation --edge 1w44RO8kQMG3kB0feiua1g
    

    gdnsl graph edge list

    List edges starting or ending in the vertex.

    USAGE
      $ gdnsl graph edge list --vertex-id <value> --collection <value> [-h] [-c <value>] [--fabric <value>] [--direction
        in|out]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to create a graph
      --collection=<value>  (required) The id of the collection.
      --direction=<option>  Selects "in" or "out" direction for edges. If not set, any edges are returned.
                            <options: in|out>
      --fabric=<value>      Name of the fabric. Default will be "_system"
      --vertex-id=<value>   (required) The id of the start vertex.
    
    DESCRIPTION
      List edges starting or ending in the vertex.
    
    EXAMPLES
      
      # Get the edges from the "relation" collection from any direction in the vertex "female/alice".
      $ gdnsl graph edge list --collection relation --vertex-id "female/alice"
     
      # Get the edges from the "relation" collection from "in" direction in the vertex "female/alice".
      $ gdnsl graph edge list --collection relation --vertex-id "female/alice" --direction "in"
    

    gdnsl graph edge replace NAME

    Replaces the data of an edge in the collection.

    USAGE
      $ gdnsl graph edge replace [NAME] --collection <value> --data <value> --edge <value> [-h] [-c <value>] [--fabric
        <value>]
    
    ARGUMENTS
      NAME  Name of the graph.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to update a graph
      --collection=<value>  (required) The name of the edge collection the edge belongs to.
      --data=<value>        (required) json string of the data to be stored
      --edge=<value>        (required) The _key attribute of the edge.
      --fabric=<value>      Name of the fabric. Default will be "_system"
    
    DESCRIPTION
      Replaces the data of an edge in the collection.
    
    EXAMPLES
      
      # Replace the edge with the _key as "1w44RO8kQMG3kB0feiua1g" in the collection "relation" in the graph "social".
      $ gdnsl graph edge replace social --collection relation --edge 1w44RO8kQMG3kB0feiua1g --data '{"name": "John", "lname": "Doe"}'
    

    gdnsl graph edge update NAME

    Update an edge.

    USAGE
      $ gdnsl graph edge update [NAME] --collection <value> --edge <value> --data <value> [-h] [-c <value>] [--fabric
        <value>] [--keep-null] [--return-old] [--return-new] [--if-match <value>]
    
    ARGUMENTS
      NAME  Name of the graph.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to update an edge
      --collection=<value>  (required) The name of the edge collection the edge belongs to.
      --data=<value>        (required) JSON body as string.
      --edge=<value>        (required) The _key attribute of the edge.
      --fabric=<value>      Name of the fabric. Default will be "_system"
      --if-match=<value>    If the "If-Match" header is given, then it must contain exactly one Etag. The document is
                            updated, if it has the same revision as the given Etag. Otherwise a HTTP 412 is returned
      --keep-null           Define if values set to null should be stored. By default the key is not removed from the
                            document. Default is true.
      --return-new          Define if a presentation of the new document should be returned within the response object.
                            Default is true.
      --return-old          Define if a presentation of the deleted document should be returned within the response object.
                            Default is false.
    
    DESCRIPTION
      Update an edge.
    
    EXAMPLES
      
      # Replace the edge with the _key as "1w44RO8kQMG3kB0feiua1g" in the collection "relation" in the graph "social".
      $ gdnsl graph edge update social --collection relation --edge 1w44RO8kQMG3kB0feiua1g --data '{"fname":"John"}'
    

    gdnsl graph list

    List graphs.

    USAGE
      $ gdnsl graph list [-h] [-c <value>] [--fabric <value>] [-o json]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to list graphs
      -o, --output=(json)   Output format. Only json is allowed.
      --fabric=<value>      Name of the fabric. Default will be "_system"
    
    DESCRIPTION
      List graphs.
    
    EXAMPLES
      
      # List all graphs
      $ gdnsl graph list
    

    gdnsl graph traversal

    Traverse a graph.

    USAGE
      $ gdnsl graph traversal --edge-collection <value> --start-vertex <value> [-h] [-c <value>] [--fabric <value>]
        [--direction outbound|inbound|any] [--expander <value>] [--filter <value>] [--init <value>] [--item-order
        forward|backward] [--max-depth <value>] [--max-iterations <value>] [--min-depth <value>] [--order
        preorder|postorder|preorder-expander] [--sort <value>] [--strategy depthfirst|breadthfirst] [--uniqueness-vertices
        none|global|path --uniqueness-edges none|global|path] [--visitor <value>]
    
    FLAGS
      -c, --config=<value>
          gdnsl config file (default is ./gdnsl.yaml).
    
      -h, --help
          Help to traverse a graph.
    
      --direction=<option>
          Direction for traversal. If set, must be either "outbound", "inbound", or "any"; if not set, the expander attribute
          must be specified.
          <options: outbound|inbound|any>
    
      --edge-collection=<value>
          (required) Name of the collection that contains the edges.
    
      --expander=<value>
          Body (JavaScript) code of custom expander function must be set if direction attribute is not set function signature:
          (config, vertex, path) -> array expander must return an array of the connections for vertex each connection is an
          object with the attributes edge and vertex
    
      --fabric=<value>
          Name of the fabric. Default will be "_system"
    
      --filter=<value>
          Default is to include all nodes: body (JavaScript code) of custom filter function function signature: (config,
          vertex, path) -> mixed can return four different string values:
          "exclude" -> this vertex will not be visited.
          "prune" -> the edges of this vertex will not be followed.
          "" or undefined -> visit the vertex and follow its edges.
          Array -> containing any combination of the above. If there is at least one "exclude" or "prune" respectively is
          contained, it's effect will occur.
    
      --init=<value>
          Body (JavaScript) code of custom result initialization function function signature: (config, result) -> void
          initialize any values in result with what is required.
    
      --item-order=<option>
          Item iteration order can be "forward" or "backward".
          <options: forward|backward>
    
      --max-depth=<value>
          ANDed with any existing filters visits only nodes in at most the given depth.
    
      --max-iterations=<value>
          Maximum number of iterations in each traversal. This number can be set to prevent endless loops in traversal of
          cyclic graphs. When a traversal performs as many iterations as the maxIterations value, the traversal will abort
          with an error. If maxIterations is not set, a server-defined value may be used.
    
      --min-depth=<value>
          ANDed with any existing filters): visits only nodes in at least the given depth.
    
      --order=<option>
          Traversal order can be "preorder", "postorder" or "preorder-expander".
          <options: preorder|postorder|preorder-expander>
    
      --sort=<value>
          Body (JavaScript) code of a custom comparison function for the edges. The signature of this function is (l, r) ->
          integer (where l and r are edges) and must return -1 if l is smaller than, +1 if l is greater than, and 0 if l and r
          are equal. The reason for this is the following: The order of edges returned for a certain vertex is undefined. This
          is because there is no natural order of edges for a vertex with multiple connected edges. To explicitly define the
          order in which edges on the vertex are followed, you can specify an edge comparator function with this attribute.
          Note that the value here has to be a string to conform to the JSON standard, which in turn is parsed as function
          body on the server side. Furthermore note that this attribute is only used for the standard expanders. If you use
          your custom expander you have to do the sorting yourself within the expander code.
    
      --start-vertex=<value>
          (required) Id of the startVertex, e.g. "users/foo".
    
      --strategy=<option>
          Traversal strategy can be "depthfirst" or "breadthfirst".
          <options: depthfirst|breadthfirst>
    
      --uniqueness-edges=<option>
          Specifies uniqueness for edges visited. If set "uniqueness-vertices" must also be provided. Valid value is one of
          "none"|"global"|"path".
          <options: none|global|path>
    
      --uniqueness-vertices=<option>
          Specifies uniqueness for vertices visited. If set "uniqueness-edges" must also be provided. Valid value is one of
          "none"|"global"|"path".
          <options: none|global|path>
    
      --visitor=<value>
          Body (JavaScript) code of custom visitor function function signature: (config, result, vertex, path, connected) ->
          void The visitor function can do anything, but its return value is ignored. To populate a result, use the result
          variable by reference. Note that the connected argument is only populated when the order attribute is set to
          "preorder-expander".
    
    DESCRIPTION
      Traverse a graph.
    
    EXAMPLES
      
      # Traverse a graph.
      $ gdnsl graph traversal --edge-collection edges --start-vertex "circles/F" --direction 'any' --visitor 'result.vertices.push(vertex._key);' --init 'result.vertices = [];' --order postorder
    

    gdnsl graph update GRAPHNAME

    Update a graph.

    USAGE
      $ gdnsl graph update [GRAPHNAME] [-h] [-c <value>] [--fabric <value>] [--stream | [--add-edge-definition <value>
        | --add-vertex-collection <value> | --remove-vertex-collection <value> | --replace-edge-definition <value> |
        --remove-edge-collection <value>] |  |  |  |  | --drop-collection | --collection <value>] [--wait-for-sync |  |  |
        |  |  |  | ]
    
    ARGUMENTS
      GRAPHNAME  Name of the graph.
    
    FLAGS
      -c, --config=<value>
          gdnsl config file (default is ./gdnsl.yaml).
    
      -h, --help
          Help to update a graph.
    
      --add-edge-definition=<value>...
          specify the edge definition of the graph. This edge definition has to contain a collection and an array of each from
          and to vertex collections. An edge definition can only be added if this definition is either not used in any other
          graph, or it is used with exactly the same definition. It is not possible to store a definition "e" from "v1" to
          "v2" in the one graph, and "e" from "v2" to "v1" in the other graph.
    
      --add-vertex-collection=<value>
          Adds a vertex collection to the set of orphan collections of the graph. If the collection does not exist, it will be
          created.
    
      --collection=<value>
          The name of the edge collection the edge belongs to. Should be used with "--replace-edge-definition" flag.
    
      --drop-collection
          Drop the collection as well. Collection will only be dropped if it is not used in other graphs. Default value is
          false.
    
      --fabric=<value>
          Name of the fabric. Default will be "_system".
    
      --remove-edge-collection=<value>
          Remove one edge definition from the graph. This will only remove the edge collection, the vertex collections remain
          untouched and can still be used in your queries.
    
      --remove-vertex-collection=<value>
          The name of the edge collection the edge belongs to. Removes a vertex collection from the graph and optionally
          deletes the collection, if it is not used in any other graph. It can only remove vertex collections that are no
          longer part of edge definitions, if they are used in edge definitions you are required to modify those first.
    
      --replace-edge-definition=<value>...
          Specify the edge definition of the graph. This edge definition has to contain a collection and an array of each from
          and to vertex collections. An edge definition can only be added if this definition is either not used in any other
          graph, or it is used with exactly the same definition. It is not possible to store a definition "e" from "v1" to
          "v2" in the one graph, and "e" from "v2" to "v1" in the other graph.
    
      --[no-]stream
          Enable / Disable kv collection stream.
    
      --[no-]wait-for-sync
          Creating or changing a document will wait until the data has been synchronized to disk.
    
    DESCRIPTION
      Update a graph.
    
    EXAMPLES
      
      # The edge-definition format is "EDGE_COLLECTION:FROM_VERTICES:TO_VERTICES". Add an edge-definition to the graph "social" for the edge collection "relation", set "from" vertex as "female" & "male" and set "to" vertex as "female" & "male"
      $ gdnsl graph update social --add-edge-definition "relation:female,male:female,male"
     
      # Add a vertex collection "age" to the graph "social"'s orphan collections.
      $ gdnsl graph update social --add-vertex-collection "age"
     
      # Remove "age" vertex collection from graph "social".
      $ gdnsl graph update social --remove-vertex-collection "age"
     
      # Remove the edge definitions belonging to the "relation" edge collection.
      $ gdnsl graph update social --remove-edge-collection "relation"
     
      # The edge-definition format is "EDGE_COLLECTION:FROM_VERTICES:TO_VERTICES". Replace an edge-definition of the graph "social" for the edge collection "relation", set "from" vertices as "female" & "male", and set "to" vertices as "female" & "male". 
      $ gdnsl graph update social --collection relation --replace-edge-definition "relation:female,male:female,male"
     
      # Replace a vertex collection "age" to the graph "social"'s orphan collections and drop the collection if it is not being used.
      $ gdnsl graph update social --collection relation --replace-edge-definition "relation:female,male:female,male" --drop-collections
     
      # Enable stream on graph collection social.
      $ gdnsl graph update social --stream 
     
      # Disable stream on graph collection social.
      $ gdnsl graph update social --no-stream
     
      # Enable waitForSync on graph collection social.
      $ gdnsl graph update social --wait-for-sync 
     
      # Disable waitForSync on graph collection social.
      $ gdnsl graph update social --no-wait-for-sync
     
      # Enable stream and waitForSync on graph collection social.
      $ gdnsl graph update social --stream --wait-for-sync 
     
      # Disable stream and waitForSync on graph collection social.
      $ gdnsl graph update social --no-stream  --no-wait-for-sync
    

    gdnsl graph vertex create NAME

    Create a vertex.

    USAGE
      $ gdnsl graph vertex create [NAME] --collection <value> [-h] [-c <value>] [--fabric <value>] [--return-new] [--data
        <value>]
    
    ARGUMENTS
      NAME  Name of the graph.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to create a vertex.
      --collection=<value>  (required) The name of the vertex collection the vertex belongs to.
      --data=<value>        JSON string of the data to be stored.
      --fabric=<value>      Name of the fabric. Default will be "_system"
      --return-new          Define if the response should contain the complete new version of the document.
    
    DESCRIPTION
      Create a vertex.
    
    EXAMPLES
      
      # Create a vertex in the graph "social" with the vertex collection as "male".
      $ gdnsl graph vertex create social --collection male --data '{"name": "John"}'
    

    gdnsl graph vertex delete NAME

    Delete a vertex.

    USAGE
      $ gdnsl graph vertex delete [NAME] --collection <value> --vertex <value> [-h] [-c <value>] [--fabric <value>]
        [--return-old] [--if-match <value>]
    
    ARGUMENTS
      NAME  Name of the graph.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to delete a vertex
      --collection=<value>  (required) The name of the vertex collection the vertex belongs to.
      --fabric=<value>      Name of the fabric. Default will be "_system"
      --if-match=<value>    If the "If-Match" header is given, then it must contain exactly one Etag. The document is
                            updated, if it has the same revision as the given Etag. Otherwise a HTTP 412 is returned.
      --return-old          Define if a presentation of the deleted document should be returned within the response object.
                            Default is false.
      --vertex=<value>      (required) The _key attribute of the vertex.
    
    DESCRIPTION
      Delete a vertex.
    
    EXAMPLES
      
      # Delete a vertex in the graph "social" with the vertex collection as "male" having _key as "John".
      $ gdnsl graph vertex delete social --collection male --vertex "John"
      # Delete a vertex in the graph "social" with the vertex collection as "male" having _key as "John" and return the old object.
      $ gdnsl graph vertex delete social --collection male --vertex "John" --return-old
    

    gdnsl graph vertex describe NAME

    Describe a vertex.

    USAGE
      $ gdnsl graph vertex describe [NAME] --collection <value> --vertex <value> [-h] [-c <value>] [--fabric <value>] [--rev
        <value>] [--if-match <value>] [--if-none-match <value>]
    
    ARGUMENTS
      NAME  Name of the graph.
    
    FLAGS
      -c, --config=<value>     gdnsl config file (default is ./gdnsl.yaml).
      -h, --help               Help to describe a vertex
      --collection=<value>     (required) The name of the vertex collection the vertex belongs to.
      --fabric=<value>         Name of the fabric. Default will be "_system"
      --if-match=<value>       If the "If-Match" header is given, then it must contain exactly one Etag. The document is
                               returned, if it has the same revision as the given Etag. Otherwise a HTTP 412 is returned. As
                               an alternative you can supply the Etag in an query parameter rev.
      --if-none-match=<value>  If the "If-None-Match" header is given, then it must contain exactly one Etag. The document
                               is returned, only if it has a different revision as the given Etag. Otherwise a HTTP 304 is
                               returned.
      --rev=<value>            Must contain a revision. If this is set a document is only returned if it has exactly this
                               revision. Also see if-match header as an alternative to this.
      --vertex=<value>         (required) The _key attribute of the vertex.
    
    DESCRIPTION
      Describe a vertex.
    
    EXAMPLES
      
      # Describe the vertex with the _key as "bob" in the collection "male".
      $ gdnsl graph vertex describe social --collection male --vertex bob
    

    gdnsl graph vertex replace NAME

    Replace a vertex.

    USAGE
      $ gdnsl graph vertex replace [NAME] --collection <value> --vertex <value> --data <value> [-h] [-c <value>] [--fabric
        <value>] [--return-new] [--keep-null] [--return-old] [--if-match]
    
    ARGUMENTS
      NAME  Name of the graph.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to replace a vertex
      --collection=<value>  (required) The name of the vertex collection the vertex belongs to.
      --data=<value>        (required) json string of the data to be stored.
      --fabric=<value>      Name of the fabric. Default will be "_system"
      --if-match            If the "If-Match" header is given, then it must contain exactly one Etag. The document is
                            updated, if it has the same revision as the given Etag. Otherwise a HTTP 412 is returned.
      --keep-null           Define if values set to null should be stored. By default the key is not removed from the
                            document. Default is false.
      --return-new          Define if the response should contain the complete new version of the document. Default is
                            false.
      --return-old          Define if a presentation of the deleted document should be returned within the response object.
                            Default is false.
      --vertex=<value>      (required) The _key attribute of the vertex.
    
    DESCRIPTION
      Replace a vertex.
    
    EXAMPLES
      
      # Replace a vertex having _key "John" in the graph "social" with the vertex collection as "male".
      $ gdnsl graph vertex replace social --collection male --vertex "John" --data '{"name": "John", "lname": "Doe"}'
    

    gdnsl graph vertex update NAME

    Update a vertex.

    USAGE
      $ gdnsl graph vertex update [NAME] --collection <value> --vertex <value> --data <value> [-h] [-c <value>] [--fabric
        <value>] [--return-new] [--keep-null] [--return-old] [--if-match]
    
    ARGUMENTS
      NAME  Name of the graph.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to update a vertex
      --collection=<value>  (required) The name of the edge collection the edge belongs to.
      --data=<value>        (required) JSON string of the data to be stored.
      --fabric=<value>      Name of the fabric. Default will be "_system"
      --if-match            If the "If-Match" header is given, then it must contain exactly one Etag. The document is
                            updated, if it has the same revision as the given Etag. Otherwise a HTTP 412 is returned.
      --keep-null           Define if values set to null should be stored. By default the key is not removed from the
                            document. Default is false.
      --return-new          Define if the response should contain the complete new version of the document. Default is
                            false.
      --return-old          Define if a presentation of the deleted document should be returned within the response object.
                            Default is false.
      --vertex=<value>      (required) The _key attribute of the vertex.
    
    DESCRIPTION
      Update a vertex.
    
    EXAMPLES
      
      # Update a vertex having _key "John" in the graph "social" with the vertex collection as "male".
      $ gdnsl graph vertex update social --collection male --vertex "John" --data '{"name": "John", "lname": "Doe"}'
    

    gdnsl help [COMMAND]

    Display help for gdnsl.

    USAGE
      $ gdnsl help [COMMAND] [-n]
    
    ARGUMENTS
      COMMAND  Command to show help for.
    
    FLAGS
      -n, --nested-commands  Include all nested commands in the output.
    
    DESCRIPTION
      Display help for gdnsl.
    

    See code: @oclif/plugin-help

    gdnsl import COLLECTION

    Import collection data.

    USAGE
      $ gdnsl import [COLLECTION] [-h] [-c <value>] [--fabric <value>] [--primary-key <value>] [--replace]
        [--details] [--batch-size <value> [--file <value> | [--json <value> | --csv <value> | --columns <value>] |  | ]]
    
    ARGUMENTS
      COLLECTION  Existing collection to import the data to.
    
    FLAGS
      -c, --config=<value>   gdnsl config file (default is ./gdnsl.yaml).
      -h, --help             help for import command
      --batch-size=<value>   Number of docs to be imported in a batch. Cannot be greater than the set tenant limit. Default
                             will the tenant limit.
      --columns=<value>      should be a comma separated list of column names.
      --csv=<value>          should be an array of csv rows. Each row is separated by a newline character.
      --details              if true extra information for errors and unprocessed documents will be returned in the result.
      --fabric=<value>       Name of the fabric. Default will be "_system"
      --file=<value>         path to JSON or CSV file. File format is inferred from the file extension
      --json=<value>         should be an array of json documents. Each document is interpreted separately.
      --primary-key=<value>  if specified, this attribure will be used as _key of the new document. It must follow
                             https://macrometa.dev/documents/naming-conventions/#document-keys . If document already
                             contains _key then it will be renamed as old_key.
      --replace              if true existing document having same _key in the colletion, shall be replaced.
    
    DESCRIPTION
      Import collection data.
    
    EXAMPLES
      # Import documents in the "addresses" collection.
      $ gdnsl import addresses --json "[{\"name\": \"John\"}, {\"lname\": \"Doe\"}]"
     
      # Import documents in the "addresses" collection with primaryKey as "name".
      $ gdnsl import addresses --json "[{\"name\": \"John\"}, {\"lname\": \"Doe\"}]" --primary-key "name"
     
      # Import documents with existing document having same _key in the colletion, shall be replaced.
      $ gdnsl import addresses --json "[{\"name\": \"John\"}, {\"lname\": \"Doe\"}]" --replace
     
      # Import documents with extra information for errors and unprocessed documents returned in the result.
      $ gdnsl import addresses --json "[{\"name\": \"John\"}, {\"lname\": \"Doe\"}]" --details
     
      # Import documents in the "addresses" collection.
      $ gdnsl import addresses --csv "John,Doe 
       Jane,Doe" --columns "name, lname"
     
      # Import documents in the "addresses" collection with primaryKey as "name".
      $ gdnsl import addresses --csv "John,Doe 
       Jane,Doe" --columns "name, lname" --primary-key "name"
     
      # Import documents with existing document having same _key in the colletion, shall be replaced.
      $ gdnsl import addresses --csv "John,Doe 
       Jane,Doe" --columns "name, lname" --replace
     
      # Import documents with extra information for errors and unprocessed documents returned in the result.
      $ gdnsl import addresses --csv "John,Doe 
       Jane,Doe" --columns "name, lname" --details
     
      # Import documents from a JSON file.
      $ gdnsl import --file "path_to_file/import.json"
     
      # Import documents from a CSV file.
      $ gdnsl import --file "path_to_file/import.csv"
     
      #Import documents from a JSON file with bacth size of 1000.
      $ gdnsl import --file import.json --batch-size=1000
    

    See code: @gdnsl/plugin-db

    gdnsl index create NAME

    Create an index of a collection.

    USAGE
      $ gdnsl index create [NAME] --type persistent|ttl|geo --fields <value> [-h] [-c <value>] [--fabric <value>]
        [--sparse] [--unique] [--expire-after <value>] [--geo-json]
    
    ARGUMENTS
      NAME  Collection name
    
    FLAGS
      -c, --config=<value>    gdnsl config file (default is ./gdnsl.yaml).
      -h, --help              Help to create an index
      --expire-after=<value>  The time (in seconds) after a document's creation after which the documents count as
                              "expired". Applicable only for "ttl" index.
      --fabric=<value>        Name of the fabric. Default will be "_system"
      --fields=<value>        (required) Comma seperated attribute paths (i.e. "f1, f2"). Note: For ttl, exactly one
                              attribute path is required.
      --geo-json              If true, creates a geo-spatial index. Applicable only for "geo" index.
      --sparse                If true, then create a sparse index. Applicable only for "persistent" index.
      --type=<option>         (required) Type of the index. Must be one of: persistent, ttl, geo
                              <options: persistent|ttl|geo>
      --unique                If true, then create a unique index. Applicable only for "persistent" index.
    
    DESCRIPTION
      Create an index of a collection.
    
    EXAMPLES
      # Create a PERSISTENT index on cities collection.
      $ gdnsl index create cities --type persistent --fields "f1, f2"
      # Create a sparse persistent index on cities collection.
      $ gdnsl index create cities --type persistent --fields "f1, f2" --sparse
      # Create a unique persistent index on cities collection.
      $ gdnsl index create cities --type persistent --fields "f1, f2" --unique
      # Create a sparse and unique persistent index on cities collection.
      $ gdnsl index create cities --type persistent --fields "f1, f2" --unique --sparse
      # Create a TTL index on cities collection.
      $ gdnsl index create cities --type ttl --fields "f1, f2"
      # Create a TTL index with expirytime on cities collection.
      $ gdnsl index create cities --type ttl --expireAfter --fields "f1, f2"
      # Create a GEO index with latitude and longitude fields in cities collection.
      $ gdnsl index create cities --type geo --fields "f1, f2"
      # Create a GEO index with longitude and latitude fields in cities collection.
      $ gdnsl index create cities --type geo --geo-json --fields "f1, f2"
    

    gdnsl index delete NAME INDEX-NAME

    Delete an index of a collection.

    USAGE
      $ gdnsl index delete [NAME] [INDEX-NAME] [-h] [-c <value>] [--fabric <value>]
    
    ARGUMENTS
      NAME        Collection name.
      INDEX-NAME  Index name.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to delete an index.
      --fabric=<value>      Name of the fabric. Default will be "_system"
    
    DESCRIPTION
      Delete an index of a collection.
    
    EXAMPLES
      # Delete index named idx_1719031308384993280 on cities collection.
      $ gdnsl index delete cities idx_1719031308384993280
    

    gdnsl index describe NAME INDEX-NAME

    Get details of an index.

    USAGE
      $ gdnsl index describe [NAME] [INDEX-NAME] [-h] [-c <value>] [--fabric <value>]
    
    ARGUMENTS
      NAME        Collection name.
      INDEX-NAME  Index name.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to get details of a collection
      --fabric=<value>      Name of the fabric. Default will be "_system".
    
    DESCRIPTION
      Get details of an index.
    
    EXAMPLES
      # Get details of index1 index in cities collection.
      $ gdnsl index describe cities index1
    

    gdnsl index list NAME

    List all indexes of a collection.

    USAGE
      $ gdnsl index list [NAME] [-h] [-c <value>] [--fabric <value>] [-o json]
    
    ARGUMENTS
      NAME  Collection name.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to list all indexes of a collection.
      -o, --output=(json)   Output format. Only json is allowed
      --fabric=<value>      Name of the fabric. Default will be "_system".
    
    DESCRIPTION
      List all indexes of a collection.
    
    EXAMPLES
      # List all indexes on cities collection.
      $ gdnsl index list cities
    

    gdnsl init

    Create a gdnsl.yaml file.

    USAGE
      $ gdnsl init [-h]
    
    FLAGS
      -h, --help  Help to create a gdnsl.yaml file.
    
    DESCRIPTION
      Create a gdnsl.yaml file.
    
    EXAMPLES
      # Initialize gdnsl.yaml file.
      $ gdnsl init
    

    See code: dist/commands/init.ts

    gdnsl kv create NAME

    Create a KV collection.

    USAGE
      $ gdnsl kv create [NAME] [-h] [-c <value>] [--fabric <value>] [--ttl] [--stream]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to create KV collection.
      --fabric=<value>      Name of the fabric. Default will be "_system".
      --stream              Enable stream on the collection. Default is false.
      --ttl                 Enable TTL on the collection. Default is false.
    
    DESCRIPTION
      Create a KV collection.
    
    EXAMPLES
      # Create a global KV collection.
      $ gdnsl kv create cities
      # Create a global KV collection with ttl.
      $ gdnsl kv create cities --ttl 
      # Create a global KV collection with stream enabled.
      $ gdnsl kv create cities --stream 
      # Create a global KV collection with both TTL and Stream enabled.
      $ gdnsl kv create cities --ttl --stream
    

    gdnsl kv delete NAME

    Delete a KV collection.

    USAGE
      $ gdnsl kv delete [NAME] [-h] [-c <value>] [--fabric <value>] [--keyarray <value>] [--key <value>]
        [--truncate]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to delete a KV collection
      --fabric=<value>      Name of the fabric. Default will be "_system".
      --key=<value>         Delete entry for given key from KV collection.
      --keyarray=<value>    Delete entries for all given keys from KV collection.
      --truncate            Delete all entries from KV collection.
    
    DESCRIPTION
      Delete a KV collection.
    
    EXAMPLES
      # Delete cities KV collection.
      $ gdnsl kv delete cities
     
      # Delete key1, key2 entries from cities KV collection.
      $ gdnsl kv delete cities --keyarray "k1, k2" 
     
      # Delete key1 from cities KV collection.
      $ gdnsl kv delete cities --key k1 
     
      # Delete all entries from cities KV collection.
      $ gdnsl kv delete cities --truncate
    

    gdnsl kv get NAME

    Get keys, values or count from a Key Value collection.

    USAGE
      $ gdnsl kv get [NAME] [-h] [--count] [--keys] [--values] [--offset <value>] [--limit <value>] [--order
        asc|desc] [--keyarray <value>] [--key <value>] [-c <value>] [--fabric <value>] [-o json]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to get keys, values or count from a Key Value collection.
      -o, --output=(json)   Output format. Only json is allowed.
      --count               Number of entries in the KV collection.
      --fabric=<value>      Name of the fabric. Default will be "_system".
      --key=<value>         Get value for a given key in the KV collection.
      --keyarray=<value>    String List of comma separated keys
      --keys                Get all keys in the KV collection.
      --limit=<value>       [default: 20] Default value 20. Max 10000
      --offset=<value>      Default value 0
      --order=<option>      [default: asc] String "asc" or "desc". Default value asc.
                            <options: asc|desc>
      --values              Get all values in the KV collection.
    
    DESCRIPTION
      Get keys, values or count from a Key Value collection.
    
    EXAMPLES
      # Get number of entries in cities collection
      $ gdnsl kv get cities --count 
     
      # Get all keys in cities collection.
      $ gdnsl kv get cities --keys 
     
      # Get keys in cities collection.
      $ gdnsl kv get cities --keys --offset 0 --limit 50 --order asc 
     
      # Get all values in cities collection.
      $ gdnsl kv get cities --values 
     
      # Get keys in cities collection.
      $ gdnsl kv get cities --values --offset 0 --limit 50 --order asc cities --keys 
     
      # Get keys in cities collection.
      $ gdnsl kv get cities --values --keyarray "key1, key2, key3" 
     
      # Get value for key1 in cities collection.
      $ gdnsl kv get cities --key key1
    

    gdnsl kv list

    List Key Value collections.

    USAGE
      $ gdnsl kv list [-h] [-c <value>] [--fabric <value>] [-o json]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to list Key Value collections.
      -o, --output=(json)   Output format. Only json is allowed.
      --fabric=<value>      Name of the fabric. Default will be "_system"
    
    DESCRIPTION
      List Key Value collections.
    
    EXAMPLES
        # List all KV collections.
          gdnsl kv list
    

    gdnsl kv set NAME

    Set values or KV pair in a Key Value collection.

    USAGE
      $ gdnsl kv set [NAME] [-h] [--ttl <value> [--key <value> --value <value>]] [--kv <value> |  | ] [-c
        <value>] [--fabric <value>]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to set values or KV pair in a Key Value collection.
      --fabric=<value>      Name of the fabric. Default will be "_system"
      --key=<value>         Key for the kv entry.
      --kv=<value>...       key value string for the KV collection i.e. "k1:v1:12234324".
      --ttl=<value>         Unix timestamp, indicating when the value will expire (-1 means no expiration).
      --value=<value>       Value for the kv entry.
    
    DESCRIPTION
      Set values or KV pair in a Key Value collection.
    
    EXAMPLES
      # Add k1:v1 entry to cities collection with TTL. (unix timestamp in seconds)
      $ gdnsl kv set cities --key k1 --value v1 --ttl 1671658506
     
      # Add k1:v1 entry to cities collection with no expiration.
      $ gdnsl kv set cities --key k1 --value v1
     
      # Add [k1:v1, k2:v2, k3:v3] entries to cities collection.
      $ gdnsl kv set cities --kv "k1:v1" --kv "k2:v2" --kv "k3:v3" 
     
      # Add [k1:v1, k2:v2, k3:v3] entries to cities collection with TTL.
      $ gdnsl kv set cities --kv "k1:v1:1671658506" --kv "k2:v2:1645479306", --kv "k3:v3:-1"
    

    gdnsl kv update NAME

    Enable stream on collection.

    USAGE
      $ gdnsl kv update [NAME] [-h] [-c <value>] [--fabric <value>] [--stream] [--wait-for-sync]
    
    ARGUMENTS
      NAME  Name of the kv collection.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to enable stream on kv collection.
      --fabric=<value>      Name of the fabric. Default will be "_system"
      --[no-]stream         Enable / Disable kv collection stream.
      --[no-]wait-for-sync  Creating or changing a document will wait until the data has been synchronized to disk.
    
    DESCRIPTION
      Enable stream on collection.
    
    EXAMPLES
      
      # Enable stream on kv collection cities.
      $ gdnsl kv update cities --stream 
     
      # Disable stream on kv collection cities.
      $ gdnsl kv update cities --no-stream
     
      # Enable waitForSync on kv collection cities.
      $ gdnsl kv update cities --wait-for-sync 
     
      # Disable waitForSync on kv collection cities.
      $ gdnsl kv update cities --no-wait-for-sync
     
      # Enable stream and waitForSync on kv collection cities.
      $ gdnsl kv update cities --stream --wait-for-sync 
     
      # Disable stream and waitForSync on kv collection cities.
      $ gdnsl kv update cities --no-stream  --no-wait-for-sync
    

    gdnsl query [QUERY]

    Commands to work with GDN queries.

    USAGE
      $ gdnsl query [QUERY] [-h] [--config <value>] [--fabric <value>] [--validate | --explain | --batch-size
        <value> | --intermediate-commit-count <value> | --intermediate-commit-size <value> | --max-transaction-size <value>
        | --max-warning-count <value> | --profile 1|2 | --ttl <value> | --optimizer-rule <value> |
        --skip-inaccessible-collections | --stream | --fail-on-warning | --full-count | --count] [--all-plans ]
        [--max-number-of-plans <value> ] [--file <value> | -p <value> |  |  |  |  |  |  |  |  |  |  |  |  | ]
    
    ARGUMENTS
      QUERY  contains the query string to be executed
    
    FLAGS
      -h, --help
          Help for queries.
    
      -p, --param=<value>...
          key=value pair representing the bind parameters
    
      --all-plans
          if set to true, all possible execution plans will be returned. The default is false, meaning only the optimal plan
          will be returned
    
      --batch-size=<value>
          [default: 100] Sets the batch size of queries. This batch size decides how many results are returned as part of
          query output. If this option is not specified, default value is used. Maximum allowed for this parameter is 1000
    
      --config=<value>
          gdnsl config file (default is ./gdnsl.yaml).
    
      --count
          return total document count of the collection in the response
    
      --explain
          explain a query
    
      --fabric=<value>
          Name of the fabric. Default will be "_system".
    
      --fail-on-warning
          When set to true, the query will throw an exception and abort instead of producing a warning. This option should be
          used during development to catch potential issues early. When the attribute is set to false, warnings will not be
          propagated to exceptions and will be returned with the query result.
    
      --file=<value>
          path to read the JSON file from
    
      --full-count
          if set to true and the query contains a LIMIT clause, then the result will have an extra attribute with the
          sub-attributes stats and fullCount
    
      --intermediate-commit-count=<value>
          Maximum number of operations after which an intermediate commit is performed automatically. Note: Use this option
          cautiously. The transactions are commited after every specific record count. In case of error, already commited
          records are not rolled back
    
      --intermediate-commit-size=<value>
          Maximum total size of operations after which an intermediate commit is performed automatically, Note: Use this
          option cautiously. The transactions are commited after every specific query memory size. In case of error, already
          commited records are not rolled back.
    
      --max-number-of-plans=<value>
          an optional maximum number of plans that the optimizer is allowed to generate. Setting this attribute to a low value
          allows to put a cap on the amount of work the optimizer does
    
      --max-transaction-size=<value>
          Transaction size limit in bytes
    
      --max-warning-count=<value>
          [default: 10]  Limits the maximum number of warnings a query will return
    
      --optimizer-rule=<value>...
          to-be-included or to-be-excluded optimizer rules can be put into this attribute, telling the optimizer to include or
          exclude specific rules. To disable a rule, prefix its name with a -, to enable a rule, prefix it with a +. There is
          also a pseudo-rule all, which will match all optimizer rules
    
      --profile=<option>
          If set to 1, then the additional query profiling information will be returned in the sub-attribute profile of the
          extra return attribute, if the query result is not served from the query cache. Set to 2 the query will include
          execution stats per query plan node in sub-attribute stats.nodes of the extra return attribute. Additionally the
          query plan is returned in the sub-attribute extra.plan.
          <options: 1|2>
    
      --skip-inaccessible-collections
          C8QL queries (especially graph traversals) will treat collection to which a user has no access rights as if these
          collections were empty. Instead of returning a forbidden access error, your queries will execute normally
    
      --stream
          Specify true and the query will be executed in a streaming fashion. The query result is not stored on the server,
          but calculated on the fly. Beware: long-running queries will need to hold the collection locks for as long as the
          query cursor exists. When set to false a query will be executed right away in its entirety. In that case query
          results are either returned right away (if the result set is small enough), or stored on the database instance and
          accessible via the cursor API (with respect to the ttl). It is advisable to only use this option on short-running
          queries or without exclusive locks . Query statistics, warnings and profiling data will only be available after the
          query is finished.
    
      --ttl=<value>
          [default: 30] The time-to-live for the cursor (in seconds). The cursor will be removed on the server automatically
          after the specified amount of time. This is useful to ensure garbage collection of cursors that are not fully
          fetched by clients.
    
      --validate
          validate a query
    
    DESCRIPTION
      Commands to work with GDN queries.
    
    EXAMPLES
      # Execute a query.
      $ gdnsl query "FOR doc IN addresses RETURN doc"
     
      # Execute a query with maximum number of result documents to be transferred from the server to the client in one roundtrip to be 10.
      $ gdnsl query "FOR doc IN addresses RETURN doc" --batch-size 10
     
      # Execute a query with filter based on input parameters.
      $ gdnsl query "FOR x IN addresses FILTER x.country == @country RETURN x" --param "country=USA"
     
      # Execute a query with maximum warnings a query will return to 1.
      $ gdnsl query "FOR doc IN addresses RETURN doc" --max-warning-count 1
     
      # Execute a query  with additional profiling information returned in the sub-attribute "profile".
      $ gdnsl query "FOR doc IN addresses RETURN doc" --profile 1
     
      # Execute a query with all optimizer rules disabled.
      $ gdnsl query "FOR doc IN addresses RETURN doc" --optimizer-rule "-all"
     
      # Execute a query with time-to-live for the cursor to be 10 seconds.
      $ gdnsl query "FOR doc IN addresses RETURN doc" --ttl 10
     
      # Execute a query to be executed in a streaming fashion.
      $ gdnsl query "FOR doc IN addresses RETURN doc" --stream
     
      # Execute a query  that will throw an exception and abort instead of producing a warning.
      $ gdnsl query "FOR doc IN addresses RETURN doc" --fail-on-warning
     
      # Execute a query to return the sub-attribute "stats" and "fullCount".
      $ gdnsl query "FOR doc IN addresses RETURN doc" --full-count
     
      # Execute a query to get the total number of documents in the result.
      $ gdnsl query "FOR doc IN addresses RETURN doc" --count
     
      # Execute a query by reading it from a valid JSON file on the specified path. 
      # In the JSON file "query" is a mandatory property. Optionally, other flags of this command can be specified as JSON properties. 
      $ gdnsl query --file "path_to_file"
     
      # Explain the plan of the query
      $ gdnsl query "FOR doc IN addresses RETURN doc" --explain
     
      # Explain a query with maximum number of plans that the optimizer is allowed to generate as 1.
      $ gdnsl query "FOR doc IN addresses RETURN doc" --max-number-of-plans 1 --explain
     
      # Explain a query excluding all optimizer rules.
      $ gdnsl query "FOR doc IN addresses RETURN doc" --optimizer-rule "-all" --explain
     
      # Explain a query with all possible execution plans returned.
      $ gdnsl query "FOR doc IN addresses RETURN doc" --all-plans --explain
     
      # Explain a cursor by reading it from a valid JSON file on the specified path.
      # In the JSON file "query" is a mandatory property.
      $ gdnsl query --file "path_to_file" --explain
     
      # Explain a cursor with filter based on bindvar
      $ gdnsl query "FOR x IN addresses FILTER x.country == @country RETURN x" --param "country=USA" --explain
     
      # Validate a query.
      $ gdnsl query "FOR doc IN addresses RETURN doc" --validate
     
      # Validate a query read from a valid JSON file.
      # In the JSON file "query" is a mandatory property.
      $ gdnsl query --file "path_to_file" --validate
    

    See code: @gdnsl/plugin-db

    gdnsl query-worker create [QUERYWORKERNAME]

    Create a query worker.

    USAGE
      $ gdnsl query-worker create [QUERYWORKERNAME] [-h] [-c <value>] [--value <value> | --file <value>] [--fabric <value>]
        [--param <value> | ]
    
    ARGUMENTS
      QUERYWORKERNAME  Name of the query worker.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to create a query-worker.
      --fabric=<value>      Name of the fabric. Default will be "_system"
      --file=<value>        read query and the query options from a file. File should be in a JSON format.
      --param=<value>...    key/value pairs representing the bind parameters. Can be given multiple times.
      --value=<value>       Value for query-worker.
    
    DESCRIPTION
      Create a query worker.
    
    EXAMPLES
      # Create a query-worker with the name "allAddresses".
      $ gdnsl query-worker create allAddresses --value "FOR doc IN addresses RETURN doc"
     
      # Create a query-worker with filter based on bindvar of the query.
      $ gdnsl query-worker create getCountryAddresses --value "FOR x IN addresses FILTER x.country == @country RETURN x" --param "country=USA".
     
      # Create a query-worker by reading it from a file on the specified path.
      $ gdnsl query-worker create --file "path_to_file"
    

    gdnsl query-worker delete QUERYWORKERNAME

    Delete a query worker.

    USAGE
      $ gdnsl query-worker delete [QUERYWORKERNAME] [-h] [-c <value>] [--fabric <value>]
    
    ARGUMENTS
      QUERYWORKERNAME  Name of the query worker.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to delete a query-worker.
      --fabric=<value>      Name of the fabric. Default will be "_system".
    
    DESCRIPTION
      Delete a query worker.
    
    EXAMPLES
      # Delete a query-worker with the name "allAddresses".
    
        $ gdnsl query-worker delete allAddresses
    

    gdnsl query-worker describe QUERYWORKERNAME

    Describe a query worker.

    USAGE
      $ gdnsl query-worker describe [QUERYWORKERNAME] [-h] [-c <value>] [--fabric <value>]
    
    ARGUMENTS
      QUERYWORKERNAME  Name of the query worker.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to describe a query-worker.
      --fabric=<value>      Name of the fabric. Default will be "_system".
    
    DESCRIPTION
      Describe a query worker.
    
    EXAMPLES
      # Describe a query worker.
    
        $ gdnsl query-worker describe TestStreamWorker
    

    gdnsl query-worker list

    List query workers.

    USAGE
      $ gdnsl query-worker list [-h] [-c <value>] [--fabric <value>] [-o json]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to list all query-workers.
      -o, --output=(json)   Output format. Only json is allowed.
      --fabric=<value>      Name of the fabric. Default will be "_system".
    
    DESCRIPTION
      List query workers.
    
    EXAMPLES
      # List all query-workers
    
        $ gdnsl query-worker list
    

    gdnsl query-worker next CURSORID

    Read next batch from cursor.

    USAGE
      $ gdnsl query-worker next [CURSORID] [-h] [-c <value>] [--fabric <value>]
    
    ARGUMENTS
      CURSORID  Cursor Id
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help for query next command.
      --fabric=<value>      Name of the fabric. Default will be "_system"
    
    DESCRIPTION
      Read next batch from cursor.
    
    EXAMPLES
      # Read next batch from cursor.
    
        $ gdnsl query-worker next 66706
    

    gdnsl query-worker run [QUERYWORKERNAME]

    Run a query worker.

    USAGE
      $ gdnsl query-worker run [QUERYWORKERNAME] [-h] [-c <value>] [--fabric <value>] [--param <value> | ]
    
    ARGUMENTS
      QUERYWORKERNAME  Name of the query worker.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to run a query-worker.
      --fabric=<value>      Name of the fabric.
      --param=<value>...    key/value pairs representing the bind parameters. Can be given multiple times.
    
    DESCRIPTION
      Run a query worker.
    
    EXAMPLES
      # Execute a query-worker with the name "allAddresses".
      $ gdnsl query-worker run allAddresses 
     
      # Execute a query-worker with filter based on bindvar.
      $ gdnsl query-worker run getCountryAddresses --params "country=USA"
    

    gdnsl query-worker update [QUERYWORKERNAME]

    Update a query worker.

    USAGE
      $ gdnsl query-worker update [QUERYWORKERNAME] [-h] [-c <value>] [--fabric <value>] [--value <value> | --file <value>]
        [--param <value> | ]
    
    ARGUMENTS
      QUERYWORKERNAME  Name of the query worker.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to update a query-worker.
      --fabric=<value>      Name of the fabric. Default will be "_system".
      --file=<value>        read query and the query options from a file. File should be in a JSON format.
      --param=<value>...    key/value pairs representing the bind parameters. Can be given multiple times.
      --value=<value>       Value for query-worker.
    
    DESCRIPTION
      Update a query worker.
    
    EXAMPLES
      # Update a query-worker with the name "allAddresses".
      $ gdnsl query-worker update allAddresses --value "FOR doc IN addresses RETURN doc"
     
      # Update a query worker  with filter based on bindvar of the query.
      $ gdnsl query-worker update getCountryAddresses --value "FOR x IN addresses FILTER x.country == @country RETURN x" --param "country=USA"
     
      # Update a query worker by reading it from a file on the specified path.
      $ gdnsl query-worker update --file "path_to_file"
    

    gdnsl query cursor CURSOR

    Commands to work with query cursor.

    USAGE
      $ gdnsl query cursor [CURSOR] [-h] [--config <value>] [--fabric <value>] [--delete | --next]
    
    ARGUMENTS
      CURSOR  The cursor-identifier.
    
    FLAGS
      -h, --help        Help for cursor command
      --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      --delete          Delete the cursor.
      --fabric=<value>  Name of the fabric. Default will be "_system"
      --next            Read next batch from cursor.
    
    DESCRIPTION
      Commands to work with query cursor.
    
    EXAMPLES
      # Delete a cursor.
      $ gdnsl query cursor 66706 --delete
     
      # Read next batch from cursor.
      $ gdnsl query cursor 66706 --next
    

    gdnsl revision delete NAME

    Delete a revision.

    USAGE
      $ gdnsl revision delete [NAME] [-h] [-r <value>] [-c <value>] [-l <value>]
    
    FLAGS
      -c, --config=<value>      gdnsl config file (default is ./gdnsl.yaml)
      -h, --help                Help to delete a revision.
      -l, --log=<value>         Log http traffic.
      -r, --regions=<value>...  List of region names or keywords (LOCAL or ALL). Overrides the region setting in gdnsl.yml
                                config file.
    
    DESCRIPTION
      Delete a revision.
    
    EXAMPLES
      # Delete a revision 'svc1-abcde'
      $ gdnsl revision delete svc1-abcde
    

    gdnsl revision describe NAME

    Describe a revision.

    USAGE
      $ gdnsl revision describe [NAME] [-h] [-r <value>] [--allow-missing-template-keys <value>] [-c <value>] [-o
        json|yaml] [-v <value>] [-l <value>]
    
    FLAGS
      -c, --config=<value>                   gdnsl config file (default is ./gdnsl.yaml)
      -h, --help                             Help to describe a revision.
      -l, --log=<value>                      Log http traffic.
      -o, --output=(json|yaml)               Output format. One of: json|yaml
      -r, --regions=<value>...               List of region names or keywords (LOCAL or ALL). Overrides the region setting
                                             in gdnsl.yml config file.
      -v, --verbose=<value>                  More output.
      --allow-missing-template-keys=<value>  If true, ignore any errors in templates when a field or map key is missing in
                                             the template. Only applies to golang and jsonpath output formats. (default
                                             true)
    
    DESCRIPTION
      Describe a revision.
    
    EXAMPLES
      # Describe a revision 'svc1-abcde'
      $ gdnsl revision describe svc1-abcde
    

    gdnsl revision list

    List all revisions.

    USAGE
      $ gdnsl revision list [-h] [--no-headers] [-r <value>] [-c <value>] [-s <value>] [-o json|yaml] [-l <value>]
    
    FLAGS
      -c, --config=<value>      gdnsl config file (default is ./gdnsl.yaml)
      -h, --help                Help to list revisions.
      -l, --log=<value>         log http traffic
      -o, --output=(json|yaml)  Output format. One of: json|yaml
      -r, --regions=<value>...  List of region names or keywords (LOCAL or ALL). Overrides the region setting in gdnsl.yml
                                config file.
      -s, --service=<value>     Service name.
      --no-headers              When using the default output, don't print headers.
    
    DESCRIPTION
      List all revisions.
    
    EXAMPLES
      # List all revisions.
      $ gdnsl revision list
     
      # List revisions for a service 'svc1'.
      $ gdnsl revision list -s svc1
     
      # List all revisions in JSON output format.
      $ gdnsl revision list -o json
     
      # List revision 'web'.
      $ gdnsl revision list web
    

    gdnsl route describe NAME

    Describe a route.

    USAGE
      $ gdnsl route describe [NAME] [-h] [-r <value>] [-c <value>] [-o json|yaml] [-l <value>]
    
    FLAGS
      -c, --config=<value>      gdnsl config file (default is ./gdnsl.yaml)
      -h, --help                Help to describe a route.
      -l, --log=<value>         Log http traffic.
      -o, --output=(json|yaml)  Output format. One of: json|yaml
      -r, --regions=<value>...  List of region names or keywords (LOCAL or ALL). Overrides the region setting in gdnsl.yml
                                config file.
    
    DESCRIPTION
      Describe a route.
    
    EXAMPLES
      # Describe route 'route1'.
      $ gdnsl route describe route1
    

    gdnsl route list [NAME]

    List all routes.

    USAGE
      $ gdnsl route list [NAME] [-h] [--no-headers] [-r <value>] [-c <value>] [-o json|yaml] [-l <value>]
    
    FLAGS
      -c, --config=<value>      gdnsl config file (default is ./gdnsl.yaml)
      -h, --help                Help to list routes
      -l, --log=<value>         log http traffic
      -o, --output=(json|yaml)  Output format. One of: json|yaml
      -r, --regions=<value>...  List of region names or keywords (LOCAL or ALL). Overrides the region setting in gdnsl.yml
                                config file.
      --no-headers              When using the default output, don't print headers.
    
    DESCRIPTION
      List all routes.
    
    EXAMPLES
      # List all routes.
      $ gdnsl route list
     
      # List route 'web'.
      $ gdnsl route list web
     
      # List all routes in yaml format.
      $ gdnsl route list -o yaml
    

    gdnsl search SEARCHSTRING

    Search a collection for string matches.

    USAGE
      $ gdnsl search [SEARCHSTRING] [-h] [-c <value>] [--fabric <value>] [--collection <value>] [--param
        <value>] [--ttl <value>] [--set --field <value>] [--unset ]
    
    ARGUMENTS
      SEARCHSTRING  String to search.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to search a collection for string matches.
      --collection=<value>  Collection name to search for the string matches.
      --fabric=<value>      Name of the fabric. Default will be "_system"
      --field=<value>       For which field to enable search capability.
      --param=<value>...    Key value pair. Example "key=value". Can be given multiple times.
      --set                 Enable search capability of a collection.
      --ttl=<value>         ttl value in seconds.
      --unset               Disable search capability of a collection.
    
    DESCRIPTION
      Search a collection for string matches.
    
    EXAMPLES
      # Execute search query on demo collection.
      $ gdnsl search "RETURN doc" --collection demo
     
      # Execute search query on demo collection with a binding param.
      $ gdnsl search "FILTER doc.killed == @killed RETURN doc" --collection demo --param "killed=Sneaky Private"
     
      # Execute search query on demo collection with two binding params.
      $ gdnsl search "FILTER doc.killed == @killed AND doc.count == @count RETURN doc" --collection demo --param "killed=Sneaky Private" --param "count=7"
     
      # Execute search query on demo collection with ttl.
      $ gdnsl search "RETURN doc" --collection Test --ttl 60
     
      # Execute search query on demo collection with two binding params and ttl.
      $ gdnsl search "FILTER doc.killed == @killed AND doc.count == @count RETURN doc" --collection demo --param "killed=Sneaky Private" --param "count=7" --ttl 60
     
      # Enable search capability on the 'count' field of demo collection.
      $ gdnsl search demo --set --field count
     
      # Disable search capability on the 'count' field of demo collection.
      $ gdnsl search demo --unset --field count
    

    See code: @gdnsl/plugin-db

    gdnsl search analyzer [ANALYZERNAME]

    Commands for search analyzers.

    USAGE
      $ gdnsl search analyzer [ANALYZERNAME] [-h] [-c <value>] [--fabric <value>] [--list] [--describe] [-o json]
    
    ARGUMENTS
      ANALYZERNAME  Name of the analyzer.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help for search analyzers.
      -o, --output=(json)   Output format. Only json is allowed
      --describe            Describe a search analyzer.
      --fabric=<value>      Name of the fabric. Default will be "_system".
      --list                List all search analyzers.
    
    DESCRIPTION
      Commands for search analyzers.
    
    EXAMPLES
      # List analyzers
      $ gdnsl search analyzer --list
     
      # Describe demo search analyzer.
      $ gdnsl search analyzer --describe demo
    

    gdnsl secret create docker-registry NAME

    Create a docker registry secret.

    USAGE
      $ gdnsl secret create docker-registry [NAME] --server <value> --email <value> --username <value> --password <value> [-h] [-r
        <value>] [-c <value>]
    
    FLAGS
      -c, --config=<value>      gdnsl config file (default is ./gdnsl.yaml).
      -h, --help                Help to create docker-registry a secret.
      -r, --regions=<value>...  List of region names or keywords (LOCAL or ALL). Overrides the region setting in gdnsl.yml
                                config file.
      --email=<value>           (required) Email for docker registry.
      --password=<value>        (required) Password for docker registry authentication.
      --server=<value>          (required) Server location for docker registry.
      --username=<value>        (required) Username for docker registry authentication.
    
    DESCRIPTION
      Create a docker registry secret.
    
    EXAMPLES
      # Create a docker-registry secret.
      $ gdnsl secret create docker-registry my-secret --server=DOCKER_REGISTRY_SERVER --username=DOCKER_USER --password=DOCKER_PASSWORD --email=DOCKER_EMAIL
    

    gdnsl secret create generic NAME

    Create a generic secret from a local file, directory or literal value.

    USAGE
      $ gdnsl secret create generic [NAME] [-h] [-r <value>] [-c <value>] [--from-literal <value>] [--file <value>]
    
    FLAGS
      -c, --config=<value>
          gdnsl config file (default is ./gdnsl.yaml).
    
      -h, --help
          Help to create a generic secret.
    
      -r, --regions=<value>...
          List of region names or keywords (LOCAL or ALL). Overrides the region setting in gdnsl.yml config file.
    
      --file=<value>...
          Key files can be specified using their file path,
          in which case a default name will be given to them,
          or optionally with a name and file path,
          in which case the given name will be used.
          Specifying a directory will iterate each named file
          in the directory that is a valid secret key.
    
      --from-literal=<value>...
          Specify a key and literal value to insert in secret (i.e. mykey=somevalue).
    
    DESCRIPTION
      Create a generic secret from a local file, directory or literal value.
    
    EXAMPLES
      # Create a new secret named my-secret with keys for each file in folder bar.
      $ gdnsl secret create generic my-secret --file=/path/to/bar
     
      # Create a new secret named my-secret with specified keys instead of names on disk.
      $ gdnsl secret create generic my-secret --file=ssh-privatekey=/.ssh/id_rsa --file=ssh-publickey=/.ssh/id_rsa.pub
     
      # Create a new secret named my-secret with key1=supersecret and key2=topsecret.
      $ gdnsl secret create generic my-secret --from-literal=key1=supersecret --from-literal=key2=topsecret
    

    gdnsl secret delete NAME

    Delete a secret.

    USAGE
      $ gdnsl secret delete [NAME] [-h] [-r <value>] [-c <value>]
    
    FLAGS
      -c, --config=<value>      gdnsl config file (default is ./gdnsl.yaml).
      -h, --help                Help to delete a secret.
      -r, --regions=<value>...  List of region names or keywords (LOCAL or ALL). Overrides the region setting in gdnsl.yml
                                config file.
    
    DESCRIPTION
      Delete a secret.
    
    EXAMPLES
      # Delete secret.
      $ gdnsl secret delete db-user-pass
    

    gdnsl secret describe NAME

    Describe a secret.

    USAGE
      $ gdnsl secret describe [NAME] [-h] [-r <value>] [-c <value>] [-o json|yaml]
    
    FLAGS
      -c, --config=<value>      gdnsl config file (default is ./gdnsl.yaml).
      -h, --help                Help to describe a secret.
      -o, --output=(json|yaml)  Output format. One of: json|yaml
      -r, --regions=<value>...  List of region names or keywords (LOCAL or ALL). Overrides the region setting in gdnsl.yml
                                config file.
    
    DESCRIPTION
      Describe a secret.
    
    EXAMPLES
      # Describe secret.
      $ gdnsl secret describe db-user-pass
    

    gdnsl secret list

    List all secrets.

    USAGE
      $ gdnsl secret list [-c <value>] [-r <value>] [-h] [-o json|yaml] [-v <value>]
    
    FLAGS
      -c, --config=<value>      gdnsl config file (default is ./gdnsl.yaml)
      -h, --help                Help to list all secrets.
      -o, --output=(json|yaml)  Output format. One of: json|yaml
      -r, --regions=<value>     List of region names or keywords (LOCAL or ALL). Overrides the region setting in gdnsl.yml
                                config file.
      -v, --verbose=<value>     More output.
    
    DESCRIPTION
      List all secrets.
    
    EXAMPLES
      # Get secrets.
      $ gdnsl secret get 
      # To view the contents of the Secret you created, run the following command:
      $ gdnsl secret get db-user-pass -o jsonpath='{.data}'
    

    gdnsl secret update NAME

    Update a secret.

    USAGE
      $ gdnsl secret update [NAME] --server <value> --email <value> --username <value> --password <value> [-h] [-r
        <value>] [-c <value>]
    
    FLAGS
      -c, --config=<value>      gdnsl config file (default is ./gdnsl.yaml).
      -h, --help                Help to update a secret.
      -r, --regions=<value>...  List of region names or keywords (LOCAL or ALL). Overrides the region setting in gdnsl.yml
                                config file.
      --email=<value>           (required) Email for docker registry.
      --password=<value>        (required) Password for docker registry authentication.
      --server=<value>          (required) Server location for docker registry.
      --username=<value>        (required) Username for docker registry authentication.
    
    DESCRIPTION
      Update a secret.
    
    EXAMPLES
      # Update secret.
      $ gdnsl secret update db-user-pass
    

    gdnsl service create NAME

    create a service

    USAGE
      $ gdnsl service create [NAME] --image <value> [-h] [-r <value>] [-c <value>] [--arg <value>] [--autoscale-window
        <value>] [--annotation <value>] [--cmd <value>] [-e <value>] [--env-from <value>] [-f] [--label <value>]
        [--concurrency-limit <value>] [--concurrency-target <value>] [--concurrency-utilization <value>] [--pull-secret
        <value>] [--wait] [--no-wait] [--wait-timeout <value>] [--scale-init <value>] [--scale-max <value>] [--scale-min
        <value>] [--limits-cpu <value>] [--limits-memory <value>] [--requests-cpu <value>] [--requests-memory <value>]
        [--revision-name <value>] [--mount <value>] [--volume <value>] [--lock-to-digest] [--no-lock-to-digest] [-p <value>]
    
    FLAGS
      -c, --config=<value>
          gdnsl config file (default is ./gdnsl.yaml).
    
      -e, --env=<value>...
          Environment variable to set. NAME=value; you may provide this flag any number of times to set multiple environment
          variables. To unset, specify the environment variable name followed by a "-" (e.g., NAME-).
    
      -f, --force
          Create service forcefully, replaces existing service if any.
    
      -h, --help
          Help to create a service.
    
      -p, --port=<value>
          The port where application listens on.
    
      -r, --regions=<value>...
          List of region names or keywords (LOCAL or ALL). Overrides the region setting in gdnsl.yml config file.
    
      --annotation=<value>...
          Service annotation to set. name=value; you may provide this flag any number of times to set multiple annotations. To
          unset, specify the annotation name followed by a "-" (e.g., name-)
    
      --arg=<value>...
          Arguments for the service
    
      --autoscale-window=<value>
          Duration to look back for making auto-scaling decisions. The service is scaled to zero if no request was received in
          during that time. (eg: 10s)
    
      --cmd=<value>
          commands for the service
    
      --concurrency-limit=<value>
          Hard Limit of concurrent requests to be processed by a single replica.
    
      --concurrency-target=<value>
          Recommendation for when to scale up based on the concurrent number of incoming request. Defaults to
          --concurrency-limit when given.
    
      --concurrency-utilization=<value>
          Percentage of concurrent requests utilization before scaling up. (default 70)
    
      --env-from=<value>...
          Add environment variables from a ConfigMap (prefix cm: or config-map:) or a Secret (prefix secret:). Example:
          --env-from cm:myconfigmap or --env-from secret:mysecret. You can use this flag multiple times. To unset a
          ConfigMap/Secret reference, append "-" to the name, e.g. --env-from cm:myconfigmap-.
    
      --image=<value>
          (required) Image to run.
    
      --label=<value>...
          Service label to set. name=value; you may provide this flag any number of times to set multiple labels. To unset,
          specify the label name followed by a "-" (e.g., name-).
    
      --limits-cpu=<value>
          The limits on the requested CPU, specified as millicpu/millicores.
    
      --limits-memory=<value>
          The limits on the requested memory, specified as mebibytes
    
      --lock-to-digest
          Keep the running image for the service constant when not explicitly specifying the image. (--no-lock-to-digest pulls
          the image tag afresh with each new revision) (default true).
    
      --mount=<value>...
          Mount a ConfigMap (prefix cm: or config-map:), a Secret (prefix secret: or sc:), or an existing Volume (without any
          prefix) on the specified directory. Example: --mount /mydir=cm:myconfigmap, --mount /mydir=secret:mysecret, or
          --mount /mydir=myvolume. When a configmap or a secret is specified, a corresponding volume is automatically
          generated. You can use this flag multiple times. For unmounting a directory, append "-", e.g. --mount /mydir-, which
          also removes any auto-generated volume.
    
      --no-lock-to-digest
          Do not keep the running image for the service constant when not explicitly specifying the image.
    
      --no-wait
          Create service and don't wait for it to become ready.
    
      --pull-secret=<value>
          Image pull secret to set. An empty argument ("") clears the pull secret. The referenced secret must exist in the
          service's namespace.
    
      --requests-cpu=<value>
          The requested CPU, specified as millicpu/millicores.
    
      --requests-memory=<value>
          The requested memory, specified as mebibytes.
    
      --revision-name=<value>
          The revision name to set. Must start with the service name and a dash as a prefix. Empty revision name will result
          in the server generating a name for the revision.
    
      --scale-init=<value>
          Initial number of replicas.
    
      --scale-max=<value>
          Maximal number of replicas.
    
      --scale-min=<value>
          Minimal number of replicas.
    
      --volume=<value>...
          Add a volume from a ConfigMap (prefix cm: or config-map:) or a Secret (prefix secret: or sc:). Example: --volume
          myvolume=cm:myconfigmap or --volume myvolume=secret:mysecret. You can use this flags multiple times. To unset a
          ConfigMap/Secret reference, append "-" to the name, e.g. --volume myvolume-.
    
      --wait
          Wait for "service create" operation to be completed.
    
      --wait-timeout=<value>
          Seconds to wait before giving up on waiting for service to be ready.
    
    DESCRIPTION
      create a service
    
    EXAMPLES
      # Create a service 'mysvc' using image "docker/getting-started".
        gdnsl service create mysvc --image "docker/getting-started"
     
      # Create a service with multiple environment variables.
        gdnsl service create mysvc --env "KEY1=VALUE1" --env "KEY2=VALUE2" --image "docker/getting-started"
     
      # Create or replace 's1' service with image "docker/getting-started" using --force flag
      # if service 's1' doesn't exist, it's just a normal create operation
        gdnsl service create s1 --force --image "docker/getting-started"
     
      # Create or replace environment variables of service 's1' using --force flag.
        gdnsl service create s1 --force--env "KEY1=NEW_VALUE1" --env "NEW_KEY2=NEW_VALUE2" --image "docker/getting-started"
     
      # Create service 'mysvc' with port 80.
        gdnsl service create mysvc --port 80 --image "docker/getting-started"
     
      # Create or replace default resources of a service 's1' using --force flag
      # (earlier configured resource requests and limits will be replaced with default)
      # (earlier configured environment variables will be cleared too if any)
        gdnsl service create s1 --force --image "docker/getting-started"
     
      # Create a service with annotation.
        gdnsl service create s1 --image "docker/getting-started" --annotation "sidecar.istio.io/inject=false"
    

    gdnsl service delete NAME

    Delete a service.

    USAGE
      $ gdnsl service delete [NAME] [-h] [-r <value>] [-c <value>] [-l <value>]
    
    FLAGS
      -c, --config=<value>      gdnsl config file (default is ./gdnsl.yaml).
      -h, --help                Help to delete a service.
      -l, --log=<value>         Log http traffic.
      -r, --regions=<value>...  List of region names or keywords (LOCAL or ALL). Overrides the region setting in gdnsl.yml
                                config file.
    
    DESCRIPTION
      Delete a service.
    
    EXAMPLES
      # Delete a service 'svc1' in tenant namespace.
      $ gdnsl service delete svc1
    

    gdnsl service describe NAME

    Describe a service.

    USAGE
      $ gdnsl service describe [NAME] [-h] [-r <value>] [-c <value>] [--allow-missing-template-keys <value>] [-o
        json|yaml] [-v <value>] [-l <value>]
    
    FLAGS
      -c, --config=<value>                   gdnsl config file (default is ./gdnsl.yaml).
      -h, --help                             Help to describe a service.
      -l, --log=<value>                      Log http traffic.
      -o, --output=(json|yaml)               Output format. One of: json|yaml
      -r, --regions=<value>...               List of region names or keywords (LOCAL or ALL). Overrides the region setting
                                             in gdnsl.yml config file.
      -v, --verbose=<value>                  More output.
      --allow-missing-template-keys=<value>  If true, ignore any errors in templates when a field or map key is missing in
                                             the template. Only applies to golang and jsonpath output formats. (default
                                             true)
    
    DESCRIPTION
      Describe a service.
    
    EXAMPLES
      # Describe a service 'svc1' in tenant namespace.
      $ gdnsl service describe svc1
    

    gdnsl service list

    List all services.

    USAGE
      $ gdnsl service list [-h] [-r <value>] [-c <value>] [--allow-missing-template-keys <value>] [-o json|yaml] [-v
        <value>] [-l <value>]
    
    FLAGS
      -c, --config=<value>                   gdnsl config file (default is ./gdnsl.yaml).
      -h, --help                             Help to list all services.
      -l, --log=<value>                      Log http traffic.
      -o, --output=(json|yaml)               Output format. One of: json|yaml
      -r, --regions=<value>...               List of region names or keywords (LOCAL or ALL). Overrides the region setting
                                             in gdnsl.yml config file.
      -v, --verbose=<value>                  More output.
      --allow-missing-template-keys=<value>  If true, ignore any errors in templates when a field or map key is missing in
                                             the template. Only applies to golang and jsonpath output formats. (default
                                             true)
    
    DESCRIPTION
      List all services.
    
    EXAMPLES
      # List all services.
      $ gdnsl service list
     
      # List all services in JSON output format.
      $ gdnsl service list -o json
     
      # List service 'web'.
      $ gdnsl service list web
    

    gdnsl service update NAME

    Update a service.

    USAGE
      $ gdnsl service update [NAME] [-h] [-r <value>] [-c <value>] [--image <value>] [--arg <value>] [--autoscale-window
        <value>] [--annotation <value>] [--cmd <value>] [-e <value>] [--env-from <value>] [--label <value>]
        [--concurrency-limit <value>] [--concurrency-target <value>] [--concurrency-utilization <value>] [--pull-secret
        <value>] [--wait] [--no-wait] [--wait-timeout <value>] [--scale-init <value>] [--scale-max <value>] [--scale-min
        <value>] [--limits-cpu <value>] [--limits-memory <value>] [--requests-cpu <value>] [--requests-memory <value>]
        [--revision-name <value>] [--traffic <value>] [--mount <value>] [-p <value>] [--volume <value>] [--lock-to-digest]
        [--no-lock-to-digest] [--tag <value>] [--untag <value>]
    
    FLAGS
      -c, --config=<value>
          gdnsl config file (default is ./gdnsl.yaml)
    
      -e, --env=<value>...
          Environment variable to set. NAME=value; you may provide this flag any number of times to set multiple environment
          variables. To unset, specify the environment variable name followed by a "-" (e.g., NAME-).
    
      -h, --help
          Help to update a service
    
      -p, --port=<value>
          The port where application listens on.
    
      -r, --regions=<value>...
          List of region names or keywords (LOCAL or ALL). Overrides the region setting in gdnsl.yml config file.
    
      --annotation=<value>...
          Service annotation to set. name=value; you may provide this flag any number of times to set multiple annotations. To
          unset, specify the annotation name followed by a "-" (e.g., name-)
    
      --arg=<value>...
          Arguments for the service
    
      --autoscale-window=<value>
          Duration to look back for making auto-scaling decisions. The service is scaled to zero if no request was received in
          during that time. (eg: 10s)
    
      --cmd=<value>
          commands for the service
    
      --concurrency-limit=<value>
          Hard Limit of concurrent requests to be processed by a single replica.
    
      --concurrency-target=<value>
          Recommendation for when to scale up based on the concurrent number of incoming request. Defaults to
          --concurrency-limit when given.
    
      --concurrency-utilization=<value>
          Percentage of concurrent requests utilization before scaling up. (default 70)
    
      --env-from=<value>...
          Add environment variables from a ConfigMap (prefix cm: or config-map:) or a Secret (prefix secret:). Example:
          --env-from cm:myconfigmap or --env-from secret:mysecret. You can use this flag multiple times. To unset a
          ConfigMap/Secret reference, append "-" to the name, e.g. --env-from cm:myconfigmap-.
    
      --image=<value>
          Image to run.
    
      --label=<value>...
          Service label to set. name=value; you may provide this flag any number of times to set multiple labels. To unset,
          specify the label name followed by a "-" (e.g., name-).
    
      --limits-cpu=<value>
          The limits on the requested CPU, specified as millicpu/millicores.
    
      --limits-memory=<value>
          The limits on the requested memory, specified as mebibytes
    
      --lock-to-digest
          Keep the running image for the service constant when not explicitly specifying the image. (--no-lock-to-digest pulls
          the image tag afresh with each new revision) (default true).
    
      --mount=<value>...
          Mount a ConfigMap (prefix cm: or config-map:), a Secret (prefix secret: or sc:), or an existing Volume (without any
          prefix) on the specified directory. Example: --mount /mydir=cm:myconfigmap, --mount /mydir=secret:mysecret, or
          --mount /mydir=myvolume. When a configmap or a secret is specified, a corresponding volume is automatically
          generated. You can use this flag multiple times. For unmounting a directory, append "-", e.g. --mount /mydir-, which
          also removes any auto-generated volume.
    
      --no-lock-to-digest
          Do not keep the running image for the service constant when not explicitly specifying the image.
    
      --no-wait
          Create service and don't wait for it to become ready.
    
      --pull-secret=<value>
          Image pull secret to set. An empty argument ("") clears the pull secret. The referenced secret must exist in the
          service's namespace.
    
      --requests-cpu=<value>
          The requested CPU, specified as millicpu/millicores.
    
      --requests-memory=<value>
          The requested memory, specified as mebibytes.
    
      --revision-name=<value>
          The revision name to set. Must start with the service name and a dash as a prefix. Empty revision name will result
          in the server generating a name for the revision.
    
      --scale-init=<value>
          Initial number of replicas.
    
      --scale-max=<value>
          Maximal number of replicas.
    
      --scale-min=<value>
          Minimal number of replicas.
    
      --tag=<value>...
          Set tag (format: --tag revisionRef=tagName) where revisionRef can be a revision or '@latest' string representing
          latest ready revision. This flag can be specified multiple times.
    
      --traffic=<value>...
          Set traffic distribution (format: --traffic revisionRef=percent) where revisionRef can be a revision or a tag or
          '@latest' string representing latest ready revision. This flag can be given multiple times with percent summing up
          to 100%.
    
      --untag=<value>...
          Untag revision (format: --untag tagName). This flag can be specified multiple times.
    
      --volume=<value>...
          Add a volume from a ConfigMap (prefix cm: or config-map:) or a Secret (prefix secret: or sc:). Example: --volume
          myvolume=cm:myconfigmap or --volume myvolume=secret:mysecret. You can use this flags multiple times. To unset a
          ConfigMap/Secret reference, append "-" to the name, e.g. --volume myvolume-.
    
      --wait
          Wait for "service update" operation to be completed.
    
      --wait-timeout=<value>
          Seconds to wait before giving up on waiting for service to be ready.
    
    DESCRIPTION
      Update a service.
    
    EXAMPLES
      # Updates a service 'svc' with new environment variables.
      $ gdnsl service update svc --env "KEY1=VALUE1" --env "KEY2=VALUE2"
     
      # Update a service 'svc' with new port.
      $ gdnsl service update svc --port 80
     
      # Updates a service 'svc' with new requests and limits parameters.
      $ gdnsl service update svc --requests-cpu 500m --limits-memory 1024Mi 
     
      # Assign tag 'latest' and 'stable' to revisions 'echo-v2' and 'echo-v1' respectively.
      $ gdnsl service update svc --tag "echo-v2=latest" --tag "echo-v1=stable"
      OR
      $ gdnsl service update svc --tag "echo-v2=latest,echo-v1=stable"
     
      # Update tag from 'testing' to 'staging' for latest ready revision of service.
      $ gdnsl service update svc --untag testing --tag "@latest=staging"
     
      # Add tag 'test' to echo-v3 revision with 10% traffic and rest to latest ready revision of service.
      $ gdnsl service update svc --tag "echo-v3=test" --traffic "test=10,@latest=90"
    

    gdnsl status CMDID

    Describe status of a previously executed command.

    USAGE
      $ gdnsl status [CMDID] [-c <value>] [-r <value>] [-h]
    
    FLAGS
      -c, --config=<value>      gdnsl config file (default is ./gdnsl.yaml)
      -h, --help                Show CLI help.
      -r, --regions=<value>...  List of region names or keywords (LOCAL or ALL). Overrides the region setting in gdnsl.yml
                                config file.
    
    DESCRIPTION
      Describe status of a previously executed command.
    
    EXAMPLES
          # Describe status with id ad0d0a1a-41b7-4136-b0e8-3ead236ed468
            gdnsl status ad0d0a1a-41b7-4136-b0e8-3ead236ed468
    

    See code: @gdnsl/plugin-compute

    gdnsl stream-worker STREAMAPPNAME

    Publish/Unpublish a stream worker.

    USAGE
      $ gdnsl stream-worker [STREAMAPPNAME] [-h] [-c <value>] [--fabric <value>] [--query <value> | --enable |
        --disable]
    
    ARGUMENTS
      STREAMAPPNAME  Name of the stream worker app
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to publish/unpublish a stream worker.
      --disable             Deactivate the stream app.
      --enable              Activate the stream app.
      --fabric=<value>      Name of the fabric. Default will be "_system"
      --query=<value>       submit an ad hoc Stream query and get the result records from a store.
    
    DESCRIPTION
      Publish/Unpublish a stream worker.
    
    EXAMPLES
      
        # Publish a stream worker.
          gdnsl stream-worker TestStreamWorker --enable
        # Unpublish a stream worker.
          gdnsl stream-worker TestStreamWorker --disable
        # Submit an ad hoc Stream query and get the result records from a store.
          gdnsl stream-worker TestStream --query "SELECT * FROM TestStreamTable"
    

    See code: @gdnsl/plugin-streams

    gdnsl stream-worker create

    Create a stream worker.

    USAGE
      $ gdnsl stream-worker create [-h] [-c <value>] [--fabric <value>] [--advanced <value> | --name <value> | --description
        <value> | --source <value> | --sink <value> | --table <value> | --store <value> | --trigger <value> | --query
        <value> | --unique-index <value> | --file <value> | --index <value> | --js-function <value>] [--regions <value>]
        [--validate]
    
    FLAGS
      -c, --config=<value>       gdnsl config file (default is ./gdnsl.yaml).
      -h, --help                 Help to create a stream worker.
      --advanced=<value>         complete stream worker definiton as string
      --description=<value>      stream worker description.
      --fabric=<value>           Name of the fabric. Default will be "_system"
      --file=<value>             json file from where the stream worker definition is to be read from
      --index=<value>...         index definition. Can be provided multiple times.
      --js-function=<value>...   JS function definition. Can be provided multiple times.
      --name=<value>             stream worker name.
      --query=<value>...         stream query. Can be provided multiple times.
      --regions=<value>          comma separated regions where stream workers should be deployed. Default to local region.
      --sink=<value>...          sink definition. Can be provided multiple times.
      --source=<value>...        source definition. Can be provided multiple times.
      --store=<value>...         store definition. Can be provided multiple times.
      --table=<value>...         table definition. Can be provided multiple times.
      --trigger=<value>          trigger definition. Can be provided only once.
      --unique-index=<value>...  unique index definition. Can be provided multiple times.
      --validate                 validate stream worker definition. Stream worker will not be created.
    
    DESCRIPTION
      Create a stream worker.
    
    EXAMPLES
        # Create a simple stream worker.
         gdnsl stream-worker create 
            --name "cargo-stream-worker" 
            --description "my stream worker" 
            --source "SampleCargoAppInputTable WITH 
                      (type = 'database', collection = 'SampleCargoAppInputTable', collection.type='doc' , replication.type='global', map.type='json') (weight int);"
            --sink "STREAM SampleCargoAppDestStream (weight int);"
            --query "INSERT INTO SampleCargoAppDestStream 
                     SELECT weight 
                     FROM SampleCargoAppInputTable;"
        # Create a stream worker using JS functions.
         gdnsl stream-worker create 
            --name "abc-stream-worker" 
            --description "my stream worker2" 
            --function "concatFn[javascript] return string {
                            var str1 = data[0];
                            var str2 = data[1];
                            var str3 = data[2];
                            var response = str1 + str2 + str3;
                            return response;
                        };"
            --source "STREAM SampleScriptAppInputStream (deviceID string, roomNo int, temperature double);"
            --table "SampleScriptAppOutputTable (id string, temperature double);"
            --query "INSERT INTO SampleScriptAppOutputTable 
                      SELECT concatFn(roomNo,'-',deviceID) as id, temperature
                      FROM SampleScriptAppInputStream;"
        # Create a cron stream worker.
         gdnsl stream-worker create 
            --name "cron-stream-worker" 
            --description "This app will produce an event after every 5 secondsr" 
            --trigger "MyTrigger WITH ( interval = 5 sec );"
            --sink "STREAM SampleStream (startTime long);"
            --table "SampleScriptAppOutputTable (id string, temperature double);"
            --query "INSERT INTO SampleStream
                      SELECT eventTimestamp() as startTime
                      FROM MyTrigger;"
        # Create a stream worker with indexes.
         gdnsl stream-worker create 
            --name "my-stream-worker2" 
            --description "This application creates different types of indexes on a given table." 
            --table "SampleGDNTable (sensorId string, temperature double);"
            --index "SamplePersistentIndex ON TABLE SampleGDNTable WITH(type='persistent', sparse='true', deduplicate='true') (sensorId);"
            --index "SampleHashIndex ON TABLE SampleGDNTable WITH(type='hash', sparse='true', deduplicate='true') (sensorId);"
            --index "SampleFullTextIndex ON TABLE SampleGDNTable WITH(type='fulltext', minLength='3') (sensorId);"
            --index "SampleGeoIndex ON TABLE SampleGDNTable WITH(type='geo', geoJson='false') (sensorId);"
            --index "SampleTTLIndex ON TABLE SampleGDNTable WITH(type='ttl', expireAfter='3600') (sensorId);"
        # Validate a stream worker.
         gdnsl stream-worker create 
            --name "cargo-stream-worker" 
            --description "my stream worker" 
            --source "SampleCargoAppInputTable WITH 
                      (type = 'database', collection = "SampleCargoAppInputTable", collection.type="doc" , replication.type="global", map.type='json') (weight int);"
            --sink "STREAM SampleCargoAppDestStream (weight int);"
            --query "INSERT INTO SampleCargoAppDestStream 
                     SELECT weight 
                     FROM SampleCargoAppInputTable;"
            --validate
         # Validate a stream worker from a file.
         gdnsl stream-worker create --file "cargo-stream-worker.json" --validate
        # Create a stream worker with indexes.
         gdnsl stream-worker create 
            --name "my-rdbmc-cdc" 
            --description "This stream app will explain the usage of rdbms store extension using MySQL database" 
            --trigger "ceprdbmsTrigger WITH (interval=5 sec);"
            --store " StockTable WITH 
                      ( type="rdbms", 
                        jdbc.url="jdbc:mysql://dummy-mysql-server.com:3306/MySQLDB?useSSL=false", 
                        username="my-username", 
                        password="my-password", 
                        jdbc.driver.name="com.mysql.jdbc.Driver",
                        field.length="symbol:100", 
                        table.check.query="SELECT 1 FROM StockTable LIMIT", 
                        PrimaryKey='id', 
                        PrimaryKey='symbol', 
                        Index='volume') 
                        (id string, symbol string, price float, volume long);"
            --query " INSERT INTO StockTable
                      SELECT convert(count(), 'string')  as id, 
                            convert(count(), 'string') as symbol, 
                            23.33f as price, 
                            eventTimestamp() as volume 
                      FROM ceprdbmsTrigger; "
         # Create a stream worker from a file.
         gdnsl stream-worker create -file "cargo-stream-worker.json" --regions "gdn-us-west,gdn-ap-west"
    

    gdnsl stream-worker delete STREAMAPPNAME

    Delete a stream worker.

    USAGE
      $ gdnsl stream-worker delete [STREAMAPPNAME] [-h] [-c <value>] [--fabric <value>]
    
    ARGUMENTS
      STREAMAPPNAME  Name of the stream worker app
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to delete a stream worker.
      --fabric=<value>      Name of the fabric. Default will be "_system"
    
    DESCRIPTION
      Delete a stream worker.
    
    EXAMPLES
        # Delete a stream worker.
          gdnsl stream-worker delete TestStreamWorker
    

    gdnsl stream-worker describe STREAMAPPNAME

    Describe a stream worker.

    USAGE
      $ gdnsl stream-worker describe [STREAMAPPNAME] [-h] [-c <value>] [--fabric <value>]
    
    ARGUMENTS
      STREAMAPPNAME  Name of the stream worker app.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to describe a stream worker.
      --fabric=<value>      Name of the fabric. Default will be "_system"
    
    DESCRIPTION
      Describe a stream worker.
    
    EXAMPLES
        # Describe a stream worker.
          gdnsl stream-worker describe TestStreamWorker
    

    gdnsl stream-worker list

    List stream workers and sample stream workers.

    USAGE
      $ gdnsl stream-worker list [-h] [-c <value>] [--fabric <value>] [--sample] [-o json]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help list stream workers and sample stream workers.
      -o, --output=(json)   Output format. Only json is allowed
      --fabric=<value>      Name of the fabric. Default will be "_system"
      --sample              gdnsl config file (default is ./gdnsl.yaml).
    
    DESCRIPTION
      List stream workers and sample stream workers.
    
    EXAMPLES
      
        # List stream workers.
          gdnsl stream-worker list
        # List sample stream workers.
          gdnsl stream-worker list --sample
    

    gdnsl stream-worker update

    Update a stream worker.

    USAGE
      $ gdnsl stream-worker update --name <value> [-h] [-c <value>] [--fabric <value>] [--advanced <value> | --description
        <value> | --source <value> | --sink <value> | --table <value> | --store <value> | --trigger <value> | --query
        <value> | --unique-index <value> | --file <value> | --index <value> | --js-function <value>] [--regions <value>]
        [--validate]
    
    FLAGS
      -c, --config=<value>       gdnsl config file (default is ./gdnsl.yaml).
      -h, --help                 Help to create a stream worker.
      --advanced=<value>         complete stream worker definiton as string
      --description=<value>      stream worker description. Mandatory field.
      --fabric=<value>           Name of the fabric. Default will be "_system"
      --file=<value>             json file from where the stream worker definition is to be read from
      --index=<value>...         index definition. Can be provided multiple times.
      --js-function=<value>...   JS function definition. Can be provided multiple times.
      --name=<value>             (required) stream worker name. Mandatory field.
      --query=<value>...         stream query. Can be provided multiple times.
      --regions=<value>          comma separated regions where stream workers should be deployed. Default to local region.
      --sink=<value>...          sink definition. Can be provided multiple times.
      --source=<value>...        source definition. Can be provided multiple times.
      --store=<value>...         store definition. Can be provided multiple times.
      --table=<value>...         table definition. Can be provided multiple times.
      --trigger=<value>          trigger definition. Can be provided only once.
      --unique-index=<value>...  unique index definition. Can be provided multiple times.
      --validate                 validate stream worker definition. Stream worker will not be updated.
    
    DESCRIPTION
      Update a stream worker.
    
    EXAMPLES
        # Update a simple stream worker.
         gdnsl stream-worker update 
            --name "cargo-stream-worker" 
            --description "my stream worker" 
            --source "SampleCargoAppInputTable WITH 
                      (type = 'database', collection = "SampleCargoAppInputTable", collection.type="doc" , replication.type="global", map.type='json') (weight int);"
            --sink "STREAM SampleCargoAppDestStream (weight int);"
            --query "INSERT INTO SampleCargoAppDestStream 
                     SELECT weight 
                     FROM SampleCargoAppInputTable;"
        # Update a stream worker using JS functions.
         gdnsl stream-worker update 
            --name "abc-stream-worker" 
            --description "my stream worker2" 
            --function "concatFn[javascript] return string {
                            var str1 = data[0];
                            var str2 = data[1];
                            var str3 = data[2];
                            var response = str1 + str2 + str3;
                            return response;
                        };"
            --source "STREAM SampleScriptAppInputStream (deviceID string, roomNo int, temperature double);"
            --table "SampleScriptAppOutputTable (id string, temperature double);"
            --query "INSERT INTO SampleScriptAppOutputTable 
                      SELECT concatFn(roomNo,'-',deviceID) as id, temperature
                      FROM SampleScriptAppInputStream;"
        # Update a cron stream worker.
         gdnsl stream-worker update 
            --name "cron-stream-worker" 
            --description "This app will produce an event after every 5 secondsr" 
            --trigger "MyTrigger WITH ( interval = 5 sec );"
            --sink "STREAM SampleStream (startTime long);"
            --table "SampleScriptAppOutputTable (id string, temperature double);"
            --query "INSERT INTO SampleStream
                      SELECT eventTimestamp() as startTime
                      FROM MyTrigger;"
        # Update a stream worker with indexes.
         gdnsl stream-worker update 
            --name "my-stream-worker2" 
            --description "This application creates different types of indexes on a given table." 
            --table "SampleGDNTable (sensorId string, temperature double);"
            --index "SamplePersistentIndex ON TABLE SampleGDNTable WITH(type="persistent", sparse="true", deduplicate="true") (sensorId);"
            --index "SampleHashIndex ON TABLE SampleGDNTable WITH(type="hash", sparse="true", deduplicate="true") (sensorId);"
            --index "SampleFullTextIndex ON TABLE SampleGDNTable WITH(type="fulltext", minLength="3") (sensorId)"
            --index "SampleGeoIndex ON TABLE SampleGDNTable WITH(type="geo", geoJson="false") (sensorId);"
            --index "SampleTTLIndex ON TABLE SampleGDNTable WITH(type="ttl", expireAfter="3600") (sensorId);"
        # Validate a stream worker.
         gdnsl stream-worker update 
            --name "cargo-stream-worker" 
            --description "my stream worker" 
            --source "SampleCargoAppInputTable WITH 
                      (type = 'database', collection = "SampleCargoAppInputTable", collection.type="doc" , replication.type="global", map.type='json') (weight int);"
            --sink "STREAM SampleCargoAppDestStream (weight int);"
            --query "INSERT INTO SampleCargoAppDestStream 
                     SELECT weight 
                     FROM SampleCargoAppInputTable;"
            --validate
         # Validate a stream worker from a file.
         gdnsl stream-worker update -file "cargo-stream-worker.json" --validate
        # Update a stream worker with indexes.
         gdnsl stream-worker update 
            --name "my-rdbmc-cdc" 
            --description "This stream app will explain the usage of rdbms store extension using MySQL database" 
            --trigger "ceprdbmsTrigger WITH (interval=5 sec);"
            --store " StockTable WITH 
                      ( type="rdbms", 
                        jdbc.url="jdbc:mysql://dummy-mysql-server.com:3306/MySQLDB?useSSL=false", 
                        username="my-username", 
                        password="my-password", 
                        jdbc.driver.name="com.mysql.jdbc.Driver",
                        field.length="symbol:100", 
                        table.check.query="SELECT 1 FROM StockTable LIMIT", 
                        PrimaryKey='id', 
                        PrimaryKey='symbol', 
                        Index='volume') 
                        (id string, symbol string, price float, volume long);"
            --query " INSERT INTO StockTable
                      SELECT convert(count(), 'string')  as id, 
                            convert(count(), 'string') as symbol, 
                            23.33f as price, 
                            eventTimestamp() as volume 
                      FROM ceprdbmsTrigger; "
         # Update a stream worker from a file.
         gdnsl stream-worker update --file "cargo-stream-worker.json" --regions "gdn-us-west,gdn-ap-west"
    

    gdnsl streams backlog

    Delete backlog for all/subscriptions.

    USAGE
      $ gdnsl streams backlog [-h] [-c <value>] [--fabric <value>] [--delete] [--subscription <value>]
    
    FLAGS
      -c, --config=<value>    gdnsl config file (default is ./gdnsl.yaml).
      -h, --help              Help to delete backlog for all/subscriptions
      --delete                Delete all streams' backlog.
      --fabric=<value>        Name of the fabric. Default will be "_system"
      --subscription=<value>  Delete subscription's backlog.
    
    DESCRIPTION
      Delete backlog for all/subscriptions.
    
    EXAMPLES
        # Clear backlog for all streams
          gdnsl streams backlog --delete
        # Clear subscription’s backlog    
          gdnsl streams backlog --delete --subscription MyTopic
    

    gdnsl streams create STREAMNAME

    Create a stream.

    USAGE
      $ gdnsl streams create [STREAMNAME] [-h] [-c <value>] [--fabric <value>] [--global]
    
    ARGUMENTS
      STREAMNAME  Name of the stream.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to create stream
      --fabric=<value>      Name of the fabric. Default will be "_system"
      --global              Is stream global or not.
    
    DESCRIPTION
      Create a stream.
    
    EXAMPLES
       # Create a new stream name testStream of type global.
         gdnsl streams create testStream --global
       # Create a new stream name testStream of type local.
         gdnsl streams create testStream
    

    gdnsl streams delete STREAMNAME

    Delete a stream.

    USAGE
      $ gdnsl streams delete [STREAMNAME] [-h] [-c <value>] [--fabric <value>] [--global]
    
    ARGUMENTS
      STREAMNAME  Name of the stream.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to delete a stream
      --fabric=<value>      Name of the fabric. Default will be "_system"
      --global              Is stream global or not.
    
    DESCRIPTION
      Delete a stream.
    
    EXAMPLES
        # Delete a stream of type global
          gdnsl streams delete testStream --global
        # Delete a stream of type local
          gdnsl streams delete c8localstestStream
    

    gdnsl streams describe STREAMNAME

    Describe stream's backlog, stats and subscriptions.

    USAGE
      $ gdnsl streams describe [STREAMNAME] [-h] [-c <value>] [--fabric <value>] [--global] [--collection-stream]
        [--backlog] [--stats] [--subscription] [-o json]
    
    ARGUMENTS
      STREAMNAME  Name of the stream.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to describe streams.
      -o, --output=(json)   Output format. Only json is allowed
      --backlog             Get stream's backlog value.
      --collection-stream   Is stream collection stream?
      --fabric=<value>      Name of the fabric. Default will be "_system"
      --global              Is stream global.
      --stats               Get stream's stats value.
      --subscription        Get stream's backlog value.
    
    DESCRIPTION
      Describe stream's backlog, stats and subscriptions.
    
    EXAMPLES
        # Get  stream's backlog  for stream type global
          gdnsl streams describe testStream --backlog --global
        # Get  stream's backlog  for stream type local
          gdnsl streams describe testStream1 --backlog
         # Get  stream's stats  for stream type global
          gdnsl streams describe testStream2 --stats --global
         # Get  stream's stats  for stream type local
          gdnsl streams describe testStream3 --stats
         # Get  stream's subscription  for stream type global
          gdnsl streams describe testStream4 --subscription --global
         # Get  stream's subscription  for stream type local
          gdnsl streams describe testStream5 --subscription
    

    gdnsl streams expire STREAMNAME

    Expire messages on the stream for all subscriptions.

    USAGE
      $ gdnsl streams expire [STREAMNAME] --seconds <value> [-h] [-c <value>] [--fabric <value>] [--global]
    
    ARGUMENTS
      STREAMNAME  Name of the stream.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to expire messages on the stream for all subscriptions.
      --fabric=<value>      Name of the fabric. Default will be "_system"
      --global              Is stream global or not.
      --seconds=<value>     (required) Expiration value in seconds.
    
    DESCRIPTION
      Expire messages on the stream for all subscriptions.
    
    EXAMPLES
        # Expire messages on the stream for all subscriptions for stream type global
          gdnsl streams expire testStream1 --seconds 9600 --global
      
        # Expire messages on the stream for all subscriptions for stream type local
          gdnsl streams expire testStream2 --seconds 9600
    

    gdnsl streams list

    List streams.

    USAGE
      $ gdnsl streams list [-h] [-c <value>] [--fabric <value>] [-o json]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to list streams.
      -o, --output=(json)   Output format. Only json is allowed
      --fabric=<value>      Name of the fabric. Default will be "_system"
    
    DESCRIPTION
      List streams.
    
    EXAMPLES
        # list streams 
        gdnsl streams list
    

    gdnsl streams publish STREAMNAME

    Publish a message to a stream.

    USAGE
      $ gdnsl streams publish [STREAMNAME] --message <value> [-h] [-c <value>] [--global] [--fabric <value>]
    
    ARGUMENTS
      STREAMNAME  Name of the stream.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to publish a message to a stream.
      --fabric=<value>      Name of the fabric. Default will be "_system"
      --global              Is stream global or not.
      --message=<value>     (required) Message to be published to the stream.
    
    DESCRIPTION
      Publish a message to a stream.
    
    EXAMPLES
          #Publish message to a stream of type global  
          gdnsl streams publish testStream --message "This is global stream"  --global
      
          #Publish message to a stream of type local
          gdnsl streams publish testStream --message "This is local stream"
    

    gdnsl streams subscription SUBNAME

    Delete all subscriptions or subscriptions of a particular stream.

    USAGE
      $ gdnsl streams subscription [SUBNAME] [-h] [-c <value>] [--fabric <value>] [--global] [--delete] [--stream <value>]
    
    ARGUMENTS
      SUBNAME  Name of the subscription.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help for deleting subscriptions
      --delete              Delete the given subscription on all streams
      --fabric=<value>      Name of the fabric. Default will be "_system"
      --global              Is stream global or not.
      --stream=<value>      Name of the streams.
    
    DESCRIPTION
      Delete all subscriptions or subscriptions of a particular stream.
    
    EXAMPLES
        # Delete the given subscription 'mysubscription' for all the streams
        gdnsl streams subscription mysubscription --delete 
        # Delete subscription on a specific stream
        gdnsl streams subscription mysubscription --stream stream1
    

    gdnsl streams ttl

    Get or set message TTL (time-to-live) in seconds for streams.

    USAGE
      $ gdnsl streams ttl [-h] [-c <value>] [--fabric <value>] [--seconds <value>] [-o json]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to get or set streams TTL.
      -o, --output=(json)   Output format. Only json is allowed
      --fabric=<value>      Name of the fabric. Default will be "_system"
      --seconds=<value>     Value in seconds for setting stream's ttl.
    
    DESCRIPTION
      Get or set message TTL (time-to-live) in seconds for streams.
    
    EXAMPLES
          # Get streams TTL
          gdnsl streams ttl 
      
          # Set message TTL for 3600 seconds on all streams
          gdnsl streams ttl --seconds 3600
    

    gdnsl user

    User commands to perform crud operation on the same.

    USAGE
      $ gdnsl user [-h] [-c <value>] [--fabric <value>] [--username <value>] [--inactive | [--list | --create
        | --delete | --update | --password <value> | --email <value> | --active | --param <value> | --replace] | ] [-o json]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help for the user commands.
      -o, --output=(json)   Output format. Only json is allowed.
      --active              Flag for active status of the user.
      --create              Create user.
      --delete              Delete the user.
      --email=<value>       Email of the specific user.
      --fabric=<value>      Name of the fabric.
      --inactive            Flag for inactive status of the user.
      --list                List all the users.
      --param=<value>...    key/value pairs representing the parameters. Can be given multiple times.
      --password=<value>    password of the specific user.
      --replace             Replace the user data.
      --update              Update the user data.
      --username=<value>    Username of the specific user.
    
    DESCRIPTION
      User commands to perform crud operation on the same.
    
    EXAMPLES
      # List all the users of a fabric
      $ gdnsl user --fabric '_system' --list
     
      # List data about the specified user of a fabric
      $ gdnsl user --fabric '_system' --list --username anurag
     
      # Create user.
      $ gdnsl user --fabric '_system' --email 'anurag@macrometa.com' --username 'anurag' --password 'mm1234' --active --param 'key = value' --create
     
      # Update user and its password.
      $ gdnsl user --fabric '_system' --username 'anurag' --password 'mm1234' --active --param 'key = value' --update 
     
      # Update user.
      $ gdnsl user --fabric '_system' --username 'anurag' --active --param 'key = value' --update 
     
      # Replace user.
      $ gdnsl user --fabric '_system' --username 'anurag' --password 'mm1234' --active --param 'key = value' --replace
     
      # Remove user.
      $ gdnsl user --fabric '_system' --username 'anurag' --delete
    

    See code: dist/commands/user/index.ts

    gdnsl user clear

    Clear the access level of billing,collection,fabric and streams for a specific user.

    USAGE
      $ gdnsl user clear [-h] [-c <value>] [--attributes <value> | [--billing ] | [--stream <value>  (--fabric
        <value> --username <value>)] | [--collection <value>  ]]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help for the user commands to clear the access levels and attributes.
      --attributes=<value>  Attributes of a specific user.
      --billing             Billing access level of the user.
      --collection=<value>  Name of the collection for its access level
      --fabric=<value>      Name of the fabric for its access level
      --stream=<value>      Name of the stream for its access level
      --username=<value>    (required) the username of a specific user.
    
    DESCRIPTION
      Clear the access level of billing,collection,fabric and streams for a specific user.
    
    EXAMPLES
      # Clears the stream access level for given stream for specific user.
      $ gdnsl user clear  --username anurag --fabric geoCountry --stream countryStream
     
      # Clears the fabric access level on the persons fabric for the specific user.
      $ gdnsl user clear  --username anurag --fabric persons
     
      # Clears the collection access level for the country collection in fabric geoCountry for the specific user.
      $ gdnsl user clear  --username anurag--fabric  geoCountry --collection country
     
      # Clears the billing access level of a specific user.
      $ gdnsl user clear  --username anurag --billing
     
      # Delete  attributes  of a specific user.
      $ gdnsl user clear  --username anurag --attributes = 'name'
    

    gdnsl user get

    Get the access level of billing,collection,db and streams for a specific user.

    USAGE
      $ gdnsl user get [-h] [-c <value>] [--fabric <value>] [--stream <value>  (--db-name <value> --username
        <value>)] [--collection <value>  ] [--billing ] [--attributes ] [--full ] [--all-stream  ] [--all-collection  ]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help for the user commands.
      --all-collection      Flag for all the collections access level.
      --all-stream          Flag for all the streams access level.
      --attributes          Attributes of username.
      --billing             Billing access level of the username.
      --collection=<value>  Name of the collection for its access level.
      --db-name=<value>     Name of the fabric for its access level.
      --fabric=<value>      Name of the fabric.
      --full                Return the full set of access levels.
      --stream=<value>      Name of the stream for its access level.
      --username=<value>    (required) The username of the user.
    
    DESCRIPTION
      Get the access level of billing,collection,db and streams for a specific user.
    
    EXAMPLES
      # List the accessible streams and collections in a db for a user. 
      $ gdnsl user get --db-name geoCountry --username anurag 
     
      # List the full accessible streams and collections in a db for a user. 
      $ gdnsl user get --db-name geoCountry --username anurag --full 
     
      # List the accessible streams and collections for all dbs for a user.
      $ gdnsl user get --username anurag 
     
      # List the full accessible streams and collections for all dbs for a user. 
      $ gdnsl user get --username anurag --full 
     
      # List all the accessible streams in a db for a user.
      $ gdnsl user get --username anurag --db-name geoCity --all-stream 
     
      # List all the full accessible streams in a db for a user.
      $ gdnsl user get --username anurag --db-name geoCity --all-stream --full 
     
      # Return the access level for a specific stream.
      $ gdnsl user get --db-name geocountry --stream countryStream
     
      # Return the access level for all collections.
      $ gdnsl user get --username anurag --db-name geocountry --all-collection 
     
      # Return the full access level for all collections.
      $ gdnsl user get --username anurag --db-name geocountry --all-collection --full 
     
      # Return the access level for a specific collection.
      $ gdnsl user get --username anurag --db-name geocountry --collection country 
     
      # Get the billing access level.
      $ gdnsl user get --username anurag --billing
     
      # Get the list of attributes for the specified user.
      $ gdnsl user get --username anurag --attributes
    

    gdnsl user set

    Set the access level of billing,collection,db and streams for a specific user.

    USAGE
      $ gdnsl user set [-h] [-c <value>] [--fabric <value>] [--attributes ] [--param <value> | [--billing ] |
        [--stream <value>  (--db-name <value> --username <value>)] | [--collection <value>  ]] [--permissions ro|wo|rw|none
        ]
    
    FLAGS
      -c, --config=<value>    gdnsl config file (default is ./gdnsl.yaml).
      -h, --help              Help for the user commands.
      --attributes            Create attributes of the user.
      --billing               Billing access level of the user.
      --collection=<value>    Name of the collection for its access level.
      --db-name=<value>       Name of the db for its access level.
      --fabric=<value>        Name of the fabric.
      --param=<value>...      key/value pairs. Can be given multiple times.
      --permissions=<option>  Permission flag for all the streams, collections, db and billing.
                              <options: ro|wo|rw|none>
      --stream=<value>        Name of the stream for its access level.
      --username=<value>      (required) Name of the user.
    
    DESCRIPTION
      Set the access level of billing,collection,db and streams for a specific user.
    
    EXAMPLES
      # Set the stream access level to publish and subscribe for a specific stream in the database.
      $ gdnsl user set --username anurag --db-name geoCountry --stream countryStream --permissions rw
     
      # Set the stream access level to subscribe for a specific stream in the database.
      $ gdnsl user set --username anurag --db-name geoCity --stream cityStream --permissions ro
     
      # Set the stream access level to publish for a specific stream in the database. 
      $ gdnsl user set --username anurag --db-name geoState --stream stateStream --permissions wo
     
      # Set the stream access level to No access for a specific stream in the database.
      $ gdnsl user set --username anurag --db-name geoRegion --stream regionStream --permissions none
     
      # Set the database access level to Administrate for a specific database.
      $ gdnsl user set --username anurag --db-name persons --permissions rw
     
      # Set the database access level to Access for a specific database.
      $ gdnsl user set --username anurag --db-name persons --permissions ro
     
      # Set the database access level to No access for a specific database.
      $ gdnsl user set --username tanurag --db-name persons --permissions none
     
      # Set the collection access level to Read/Write for a specific collection in the database.
      $ gdnsl user set --username tanurag --db-name geoCountry --collection country --permissions rw
     
      # Set the collection access level to Read Only for a specific collection in the database.
      $ gdnsl user set --username tanurag --db-name geoCity --collection city --permissions ro
     
      # Set the collection access level to No access for a specific collection in the database.
      $ gdnsl user set --username tanurag --db-name geoRegion --collection region --permissions none
     
      # Set the billing access level to Administrate.
      $ gdnsl user set --billing --username anurag --permissions rw
     
      # Set the billing access level to Access.
      $ gdnsl user set --billing --username anurag --permissions ro
      # Set the billing access level to No access.
      $ gdnsl user set --billing --username anurag --permissions none
     
      # Set the attributes for the specific user.
      $ gdnsl user set --attributes --username anurag --param "key1=Value1" --param "key2=Value2"
    

    gdnsl view create VIEWNAME

    Create a view.

    USAGE
      $ gdnsl view create [VIEWNAME] [-h] [-c <value>] [--fabric <value>] [--field <value> --collection <value>]
        [--analyzer <value> ] [--store-values none|id] [--include-all-fields] [--track-list-positions] [--primary-sort-field
        <value>]
    
    ARGUMENTS
      VIEWNAME  View name to create
    
    FLAGS
      -c, --config=<value>             gdnsl config file (default is ./gdnsl.yaml).
      -h, --help                       Help to create a view
      --analyzer=<value>...            Analyzers to be used for indexing of string values. Can be given multiple times.
                                       (default: identity).
      --collection=<value>             Name of the collection.
      --fabric=<value>                 Name of the fabric. Default will be "_system"
      --field=<value>...               Field and analyzers mapping in the format <fieldName:analyzer1,analyzer2> Example:
                                       "age:text_en,text_fr". Can be given multiple times.
      --include-all-fields             The flag determines whether or not to index all fields on a particular level of depth
                                       (default: false).
      --primary-sort-field=<value>...  The flag accepts the fields and the sort order by which the collection will be
                                       sorted.
      --store-values=<option>          How should the view track the attribute values, this setting allows for additional
                                       value retrieval optimizations, one of:none: Do not store values by the view id: Store
                                       only information about value presence, to allow use of the EXISTS() function (default
                                       "none").
                                       <options: none|id>
      --track-list-positions           The flag determines whether or not values in a lists should be treated separate
                                       (default: false).
    
    DESCRIPTION
      Create a view.
    
    EXAMPLES
      # Create test view on demo collection.
      $ gdnsl view create test --collection demo
     
      # Create test view on demo collection with analyzer.
      $ gdnsl view create test --collection demo --analyzer identity
     
      # Create test view on demo collection with fields.
      $ gdnsl view update test --collection demo --field "name:text_en,text_fr" --field "age:text_en"
     
      # Create test view on demo collection with store-values.
      $ gdnsl view create test --collection demo --store-values none
     
      # Create test view on demo collection with track-list-positions.
      $ gdnsl view create test --collection demo --track-list-positions
     
      # Create test view on demo collection with include-all-fields.
      $ gdnsl view create test --collection demo --include-all-fields
    

    gdnsl view delete VIEWNAME

    Delete a view.

    USAGE
      $ gdnsl view delete [VIEWNAME] [-h] [-c <value>] [--fabric <value>]
    
    ARGUMENTS
      VIEWNAME  View name to delete.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to delete a view
      --fabric=<value>      Name of the fabric. Default will be "_system"
    
    DESCRIPTION
      Delete a view.
    
    EXAMPLES
      # Delete demo view.
    
        $ gdnsl view delete demo
    

    gdnsl view describe VIEWNAME

    Describe a view.

    USAGE
      $ gdnsl view describe [VIEWNAME] [-h] [-c <value>] [--fabric <value>] [--properties]
    
    ARGUMENTS
      VIEWNAME  View name to describe.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to describe a view
      --fabric=<value>      Name of the fabric. Default will be "_system".
      --properties          View properties.
    
    DESCRIPTION
      Describe a view.
    
    EXAMPLES
      # Describe demo view.
      $ gdnsl view describe demo
      # Describe demo view properties.
      $ gdnsl view describe demo --properties
    

    gdnsl view list

    List views.

    USAGE
      $ gdnsl view list [-h] [-c <value>] [--fabric <value>] [-o json]
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to list views
      -o, --output=(json)   Output format. Only json is allowed.
      --fabric=<value>      Name of the fabric. Default will be "_system".
    
    DESCRIPTION
      List views.
    
    EXAMPLES
      # List views
    
        $ gdnsl view list
    

    gdnsl view rename VIEWNAME NEWNAME

    Rename a view.

    USAGE
      $ gdnsl view rename [VIEWNAME] [NEWNAME] [-h] [-c <value>] [--fabric <value>]
    
    ARGUMENTS
      VIEWNAME  View name to rename.
      NEWNAME   New name of the view.
    
    FLAGS
      -c, --config=<value>  gdnsl config file (default is ./gdnsl.yaml).
      -h, --help            Help to rename a view.
      --fabric=<value>      Name of the fabric. Default will be "_system".
    
    DESCRIPTION
      Rename a view.
    
    EXAMPLES
      # Rename test view with new name demo.
    
        $ gdnsl view rename test demo
    

    gdnsl view update VIEWNAME

    Update a view.

    USAGE
      $ gdnsl view update [VIEWNAME] [-h] [-c <value>] [--fabric <value>] [--field <value> --collection <value>]
        [--analyzer <value> ] [--store-values none|id] [--include-all-fields] [--track-list-positions]
    
    ARGUMENTS
      VIEWNAME  View name to update
    
    FLAGS
      -c, --config=<value>     gdnsl config file (default is ./gdnsl.yaml).
      -h, --help               Help to update a view
      --analyzer=<value>...    Analyzers to be used for indexing of string values. Can be given multiple times. (default:
                               identity).
      --collection=<value>     Name of the collection.
      --fabric=<value>         Name of the fabric. Default will be "_system"
      --field=<value>...       Field and analyzers mapping in the format <fieldName:analyzer1,analyzer2> Example:
                               "age:text_en,text_fr". Can be given multiple times.
      --include-all-fields     The flag determines whether or not to index all fields on a particular level of depth
                               (default: false).
      --store-values=<option>  How should the view track the attribute values, this setting allows for additional value
                               retrieval optimizations, one of:none: Do not store values by the view id: Store only
                               information about value presence, to allow use of the EXISTS() function (default "none").
                               <options: none|id>
      --track-list-positions   The flag determines whether or not values in a lists should be treated separate (default:
                               false).
    
    DESCRIPTION
      Update a view.
    
    EXAMPLES
      # update test view on demo collection with analyzer.
      $ gdnsl view update test --collection demo --analyzer identity
     
      # update test view on demo collection with fields.
      $ gdnsl view update test --collection demo --field "name:text_en,text_fr" --field "age:text_en" 
     
      # update test view on demo collection with store-values.
      $ gdnsl view update test --collection demo --store-values none
     
      # update test view on demo collection with track-list-positions.
      $ gdnsl view update test --collection demo --track-list-positions
     
      # update test view on demo collection with include-all-fields.
      $ gdnsl view update test --collection demo --include-all-fields
    

    Install

    npm i gdnsl

    DownloadsWeekly Downloads

    22

    Version

    0.0.44

    License

    MIT

    Unpacked Size

    309 kB

    Total Files

    54

    Last publish

    Collaborators

    • macrometa