gdnsl

gdnsl is Macrometa GDN serverless command line interface (CLI).

Usage no npm install needed!

<script type="module">
  import gdnsl from 'https://cdn.skypack.dev/gdnsl';
</script>

README

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.43 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 the 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 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 b