Commit Graph

1918 Commits

Author SHA1 Message Date
Karel Minarik faa0ee14bd [UTIL] Added a source code generator using the JSON API specs
The generator is based on [Thor](https://github.com/wycats/thor),
a library/framework for command line applications.

The generator will read the JSON API spec file(s), and generate
the Ruby source code (one file per API endpoint) with correct
module namespace, method names, and RDoc documentation.

It will generate a test file for each API endpoint as well.

Currently it only generates Ruby source, but can easily be
extended and adapted to generate source code for other
programming languages.

Usage example:

    $ thor api:code:generate ../../api-spec/*.json --force --verbose
2013-06-16 23:25:08 +02:00
Karel Minarik 74837bfe86 [UTIL] Moved the JSON spec generator into the `utils` folder 2013-06-16 17:10:42 +02:00
Zachary Tong fa8cffc6d6 Fix documentation URL for Scroll 2013-06-13 21:06:00 -04:00
Karel Minarik 12c341d9eb Fixed incorrect `options` property for "cluster.node_stats" and "indices.stats" 2013-06-12 20:39:16 +02:00
Karel Minarik a8fe8a7bbe Changed the `nodeID` parameter to `node_id` 2013-06-12 17:52:32 +02:00
Honza Kral 0b747c1a11 Format param for analyze API 2013-06-10 17:30:24 +02:00
Honza Kral eba4d9e59e Add doc url for put_template 2013-06-09 21:50:59 +02:00
Honza Kral 6487fb4bd1 Required settings for path parts 2013-06-09 21:17:29 +02:00
Honza Kral dc67d86af7 put_* apis have required body 2013-06-08 15:34:13 +02:00
Honza Kral cd01b8dcaa Put mapping has a body 2013-06-08 15:31:15 +02:00
Honza Kral 7f3a9c582b Use singular for index and type, index is default for exists methods 2013-06-07 23:24:04 +02:00
Zachary Tong a3f7d61719 Index is not required for segments 2013-06-07 14:53:03 -04:00
Zachary Tong c962bb55f3 Index is not required for refresh 2013-06-07 14:50:14 -04:00
Zachary Tong eb9e90e5c2 Index is required for open 2013-06-07 14:41:02 -04:00
Zachary Tong fafadd7376 Index is not required for optimize 2013-06-07 14:38:55 -04:00
Honza Kral ea35a7af1b Index is not required for flush 2013-06-07 20:23:02 +02:00
Honza Kral 63d6f9907d Split settings to get_ and set_ methods 2013-06-07 19:44:28 +02:00
Honza Kral ec9be6a29b snapshot_index as last of the renames 2013-06-07 19:01:48 +02:00
Honza Kral 7c6f8a0b83 validate_query for consistency 2013-06-07 18:58:34 +02:00
Honza Kral 9a4362e774 Rename api methods to verb_object for consistency 2013-06-07 18:56:11 +02:00
Honza Kral db7d5b702e The api is actuall called delete mapping 2013-06-07 18:38:20 +02:00
Honza Kral 0a65ed2688 Revert "Only support one path path for node info"
This reverts commit 04134492cc2bc8656512288b0127b4658b739c3e.
We should only support one path but we should still maintain the full
spec in the json file.
2013-06-07 18:38:20 +02:00
Honza Kral c01c8ba5df name the scroll endpoint correctly 2013-06-07 18:38:20 +02:00
Karel Minarik 11cac7d57e Added "alias exists" API 2013-06-07 18:37:37 +02:00
Honza Kral 18a866d011 cluster reroute filter_metadata description 2013-06-04 17:35:22 +02:00
Honza Kral a8a966435e Only support one path path for node info 2013-06-04 17:30:01 +02:00
Honza Kral 97f0024374 node_hot_threads descriptions 2013-06-04 17:27:21 +02:00
Honza Kral 73b13a42a4 cluster.node. -> cluster.node_ 2013-06-04 17:24:11 +02:00
Honza Kral ab56dc2cf9 Don't expose operation_threading 2013-06-04 17:15:05 +02:00
Honza Kral 34ace1ff91 Split scroll as separate endpoint 2013-06-04 16:33:24 +02:00
Honza Kral b8eee37882 Exists as separate endpoint 2013-06-04 13:31:37 +02:00
Honza Kral c505079bac Separate endpoint for op_type create 2013-06-04 13:27:25 +02:00
Honza Kral 8a7a955775 Alias -> Aliases 2013-06-04 12:58:05 +02:00
Karel Minarik 712dc3d337 Fixed, that `routing` parameter for the "search" API takes multiple values
“The routing parameter can be multi valued represented as a comma separated string. This will result in hitting the relevant shards where the routing values match to.”

--> http://www.elasticsearch.org/guide/reference/api/search/
2013-05-31 11:35:45 +02:00
Karel Minarik 4de673d3b0 [DOC] Improved the example in README and small edits 2013-05-28 10:55:24 +02:00
Karel Minarik 57be0827e9 Improved description for the `prefer_local` parameter in the `_percolate` and `_analyze` APIs 2013-05-28 10:52:44 +02:00
Karel Minarik 60365ff08e Correct name and small text edits for `_msearch` 2013-05-28 10:49:36 +02:00
Karel Minarik 9f5f984bd9 Corrected the formatting in the `_mlt` API 2013-05-28 10:48:23 +02:00
Karel Minarik ef96799629 Correct name for the `info` API (root endpoint) 2013-05-28 10:45:10 +02:00
Karel Minarik bed0635104 Corrected the descriptions in the "create or update warmer" API 2013-05-28 10:44:51 +02:00
Karel Minarik 077fe78963 Corrected the description in the index `_open` API 2013-05-28 10:41:37 +02:00
Karel Minarik 79e54dbe73 Added basic description of the "recycler" parameter in the `_cache/clear` API 2013-05-28 10:38:30 +02:00
Karel Minarik 8b4b7be9c5 Removed the `id` URL parameter in `_explain` API 2013-05-28 10:36:06 +02:00
Karel Minarik c9ad3658e9 Removed the `index` and `type` URL parameters for the "delete by query" API 2013-05-28 10:35:16 +02:00
Karel Minarik c1af9236c0 Removed the `id` URL parameter in the delete index API 2013-05-28 10:34:40 +02:00
Karel Minarik f9bc428491 Removed the `index` and `type` URL parameters for the `_count` API 2013-05-28 10:33:48 +02:00
Karel Minarik 9e7b668409 Small text edits for `_cluster/reroute` 2013-05-28 10:32:27 +02:00
Karel Minarik 40b2a5395d Small text edits for `_cluster/nodes/stats` 2013-05-28 10:09:02 +02:00
Karel Minarik a252592a7c Small text edits for `_cluster/nodes/_shutdown` 2013-05-28 10:07:05 +02:00
Karel Minarik 85157f9b48 Small text edits for `_cluster/nodes` 2013-05-28 10:04:49 +02:00
Karel Minarik 8b8a60a93c Small text edits for `_cluster/nodes/hot_threads` 2013-05-28 10:03:45 +02:00
Karel Minarik 84597e12d3 Small text edits for `_cluster/health` 2013-05-28 09:58:00 +02:00
Karel Minarik 69085bc535 Removed the incorrect `index` URL parameter from `_bulk` 2013-05-28 09:55:28 +02:00
Karel Minarik 616b2087ba Removed incorrect `name` URL parameter from the API definitions 2013-05-28 09:53:04 +02:00
Karel Minarik d65cc94092 Removed incorrect `index` URL parameter from API definitions 2013-05-28 09:52:56 +02:00
Karel Minarik 1096c6410c Added the API definition for updating a document 2013-05-27 23:57:02 +02:00
Karel Minarik dc6f742664 Added the API definition for `_suggest` 2013-05-27 23:43:02 +02:00
Karel Minarik 48c9e0c498 Added the API definition for `_msearch` 2013-05-27 23:35:57 +02:00
Karel Minarik fc51ebfce8 Added the API definition for `_search` 2013-05-27 23:35:30 +02:00
Karel Minarik 2490b50ddd Added the API definition for `_percolate` 2013-05-27 23:03:30 +02:00
Karel Minarik fdf118d0a1 Added the API definition for `_mlt` ("more like this") 2013-05-27 22:55:18 +02:00
Karel Minarik f7ad35b759 Added the API definition for `info` (root endpoint) 2013-05-27 22:32:07 +02:00
Karel Minarik 337df9ee41 Added the API definition for registering a warmer 2013-05-27 22:29:08 +02:00
Karel Minarik 15cd213da4 Added the API definition for getting a warmer 2013-05-27 22:26:58 +02:00
Karel Minarik dfaaaad9d3 Added the API definition for deleting a warmer 2013-05-27 22:23:26 +02:00
Karel Minarik c274a36d34 Added the API definition for `_validate/query` 2013-05-27 22:04:55 +02:00
Karel Minarik e6c54e71f2 Removed the incorrect "required" for index in the `_settings` API 2013-05-27 21:58:36 +02:00
Karel Minarik b045fc4a72 Added the API definition for creating or updating a template 2013-05-27 21:54:21 +02:00
Karel Minarik 3e7e96fe72 Added the API definition for getting an index template 2013-05-27 21:47:34 +02:00
Karel Minarik c322791ccb Added the API definition for deleting an index template 2013-05-27 21:46:47 +02:00
Karel Minarik 988a38297e Added the API definition for `{index}/_status` 2013-05-27 21:46:23 +02:00
Karel Minarik 333b147c2c Added missing URL parts for the `_stats` API 2013-05-27 21:10:30 +02:00
Karel Minarik dbdb44f838 Added the API definition for `_stats` 2013-05-27 17:42:04 +02:00
Karel Minarik 2cd85fa232 Added the API definition for `_settings` 2013-05-27 17:08:45 +02:00
Karel Minarik 8f40b2235d Added the API definition for `_segments` 2013-05-27 17:02:08 +02:00
Karel Minarik 42334966c3 Added the API definition for `_refresh` 2013-05-27 16:59:39 +02:00
Karel Minarik 7849fe12ce Added the API definition for `_optimize` 2013-05-27 16:57:31 +02:00
Karel Minarik 4e4cdaff2a Added the API definition for opening an index 2013-05-27 16:51:38 +02:00
Karel Minarik 83928d7fee Added the API definition for updating the mapping 2013-05-27 16:48:41 +02:00
Karel Minarik 59e3330020 Added the API definition for `_mapping` 2013-05-27 16:23:41 +02:00
Karel Minarik bd837355dc Added the API definition for deleting a document type 2013-05-27 16:12:14 +02:00
Karel Minarik f0db0f9d3a Added the API definition for `_gateway/snapshot` 2013-05-27 15:51:52 +02:00
Karel Minarik f336f6cf4f Added the API definition for `_flush` 2013-05-27 15:50:14 +02:00
Karel Minarik 6b26609801 Added the API definition for checking the document type existence 2013-05-27 15:42:23 +02:00
Karel Minarik 1813dc361e Added the API definition for checking the index existence 2013-05-27 15:36:09 +02:00
Karel Minarik 8d44d42681 Added the API definition for deleting an index 2013-05-27 15:32:10 +02:00
Karel Minarik 2848c084b7 Added the API definition for creating the index 2013-05-27 15:22:28 +02:00
Karel Minarik 7455aaf0fd Added the API definition for closing the index 2013-05-27 15:13:24 +02:00
Karel Minarik c2f4bbe1a4 Added the API definition for `_cache/clear` 2013-05-27 13:19:44 +02:00
Karel Minarik e83a6a7f02 Added the API definition for `_analyze` 2013-05-27 13:10:42 +02:00
Karel Minarik b60945b5cc Added the API definition for creating or updating an alias 2013-05-27 13:03:22 +02:00
Karel Minarik 554e42f5fb Added the API definition for `_aliases` 2013-05-27 12:59:26 +02:00
Karel Minarik bf080b9385 Added the API definition for getting an alias 2013-05-27 12:43:54 +02:00
Karel Minarik 9aa12c0c72 Added the API definition for deleting a single alias 2013-05-27 12:10:25 +02:00
Karel Minarik 4bfe7bc797 Added the API definition for indexing a document 2013-05-26 19:44:03 +02:00
Karel Minarik 6f1a1b6254 Added the API definition for `_mget` 2013-05-26 19:05:59 +02:00
Karel Minarik da4ec58dc3 Added the API definition for getting a document
The `_mget` API was extracted to a separate file
2013-05-26 18:53:39 +02:00
Karel Minarik 3632c5bd68 Added the API definition for `_explain` 2013-05-26 17:05:29 +02:00
Karel Minarik eb5ed73dad Added the API definition for "delete by query" 2013-05-26 16:43:11 +02:00
Karel Minarik f50e468dd3 Added the API definition for deleting a document 2013-05-26 16:38:24 +02:00
Karel Minarik ec6ec56781 Added the API definition for `_count` 2013-05-26 16:33:31 +02:00
Karel Minarik 7c7fead20b Added the API definition for `_cluster/state` 2013-05-26 15:51:58 +02:00
Karel Minarik 72cd419617 Removed the API definition for `_search_shards` 2013-05-26 15:51:58 +02:00
Karel Minarik 659b46cfaf Added the API definition for `_cluster/settings` 2013-05-26 15:51:58 +02:00
Karel Minarik cff45b4a7d Added the API definition for `_cluster/reroute` 2013-05-26 15:51:58 +02:00
Karel Minarik 9b5d017b9b Added the API definition for `_cluster/nodes/stats` 2013-05-26 15:51:55 +02:00
Karel Minarik 57a18bfa53 Added the API definition for `_cluster/nodes/_shutdown` 2013-05-26 15:51:55 +02:00
Karel Minarik 50675df898 Removed the API definition for `_cluster/nodes/_restart`
The API is not supported anymore.

Info: <https://github.com/elasticsearch/elasticsearch/issues/155>
2013-05-26 15:51:52 +02:00
Karel Minarik e839597c0b Added the API definition for `_cluster/nodes` 2013-05-26 15:51:28 +02:00
Karel Minarik b3e39864fe Added the API definition for `_cluster/nodes/hot_threads` 2013-05-26 15:51:27 +02:00
Karel Minarik 653677d1a0 Added the API definition for `_cluster/health` 2013-05-26 15:51:22 +02:00
Karel Minarik 9902da67d4 Added the API definition for `bulk` 2013-05-26 12:27:43 +02:00
Karel Minarik 3a741444bb [SETUP] Changed, that `parts` and `params` API definitions are sorted alphabetically 2013-05-26 12:20:43 +02:00
Karel Minarik 530c9c8ebf [UTIL] Changed, that JSON generator sorts API `parts` and `params` 2013-05-26 12:18:40 +02:00
Karel Minarik a55750dd70 [SETUP] Added the generated JSON skeleton files
Files were generated with the `thor api:generate:spec --force --verbose --crawl` command,
and based on the 0.90 branch (elasticsearch/elasticsearch@5ec4064).
2013-05-24 13:33:06 +02:00
Karel Minarik 3f8a861768 [SETUP] Added README and LICENSE 2013-05-24 12:06:08 +02:00
Karel Minarik 91a2150373 [UTIL] Added a JSON files generator
The generator will parse the Elasticsearch *.java source files,
extract information about REST API endpoints (URLs, HTTP methods, URL parameters, etc),
and create a skeleton of the JSON API specification file for each endpoint.

See:

    $ thor list
    $ thor help api:generate:spec
2013-05-24 12:06:04 +02:00
Karel Minarik 971e7bc341 Initial commit (blank repository) 2013-05-23 17:56:22 +02:00