You can talk to a Hawk server from one of the console client products in the latest release . Using the product only requires unpacking the product and running the main executable within it. Alternatively, you could install the "Hawk CLI Feature" into your Eclipse instance and use these commands from the "Host OSGi Console" in the Console view.
Each Thrift API has its own set of commands.
You can use the hawkHelp command to list all the available commands.
Name
Description
hawkConnect <url> [username] [password]
Connects to a Thrift endpoint (guesses the protocol from the URL)
hawkDisconnect
Disconnects from the current Thrift endpoint
Managing Hawk indexer instances
Name
Description
hawkAddInstance <name> <backend> [minDelay] [maxDelay|0]
Adds an instance with the provided name (if maxDelay = 0, periodic updates are disabled)
hawkListBackends
Lists the available Hawk backends
hawkListInstances
Lists the available Hawk instances
hawkRemoveInstance <name>
Removes an instance with the provided name, if it exists
hawkSelectInstance <name>
Selects the instance with the provided name
hawkStartInstance <name>
Starts the instance with the provided name
hawkStopInstance <name>
Stops the instance with the provided name
hawkSyncInstance <name> [waitForSync:true|false]
Requests an immediate sync on the instance with the provided name
Name
Description
hawkListMetamodels
Lists all registered metamodels in this instance
hawkRegisterMetamodel <files...>
Registers one or more metamodels
hawkUnregisterMetamodel <uri>
Unregisters the metamodel with the specified URI
Managing version control repositories
Name
Description
hawkAddRepository <url> <type> [user] [pwd]
Adds a repository
hawkListFiles <url> [filepatterns...]
Lists files within a repository
hawkListRepositories
Lists all registered metamodels in this instance
hawkListRepositoryTypes
Lists available repository types
hawkRemoveRepository <url>
Removes the repository with the specified URL
hawkUpdateRepositoryCredentials <url> <user> <pwd>
Changes the user/password used to monitor a repository
Name
Description
hawkGetModel <repo> [filepatterns...]
Returns all the model elements of the specified files within the repo
hawkGetRoots <repo> [filepatterns...]
Returns only the root model elements of the specified files within the repo
hawkListQueryLanguages
Lists all available query languages
hawkQuery <query> <language> [repo] [files]
Queries the index
hawkResolveProxies <ids...>
Retrieves model elements by ID
Managing derived attributes
Name
Description
hawkAddDerivedAttribute <mmURI> <mmType> <name> <type> <lang> <expr> [many|ordered|unique]*
Adds a derived attribute
hawkListDerivedAttributes
Lists all available derived attributes
hawkRemoveDerivedAttribute <mmURI> <mmType> <name>
Removes a derived attribute, if it exists
Managing indexed attributes
Name
Description
hawkAddIndexedAttribute <mmURI> <mmType> <name>
Adds an indexed attribute
hawkListIndexedAttributes
Lists all available indexed attributes
hawkRemoveIndexedAttribute <mmURI> <mmType> <name>
Removes an indexed attribute, if it exists
Watching over changes in remote models
Name
Description
hawkWatchModelChanges [default|temporary|durable] [client ID] [repo] [files...]
Watches an Artemis message queue with detected model changes
The Users API has its own set of commands, which can be listed through usersHelp:
Name
Description
usersHelp
Lists all the available commands for Users
usersConnect <url> [username] [password]
Connects to a Thrift endpoint
usersDisconnect
Disconnects from the current Thrift endpoint
usersAdd <username> <realname> <isAdmin: true|false> [password]
Adds the user to the database
usersUpdateProfile <username> <realname> <isAdmin: true|false>
Changes the personal information of a user
usersUpdatePassword <username> [password]
Changes the password of a user
usersRemove <username>
Removes a user
usersCheck <username> [password]
Validates credentials