Compare commits

..

30 Commits

Author SHA1 Message Date
ca0b33a2b0 Handle bulk errors in examples 2019-04-01 09:08:58 +02:00
74c37e5b2d Generated reference 2019-03-29 18:08:28 +01:00
0e47cb88eb Docs: Fix ingest doc links (#801)
The ingest docs in Elasticsearch doing point to the actual ingest APIs.
This makes up generate links to the real APIs instead, fixing some
broken links in the 5.x docs in the process.
2019-03-29 18:07:55 +01:00
f97208214e Generated reference 2019-03-29 15:46:44 +01:00
6f4a8bbe6a Docs: Handle more funny cases from ES api spec (#800)
Handles a few "special" doc urls from ES's api spec files. These are
only a problem in 6.x but we'd like to keep the generateDocs script the
same across all branches for easier backporting.
2019-03-29 15:46:17 +01:00
c0264393a1 Update asciidoc config 2019-03-29 15:41:57 +01:00
92bcf46ab4 Generated reference 2019-03-29 08:51:54 +01:00
af544e8a55 Docs: Fix the API reference (#799) 2019-03-29 08:50:57 +01:00
fbf804869f Bumped v7.0.0-rc.1 2019-03-28 19:28:09 +01:00
f3422a6f43 Fix docs (#796)
Follow up of https://github.com/elastic/docs/pull/701.
2019-03-28 17:36:08 +01:00
f2c43a843b Updated CONTRIBUTING.md (#794)
As titled, also renamed the script files for a better DX.
2019-03-28 10:11:04 +01:00
1f6c68df9c v7.0.0-rc1 support 🚀 (#792)
Support for Elasticsearch `v7.0.0-rc1`
2019-03-28 08:32:24 +01:00
c7675708de Added CONTRIBUTING.md and CODE_OF_CONDUCT.md 2019-03-27 16:48:12 +01:00
e897d8f050 Improved integration test runner 2019-03-27 15:00:21 +01:00
4537308c38 Doc updates (#791)
Updates for better displaying the documentation in the website.
2019-03-27 07:45:31 +01:00
3a1bb9377a Merge branch 'master' into 7.x 2019-03-26 12:06:04 +01:00
e185a0b08c Remove url in jenkins job configuration 2019-03-21 11:16:21 -04:00
9b111ee664 CI config (#786)
* Updated ci config

* Minor fixes

* Minor fixes

* Added Node v11
2019-03-21 11:03:35 +01:00
367f16c0ba Updated ci config 2019-03-19 14:16:56 +01:00
1d61cba014 Inspect Connection (#784)
Handles `console.log` and `utils.inspect` invocations for a better debugging experience.

`agent` and `ssl` are hidden since they made the logs very hard to read.
The user can still access them with `instance.agent` and `instance.ssl`.
2019-03-19 09:53:43 +01:00
358474bca8 Feat: Support bundlers (#783)
With this change, we support code bundlers, such as webpack.
Fixes: https://github.com/elastic/elasticsearch-js/issues/781
2019-03-19 09:53:43 +01:00
c0027b3958 Added a note about the new client 2019-03-19 09:53:43 +01:00
68c4dd29fb feat: add support for querystring in options object (#779)
In very few cases, some API uses the same key for both url and query params, such as the bulk method.
The client is not designed to handle such cases since accepts both url and query keys in the same object, and the url parameter will always take precedence.
This pr fixes this edge case by adding a `querystring` key in the options object.

Fixes: https://github.com/elastic/elasticsearch-js/pull/778

```js
client.bulk({
  index: 'index',
  type: '_doc',
  body: [...]
}, {
  querystring: {
    type: '_doc'
  }
}, console.log)
```
2019-03-19 09:53:43 +01:00
a3e3d57247 Updated coverage script 2019-03-15 17:49:24 +01:00
c3966cacab Added codecov badge 2019-03-15 17:49:24 +01:00
048933f106 Updated ignore files 2019-03-15 17:49:24 +01:00
91935905b6 Added codecov (#777) 2019-03-15 17:49:24 +01:00
0f5ac8127c Updated README 2019-03-14 18:33:22 +01:00
99e1dc3b39 API generation 2019-03-13 14:13:53 +01:00
e98cab1a34 Revert d4d7d0bef5 2019-03-13 14:13:32 +01:00
327 changed files with 27440 additions and 8246 deletions

185
.ci/Jenkinsfile vendored
View File

@ -1,185 +0,0 @@
#!/usr/bin/env groovy
@Library('apm@current') _
def NODE_JS_VERSIONS = [8,10,12]
def nodeJsVersion = NODE_JS_VERSIONS[randomNumber(min: 0, max:2)]
pipeline {
agent {
label 'docker && immutable'
}
environment {
REPO = 'elasticsearch-js'
BASE_DIR = "src/github.com/elastic/${env.REPO}"
NODE_JS_DEFAULT_VERSION = "${nodeJsVersion}"
NODE_JS_VERSIONS = "${NODE_JS_VERSIONS.join(',')}"
HOME = "${env.WORKSPACE}"
npm_config_cache = 'npm-cache'
}
options {
timeout(time: 1, unit: 'HOURS')
buildDiscarder(logRotator(numToKeepStr: '20', artifactNumToKeepStr: '20', daysToKeepStr: '30'))
timestamps()
ansiColor('xterm')
disableResume()
durabilityHint('PERFORMANCE_OPTIMIZED')
}
triggers {
issueCommentTrigger('(?i).*(?:jenkins\\W+)?run\\W+(?:the\\W+)?tests(?:\\W+please)?.*')
// env.CHANGE_ID as a value in case of a commit or a pr, which means
// that we will have a daily cron job only for branches that don't have an active pr
cron(env.CHANGE_ID ? '' : '@daily')
}
stages {
stage('Checkout') {
options { skipDefaultCheckout() }
steps {
deleteDir()
gitCheckout(basedir: "${BASE_DIR}", githubNotifyFirstTimeContributor: false)
stash allowEmpty: true, name: 'source', useDefaultExcludes: false
}
}
stage('Install dependencies') {
options { skipDefaultCheckout() }
steps {
deleteDir()
unstash 'source'
script {
buildDockerImage(image: "node:${env.NODE_JS_DEFAULT_VERSION}-alpine").inside(){
dir("${BASE_DIR}"){
sh(label: 'System info', script: 'node --version; npm --version')
sh(label: 'Install dependencies', script: 'npm install')
}
}
}
stash allowEmpty: true, name: 'source-dependencies', useDefaultExcludes: false
}
}
stage('License check') {
options { skipDefaultCheckout() }
steps {
withGithubNotify(context: 'License check') {
deleteDir()
unstash 'source-dependencies'
script {
buildDockerImage(image: "node:${env.NODE_JS_DEFAULT_VERSION}-alpine").inside(){
dir("${BASE_DIR}"){
sh(label: 'Check production dependencies licenses', script: 'npm run license-checker')
}
}
}
}
}
}
stage('Linter') {
options { skipDefaultCheckout() }
steps {
withGithubNotify(context: 'Linter') {
deleteDir()
unstash 'source-dependencies'
script {
buildDockerImage(image: "node:${env.NODE_JS_DEFAULT_VERSION}-alpine").inside(){
dir("${BASE_DIR}"){
sh(label: 'Lint code with standardjs', script: 'npm run lint')
}
}
}
}
}
}
stage('Unit test') {
failFast true
options { skipDefaultCheckout() }
steps {
withGithubNotify(context: 'Unit test') {
script {
def versions = env.NODE_JS_VERSIONS.split(',')
def parallelTasks = [:]
versions.each{ version ->
parallelTasks["Node.js v${version}"] = buildUnitTest(version: version)
}
parallel(parallelTasks)
}
}
}
}
stage('Integration test') {
options { skipDefaultCheckout() }
environment {
TEST_ES_SERVER = 'http://elasticsearch:9200'
}
steps {
withGithubNotify(context: 'Integration test OSS') {
deleteDir()
unstash 'source-dependencies'
dir("${BASE_DIR}"){
// Sometimes the docker registry fails and has random timeouts
// this block will retry a doker image 3 times before to fail.
retry(3) {
sleep randomNumber(min: 5, max: 10)
sh(label: 'Start Elasticsearch', script: './scripts/es-docker.sh --detach')
}
}
script {
buildDockerImage(fromDockerfile: true).inside('--network=elastic'){
dir("${BASE_DIR}"){
sh(label: 'Integration test', script: 'npm run test:integration | tee test-integration.tap')
sh(label: 'Generating test reporting', script: './node_modules/.bin/tap-mocha-reporter xunit < test-integration.tap > junit-integration.xml')
}
}
}
sh(label: 'Stop Elasticsearch', script: 'docker kill $(docker ps -q)')
junit(allowEmptyResults: true, keepLongStdio: true, testResults: "${BASE_DIR}/**/junit-*.xml")
}
}
}
}
}
// Sometimes the docker registry fails and has random timeouts
// this function will retry a doker image 3 times before to fail.
def buildDockerImage(args) {
def image
retry(3) {
sleep randomNumber(min: 5, max: 10)
if (args.fromDockerfile == true) {
image = docker.build('nodejs-image', "--build-arg NODE_JS_VERSION=${env.NODE_JS_DEFAULT_VERSION} ${BASE_DIR}/.ci/docker")
} else {
image = docker.image(args.image)
// make sure we have the latest available from Docker Hub
image.pull()
}
}
return image
}
def buildUnitTest(args) {
return {
node('docker && immutable') {
deleteDir()
unstash 'source'
script {
buildDockerImage(image: "node:${args.version}-alpine").inside(){
dir("${BASE_DIR}"){
sh(label: 'Install dependencies', script: 'npm install')
sh(label: 'Run unit test', script: 'npm run test:unit | tee test-unit.tap')
sh(label: 'Run behavior test', script: 'npm run test:behavior | tee test-behavior.tap')
sh(label: 'Run types test', script: 'npm run test:types')
sh(label: 'Generating test reporting', script: './node_modules/.bin/tap-mocha-reporter xunit < test-unit.tap > junit-unit.xml; ./node_modules/.bin/tap-mocha-reporter xunit < test-behavior.tap > junit-behavior.xml')
}
}
}
junit(allowEmptyResults: true, keepLongStdio: true, testResults: "${BASE_DIR}/**/junit-*.xml")
}
}
}

View File

@ -1,20 +1,20 @@
-----BEGIN CERTIFICATE----- -----BEGIN CERTIFICATE-----
MIIDSjCCAjKgAwIBAgIVAJQLm8V2LcaCTHUcoIfO+KL63nG3MA0GCSqGSIb3DQEB MIIDSTCCAjGgAwIBAgIUIwN+0zglsexRKwE1RGHvlCcmrdwwDQYJKoZIhvcNAQEL
CwUAMDQxMjAwBgNVBAMTKUVsYXN0aWMgQ2VydGlmaWNhdGUgVG9vbCBBdXRvZ2Vu BQAwNDEyMDAGA1UEAxMpRWxhc3RpYyBDZXJ0aWZpY2F0ZSBUb29sIEF1dG9nZW5l
ZXJhdGVkIENBMB4XDTIwMDIyNjA1NTA1N1oXDTIzMDIyNTA1NTA1N1owNDEyMDAG cmF0ZWQgQ0EwHhcNMTkwMjEzMDcyMjQwWhcNMjIwMjEyMDcyMjQwWjA0MTIwMAYD
A1UEAxMpRWxhc3RpYyBDZXJ0aWZpY2F0ZSBUb29sIEF1dG9nZW5lcmF0ZWQgQ0Ew VQQDEylFbGFzdGljIENlcnRpZmljYXRlIFRvb2wgQXV0b2dlbmVyYXRlZCBDQTCC
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDYyajkPvGtUOE5M1OowQfB ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANILs0JO0e7x29zeVx21qalK
kWVrWjo1+LIxzgCeRHp0YztLtdVJ0sk2xoSrt2uZpxcPepdyOseLTjFJex1D2yCR XKdX+AMlGJPH75wWO/Jq6YHtxt1wYIg762krOBXfG6JsFSOIwIv5VrzGGRGjSPt9
AEniIqcFif4G72nDih2LlbhpUe/+/MTryj8ZTkFTzI+eMmbQi5FFMaH+kwufmdt/ OXQyXrDDiQvsBT3rpzLNdDs7KMl2tZswwv7w9ujgud0cYnS1MOpn81rfPc73DvMg
5/w8YazO18SxxJUlzMqzfNUrhM8vvvVdxgboU7PWhk28wZHCMHQovomHmzclhRpF xuhplofDx6fn3++PjVRU2FNiIVWyEoaxRjCeGPMBubKZYaYbQA6vYM4Z+ByG727B
N0FMktA98vHHeRjH19P7rNhifSd7hZzoH3H148HVAKoPgqnZ6vW2O2YfAWOP6ulq AyAER3t7xmvYti/EoO2hv2HQk5zgcj/Oq3AJKhnt8LH8fnfm3TnYNM1htvXqhN05
cyszr57p8fS9B2wSdlWW7nVHU1JuKcYD67CxbBS23BeGFgCj4tiNrmxO8S5Yf85v vsvhvm2PHfnA5qLlSr/3W0aI/U/PqfsFDCgyRV097sMIaKkmavb0Ue7aQ7lgtp0C
AgMBAAGjUzBRMB0GA1UdDgQWBBSWAlip9eoPmnG4p4OFZeOUBlAbNDAfBgNVHSME AwEAAaNTMFEwHQYDVR0OBBYEFDRKlCMowWR1rwxE0d1lTEQe5O71MB8GA1UdIwQY
GDAWgBSWAlip9eoPmnG4p4OFZeOUBlAbNDAPBgNVHRMBAf8EBTADAQH/MA0GCSqG MBaAFDRKlCMowWR1rwxE0d1lTEQe5O71MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI
SIb3DQEBCwUAA4IBAQA19qqrMTWl7YyId+LR/QIHDrP4jfxmrEELrAL58q5Epc1k hvcNAQELBQADggEBAKbCJ95EBpeuvF70KEt6QU70k/SH1NRvM9YzKryV0D975Jvu
XxZLzOBSXoBfBrPdv+3XklWqXrZjKWfdkux0Xmjnl4qul+srrZDLJVZG3I7IrITh HOSm9HgSTULeAUFZIa4oYyf3QUfVoI+2T/aQrfXA3gfrJWsHURkyNmiHOFAbYHqi
AmQUmL9MuPiMnAcxoGZp1xpijtW8Qmd2qnambbljWfkuVaa4hcVRfrAX6TciIQ21 xA6i249G2GTEjc1+le/M2N2CcDKAmurW6vSGK4upXQbPd6KmnhHREX74zkWjnOa+
bS5aeLGrPqR14h30YzDp0RMmTujEa1o6ExN0+RSTkE9m89Q6WdM69az8JW7YkWqm +tibbSSOCT4Tmja2DbBxAPuivU9IB1g/hIUmbYQqKffQrBJA0658tz6w63a/Q7xN
I+UCG3TcLd3TXmN1zNQkq4y2ObDK4Sxy/2p6yFPI1Fds5w/zLfBOvvPQY61vEqs8 pCvvbSgiMZ6qcVIcJkBT2IooYie+ax45pQECHthgIUcQAzfmIfqlU0Qfl8rDgAmn
SCCcQIe7f6NDpIRIBlty1C9IaEHj7edyHjF6rtYb 0c1o6HQjKGU2aVGgSRuaaiHaSZjbPIZVS51sOoI=
-----END CERTIFICATE----- -----END CERTIFICATE-----

View File

@ -1,27 +0,0 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpgIBAAKCAQEA2Mmo5D7xrVDhOTNTqMEHwZFla1o6NfiyMc4AnkR6dGM7S7XV
SdLJNsaEq7drmacXD3qXcjrHi04xSXsdQ9sgkQBJ4iKnBYn+Bu9pw4odi5W4aVHv
/vzE68o/GU5BU8yPnjJm0IuRRTGh/pMLn5nbf+f8PGGsztfEscSVJczKs3zVK4TP
L771XcYG6FOz1oZNvMGRwjB0KL6Jh5s3JYUaRTdBTJLQPfLxx3kYx9fT+6zYYn0n
e4Wc6B9x9ePB1QCqD4Kp2er1tjtmHwFjj+rpanMrM6+e6fH0vQdsEnZVlu51R1NS
binGA+uwsWwUttwXhhYAo+LYja5sTvEuWH/ObwIDAQABAoIBAQC8QDGnMnmPdWJ+
13FYY3cmwel+FXXjFDk5QpgK15A2rUz6a8XxO1d7d1wR+U84uH4v9Na6XQyWjaoD
EyPQnuJiyAtgkZLUHoY244PGR5NsePEQlBSCKmGeF5w/j1LvP/2e9EmP4wKdQYJY
nLxFNcgEBCFnFbKIU5n8fKa/klybCrwlBokenyBro02tqH4LL7h1YMRRrl97fv1V
e/y/0WcMN+KnMglfz6haimBRV2yamCCHHmBImC+wzOgT/quqlxPfI+a3ScHxuA65
3QyCavaqlPh+T3lXnN/Na4UWqFtzMmwgJX2x1zM5qiln46/JoDiXtagvV43L3rNs
LhPRFeIRAoGBAPhEB7nNpEDNjIRUL6WpebWS9brKAVY7gYn7YQrKGhhCyftyaiBZ
zYgxPaJdqYXf+DmkWlANGoYiwEs40QwkR/FZrvO4+Xh3n3dgtl59ZmieuoQvDsG+
RYIj+TfBaqhewhZNMMl7dxz7DeyQhyRCdsvl3VqJM0RuOsIrzrhCIEItAoGBAN+K
lgWI7swDpOEaLmu+IWMkGImh1LswXoZqIgi/ywZ7htZjPzidOIeUsMi+lrYsKojG
uU3sBxASsf9kYXDnuUuUbGT5M/N2ipXERt7klUAA/f5sg1IKlTrabaN/HGs/uNtf
Efa8v/h2VyTurdPCJ17TNpbOMDwX1qGM62tyt2CLAoGBAIHCnP8iWq18QeuQTO8b
a3/Z9hHRL22w4H4MI6aOB6GSlxuTq6CJD4IVqo9IwSg17fnCy2l3z9s4IqWuZqUf
+XJOW8ELd2jdrT2qEOfGR1Z7UCVyqxXcq1vgDYx0zZh/HpalddB5dcJx/c8do2Ty
UEE2PcHqYB9uNcvzNbLc7RtpAoGBALbuU0yePUTI6qGnajuTcQEPpeDjhRHWSFRZ
ABcG1N8uMS66Mx9iUcNp462zgeP8iqY5caUZtMHreqxT+gWKK7F0+as7386pwElF
QPXgO18QMMqHBIQb0vlBjJ1SRPBjSiSDTVEML1DljvTTOX7kEJHh6HdKrmBO5b54
cqMQUo53AoGBAPVWRPUXCqlBz914xKna0ZUh2aesRBg5BvOoq9ey9c52EIU5PXL5
0Isk8sWSsvhl3tjDPBH5WuL5piKgnCTqkVbEHmWu9s1T57Mw6NuxlPMLBWvyv4c6
tB9brOxv0ui3qGMuBsBoDKbkNnwXyOXLyFg7O+H4l016A3mLQzJM+NGV
-----END RSA PRIVATE KEY-----

View File

@ -1,19 +1,19 @@
-----BEGIN CERTIFICATE----- -----BEGIN CERTIFICATE-----
MIIDIzCCAgugAwIBAgIVAMTO6uVx9dLox2t0lY4IcBKZXb5WMA0GCSqGSIb3DQEB MIIDIjCCAgqgAwIBAgIUI4QU6jA1dYSCbdIA6oAb2TBEluowDQYJKoZIhvcNAQEL
CwUAMDQxMjAwBgNVBAMTKUVsYXN0aWMgQ2VydGlmaWNhdGUgVG9vbCBBdXRvZ2Vu BQAwNDEyMDAGA1UEAxMpRWxhc3RpYyBDZXJ0aWZpY2F0ZSBUb29sIEF1dG9nZW5l
ZXJhdGVkIENBMB4XDTIwMDIyNjA1NTA1OVoXDTIzMDIyNTA1NTA1OVowEzERMA8G cmF0ZWQgQ0EwHhcNMTkwMjEzMDcyMzEzWhcNMjIwMjEyMDcyMzEzWjATMREwDwYD
A1UEAxMIaW5zdGFuY2UwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDK VQQDEwhpbnN0YW5jZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJeT
YLTOikVENiN/qYupOsoXd7VYYnryyfCC/dK4FC2aozkbqjFzBdvPGAasoc4yEiH5 yOy6EAScZxrULKjHePciiz38grivCrhFFV+dThaRCcl3DhDzb9Eny5q5iEw3WvLQ
CGeXMgJuOjk1maqetmdIsw00j4oHJviYsnGXzxxS5swhD7spcW4Uk4V4tAUzrbfT Rqmf01jncNIhaocTt66VqveXaMubbE8O0LcG6e4kpFO+JtnVF8JTARTc+ux/1uD6
vW/2WW/yYCLe5phVb2chz0jL+WYb4bBmdfs/t6RtP9RqsplYAmVp3gZ6lt2YNtvE hO1VG/HItM7WQrQxh4hfB2u1AX2YQtoqEtXXEC+UHWfl4QzuzXjBnKCkO/L9/6Tf
k9gz0TVk3DuO1TquIClfRYUjuywS6xDSvxJ8Jl91EfDWM8QU+9F+YAtiv74xl2U3 yNFQWXxKnIiTs8Xm9sEhhSCBJPlLTQu+MX4vR2Uwj5XZmflDUr+ZTenl9qYxL6b3
P0wwMqNvMxf9/3ak3lTQGsgO4L6cwbKpVLMMzxSVunZz/sgl19xy3qHHz1Qr2MjJ SWhh/qEl4GAj1+tS7ZZOxE0237mUh3IIFYSWSaMm8K2m/BYHkLNWL5B1dMic0lsv
/2c2J7vahUL4NPRkjJClAgMBAAGjTTBLMB0GA1UdDgQWBBS2Wn8E2VZv4oenY+pR osSoYrQuCef4HQMCitsCAwEAAaNNMEswHQYDVR0OBBYEFFMg4l1GLW8lYbwASY+r
O8G3zfQXhzAfBgNVHSMEGDAWgBSWAlip9eoPmnG4p4OFZeOUBlAbNDAJBgNVHRME YeWYRzIiMB8GA1UdIwQYMBaAFDRKlCMowWR1rwxE0d1lTEQe5O71MAkGA1UdEwQC
AjAAMA0GCSqGSIb3DQEBCwUAA4IBAQAvwPvCiJJ6v9jYcyvYY8I3gP0oCwrylpRL MAAwDQYJKoZIhvcNAQELBQADggEBAEQrgh1xALpumQTzsjxFRGque/vlKTgRs5Kh
n91UlgRSHUmuAObyOoVN5518gSV/bTU2SDrstcLkLFxHvnfpoGJoxsQEHuGxwDRI xtgapr6wjIbdq7dagee+4yNOKzS5lGVXCgwrJlHESv9qY0uumT/33vK2uduJ7NAd
nhYNd62EKLerehNM/F9ILKmvTh8f6QPCzjUuExTXv+63l2Sr6dBS7FHsGs6UKUYO fR2ZzyBnhMX+mkYhmGrGYCTUMUIwOIQYa4Evis4W+LHmCIDG03l7gLHfdIBe9VMO
llM/y9wMZ1LCuZuBg9RhtgpFXRSgDM9Z7Begu0d/BPX9od/qAeZg9Arz4rwUiCN4 pDZum8f6ng0MM49s8/rXODNYKw8kFyUhnfChqMi/2yggb1uUIfKlJJIchkgYjE13
IJOMEBEPi5q1tgeS0Fb1Grpqd0Uz5tZKtEHNKzLG+zSMmkneL62Nk2HsmEFZKwzg zuC+fjo029Pq1jeMIdxugLf/7I/8NiW1Yj9aCXevUXG1qzHFEuKAinBXYOZO/vWS
u2pU42UaUE596G6o78s1aLn9ICcElPHTjiuZNSiyuu9IzvFDjGQw LaEqOhwrzNynwgGpYAr7Rfgv4AflltYIIav4PZT03P7fbyAAf8s=
-----END CERTIFICATE----- -----END CERTIFICATE-----

View File

@ -1,27 +1,27 @@
-----BEGIN RSA PRIVATE KEY----- -----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAymC0zopFRDYjf6mLqTrKF3e1WGJ68snwgv3SuBQtmqM5G6ox MIIEpQIBAAKCAQEAl5PI7LoQBJxnGtQsqMd49yKLPfyCuK8KuEUVX51OFpEJyXcO
cwXbzxgGrKHOMhIh+QhnlzICbjo5NZmqnrZnSLMNNI+KByb4mLJxl88cUubMIQ+7 EPNv0SfLmrmITDda8tBGqZ/TWOdw0iFqhxO3rpWq95doy5tsTw7Qtwbp7iSkU74m
KXFuFJOFeLQFM623071v9llv8mAi3uaYVW9nIc9Iy/lmG+GwZnX7P7ekbT/UarKZ 2dUXwlMBFNz67H/W4PqE7VUb8ci0ztZCtDGHiF8Ha7UBfZhC2ioS1dcQL5QdZ+Xh
WAJlad4GepbdmDbbxJPYM9E1ZNw7jtU6riApX0WFI7ssEusQ0r8SfCZfdRHw1jPE DO7NeMGcoKQ78v3/pN/I0VBZfEqciJOzxeb2wSGFIIEk+UtNC74xfi9HZTCPldmZ
FPvRfmALYr++MZdlNz9MMDKjbzMX/f92pN5U0BrIDuC+nMGyqVSzDM8Ulbp2c/7I +UNSv5lN6eX2pjEvpvdJaGH+oSXgYCPX61Ltlk7ETTbfuZSHcggVhJZJoybwrab8
Jdfcct6hx89UK9jIyf9nNie72oVC+DT0ZIyQpQIDAQABAoIBADAh7f7NjgnaInlD FgeQs1YvkHV0yJzSWy+ixKhitC4J5/gdAwKK2wIDAQABAoIBAQCRFTJna/xy/WUu
ds8KB3SraPsbeQhzlPtiqRJU4j/MIFH/GYG03AGWQkget67a9y+GmzSvlTpoKKEh 59FLR4qAOj8++JgCwACpue4oU7/vl6nffSYokWoAr2+RzG4qTX2vFi3cpA8+dGCn
6h2TXl9BDpv4o6ht0WRn1HJ5tM/Wyqf2WNpTew3zxCPgFPikkXsPrChYPzLTQJfp sLZvTi8tWzKGxBTZdg2oakzaMzLr74SeZ052iCGyrZJGbvF6Ny7srr1XEXSq6+os
GkP/mfTFmxfAOlPZSp4j41zVLYs53eDkAegFPVfKSr1XNNJ3QODLPcIBfxBYsiC9 ZCb6pMHOhO7saBdiKMAsY8MdjTl/33AduuE6ztqv+L92xTr2g4QlbT1KvWlEgppU
oU+jRW8xYuj31cEl5k5UqrChJ1rm3mt6cguqXKbISuoSvi13gXI6DccqhuLAU+Kr k4Gy7zdETkPBTSH/17ZwyGJoJICIAhbL4IpmOM4dPIg8nFkVPPpy6p0z4uGjtgnK
ib2XYrRP+pWocZo/pM9WUVoNGtFxfY88sAQtvG6gDKo2AURtFyq84Ow0h9mdixV/ nreZ2EKMzCafBaHn7A77gpi0OrQdl6pe0fsGqv/323YjCJPbwwl5TsoNq44DzwiX
gRIDPcECgYEA5nEqE3OKuG9WuUFGXvjtn4C0F6JjflYWh7AbX51S4F6LKrW6/XHL 3M7XiVJxAoGBAOCne56vdN4uZmCgLVGT2JSUNVPOu4bfjrxWH6cslzrPT2Zhp3lO
Rg4BtF+XReT7OQ6llsV8kZeUxsUckkgDLzSaA8lysNDV5KkhAWHfRqH//QKFbqZi M4axZ3gmcervV252YEZXntXDHHCSfrECllRN1WFD63XmyQ/CkhuvZkkeRHfzL1TE
JL9t3x63Qt81US8s2hQk3khPYTRM8ZB3xHiXvZYSGC/0x/DxfEO3QJECgYEA4NK5 EdqHOTqs4sRETZ7+RITFC81DZQkWWOKeyXMjyPBqd7RnThQHijB1c8Y5AoGBAKy6
sxtrat8sFz6SK9nWEKimPjDVzxJ0hxdX4tRq/JdOO5RncawVqt6TNP9gTuxfBvhW CVKBx+zz5crVD0tz4UhOmz1wRNN0CL0l+FXRuFSgbzMIvwpfiqe25crgeLHe2M2/
MhJYEsQj8iUoL1dxo9d1eP8HEANNV0iX5OBvJNmgBp+2OyRSyr+PA55+wAxYuAE7 TogdWbjZ2nUZQTzoRsSkQ6cKHpj+G/gWurp/UcHHXFVwgLSPF7c3KHDtiYq7Vqw0
QKaitOjW57fpArNRt2hQyiSzTuqUFRWTWJHCWNUCgYAEurPTXF6vdFGCUc2g61jt bvmhM03LI6+ZIPRV7hLBr7WP7UmpAiREMF7tTnmzAoGBAIkx3w3WywFQxtblmyeB
GhYYGhQSpq+lrz6Qksj9o9MVWE9zHh++21C7o+6V16I0RJGva3QoBMVf4vG4KtQt qbd7F2IaE23XoxyjX+tBEQ4qQqwcoSE0v8TXHIBEwjceeX+NLVhn9ClJYVniLRq+
5tV2WG8LI+4P2Ey+G4UajP6U8bVNVQrUmD0oBBhcvfn5JY+1Fg6/pRpD82/U0VMz oL3VVqVyzB4RleJZCc98e3PV1yyFx/b1Uo3pHOsXX9lKeTjKwV9v0rhFGzPEgP3M
7AmpMWhDqNBMPiymkTk0kQKBgCuWb05cSI0ly4SOKwS5bRk5uVFhYnKNH255hh6C yOvXA8TG0FnM6OLUg/D6GX0JAoGAMuHS4TVOGeV3ahr9mHKYiN5vKNgrzka+VEod
FGP4acB/WzbcqC7CjEPAJ0nl5d6SExQOHmk1AcsWjR3wlCWxxiK5PwNJwJrlhh1n L9rJ/FQOrfADpyCiDen5I5ygsXU+VM3oanyK88NpcVlxOGoMft0M+OYoQVWKE7lO
reS1FKN0H36D4lFQpkeLWQOe4Sx7gKNeKzlr0w6Fx3Uwku0+Gju2tdTdAey8jB6l ZKYhBX6fGqQ7pfUJPXXIOgwfmni5fZ0sm+j63g3bg10OsiumKGxaQJgXhL1+3gQg
08opAoGAEe1AuR/OFp2xw6V8TH9UHkkpGxy+OrXI6PX6tgk29PgB+uiMu4RwbjVz Y7ZwibUCgYEAlZoFFvkMLjpOSaHk1z5ZZnt19X0QUIultBwkumSqMPm+Ks7+uDrx
1di1KKq2XecAilVbnyqY+edADxYGbSnci9x5wQRIebfMi3VXKtV8NQBv2as6qwtW thGUCoz4ecr/ci4bIUY7mB+zfAbqnBOMxreJqCRbAIuRypo1IlWkTp8DywoDOfMW
JDcQUWotOHjpdvmfJWWkcBhbAKrgX8ukww00ZI/lC3/rmkGnBBg= NfzjVmzJ7EJu44nGmVAi1jw4Pbseivvi1ujMCoPgaE8I1uSh144bwN8=
-----END RSA PRIVATE KEY----- -----END RSA PRIVATE KEY-----

View File

@ -1,20 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIDVjCCAj6gAwIBAgIULh42yRefYlRRl1hvt055LrUH0HwwDQYJKoZIhvcNAQEL
BQAwNDEyMDAGA1UEAxMpRWxhc3RpYyBDZXJ0aWZpY2F0ZSBUb29sIEF1dG9nZW5l
cmF0ZWQgQ0EwHhcNMjAwMjI4MDMzNzIwWhcNMjMwMjI3MDMzNzIwWjATMREwDwYD
VQQDEwhpbnN0YW5jZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIUP
t267NN21z+3ukajej8eojSXwP6zHxy7CUAp+sQ7bTq2XCKxkYX3CW9ThcS4cV9mL
ayYdWEYnbEDGYPQDo7Wk3Ih5OEXTMZb/yNEx5D4S2lGMOS5bCDdYx6GvwCMG4jNx
aMktosaxpprAJiHh2oLgQk0hQc/a9JfMo6kJKtuhjxsxjxLwcOHhuaUD7NS0Pjop
CJkSYcrL+nnQPQjKe4uLhAbSyiX914h4QX0CJ0e4z1ccdDX2PFWTrwaIf//vQhCR
wP2YKdfjR0JB4oDAlu85GsIs2cFLPysM5ufuNZO4fCr8uOwloKI8zZ2HhlIfBEcY
Gcy4g9N/9epmxMXZlGcCAwEAAaOBgDB+MB0GA1UdDgQWBBRefYm8DHHDdkTPHhS1
HEUwTb2uiDAfBgNVHSMEGDAWgBSWAlip9eoPmnG4p4OFZeOUBlAbNDAxBgNVHREE
KjAogglsb2NhbGhvc3SHBH8AAAGHEAAAAAAAAAAAAAAAAAAAAAGCA2VzMTAJBgNV
HRMEAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQC+pauqM2wJjQaHyHu+kIm59P4b/5Oj
IH1cYCQfMB7Y2UMLxp0ew+f7o7zzE2DA52YYFDWy6J5DVWtSBPyeFGgX+RH+aA+9
Iv4cc9QpAs6aFjncorHrzNOrWLgCHIeRAxTR0CAkeP2dUZfDBuMpRyP6rAsYzyLH
Rb3/BfYJSI5vxgt5Ke49Y/ljDKFJTyDmAVrHQ4JWrseYE1UZ2eDkBXeiRlYE/QtB
YsrUSqdL6zvFZyUcilxDUUabNcA+GgeGZ2lAEA90F8vwi62QwRXo3Iv1Hz+6xc43
nFofDK9D8/qkrUD9iuhpx1974QwPhwWyjn9RZRpbZA4ngRL+szdRXR4N
-----END CERTIFICATE-----

View File

@ -1,27 +0,0 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEogIBAAKCAQEAhQ+3brs03bXP7e6RqN6Px6iNJfA/rMfHLsJQCn6xDttOrZcI
rGRhfcJb1OFxLhxX2YtrJh1YRidsQMZg9AOjtaTciHk4RdMxlv/I0THkPhLaUYw5
LlsIN1jHoa/AIwbiM3FoyS2ixrGmmsAmIeHaguBCTSFBz9r0l8yjqQkq26GPGzGP
EvBw4eG5pQPs1LQ+OikImRJhysv6edA9CMp7i4uEBtLKJf3XiHhBfQInR7jPVxx0
NfY8VZOvBoh//+9CEJHA/Zgp1+NHQkHigMCW7zkawizZwUs/Kwzm5+41k7h8Kvy4
7CWgojzNnYeGUh8ERxgZzLiD03/16mbExdmUZwIDAQABAoIBAEwhjulLMVc9JEfV
PP/qv0cUOBYh3LzF3T/yq4slq7Z9YgnOJYdFM8aZgqNNjc09KEJvE5JOLeiNu9Ff
768Nugg+2HM5MCo7SN9FYCfZLOcbMFCCM2FDcnMAV9A512vzD08xryuT8dNPZ6yZ
DfhK2hQRrb2lrpr3gwSrcGRRu3THqvq7X1RIjpLV3teDMeP8rQPAlpj8fmP+kdVV
5y1ihiDIo87McihG9FMavJtBDXQkUEuVw6eIeir8L/zHHD/ZwhYjNHZGWbrB88sz
CkJkfWh/FlA63tCVdJzkmnERALLTVy9mR0Sq6sUlnFhFNO2BRdWgYLrcp9McfTJC
e8+WsSECgYEAuwQ3nAaFL0jqYu1AREyKT/f3WUenf2UsX7dwwV2/yFtQvkzW7ji4
uZLnfUnZBojtHf35dRo+hDgtvhZhgZNAuPPsbOl/EIMTcbChEqV/3CSTFlhLFM1d
hfM9PoM+Bt/pyUNabjD1sWM0X7WeUhzcddshY3S4daBsNsLuOzweRRcCgYEAtiSS
4qiiGafYsY7gOHuAlOhs/00+1uWIFEHKgoHM9vzCxDN3LCmBdynHk8ZE2TAdhw+l
7xpu6LUxKQDfGmVZa9Epg0kQmVq9c54oQP57pJ3tR+68++insEkfnaZH8jblfq2s
sSkFrY3pdS19edq60nuft64kswKRUUkamCXTXTECgYBdoSfiMpV9bekC7DsPtq5M
iR3KEgi2zEViCmomNTRuL+GF1NyKWdWJ+xVwcYd5MRZdvKimyyPfeGzWTUg14i42
KtEEWgZmkukqMz8BIeCYq6sENeIpIQQgqv3PjU+Bi5r1S4Y7wsFPNRakkD4aaB6r
1rCppWcwZMeoxwEUoO2aswKBgBdDIIdWJi3EpAY5SyWrkEZ0UMdiZC4p7nE33ddB
IJ5CtdU9BXFcc652ZYjX/58FaCABvZ2F8LhDu92SwOusGfmNIxIjWL1dO2jywA1c
8wmZKd7P/M7nbdMz45fMzs9+d1zwbWfK53C8+R4AC1BuwQF0zHc3BHTgVRLelUjt
O8thAoGAdO2gHIqEsZzTgbvLbsh52eVbumjfNGnrnEv1fjb+o+/wAol8dymcmzbL
bZCRzoyA0qwU9kdPFgX46H6so6o1tUM2GQtVFoT6kDnPv7EkLQK0C4cDh6OOHxDU
NPvr/9fHhQd9EDWDvS1JnVMAdKDO6ELp3SoKGGmCXR2QplnqWAk=
-----END RSA PRIVATE KEY-----

View File

@ -22,7 +22,7 @@ services:
- elasticsearch-oss - elasticsearch-oss
elasticsearch-oss: elasticsearch-oss:
image: docker.elastic.co/elasticsearch/elasticsearch:${ELASTICSEARCH_VERSION:-5.6.15} image: docker.elastic.co/elasticsearch/elasticsearch:${ELASTICSEARCH_VERSION:-7.0.0-beta1}
volumes: volumes:
- esvol:/tmp - esvol:/tmp
networks: networks:
@ -32,10 +32,63 @@ services:
- "repositories.url.allowed_urls=http://snapshot.*" - "repositories.url.allowed_urls=http://snapshot.*"
- node.attr.testattr=test - node.attr.testattr=test
- bootstrap.memory_lock=false - bootstrap.memory_lock=false
- "xpack.security.enabled=false"
- "discovery.type=single-node" - "discovery.type=single-node"
- "ES_JAVA_OPTS=-Xms512m -Xmx512m" - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
client-platinum:
image: docker.elastic.co/clients/elasticsearch-js:${NODE_JS_VERSION:-10}
build:
context: ..
dockerfile: .ci/Dockerfile
args:
NODE_JS_VERSION: ${NODE_JS_VERSION:-10}
environment:
- "TEST_ES_SERVER=https://elastic:changeme@elasticsearch-platinum:9200"
volumes:
- ..:/usr/src/app
# This will mount the node_modules directory
# to the host machine using the buildtime directory.
- /usr/src/app/node_modules
- esvol:/tmp
networks:
- esnet-platinum
depends_on:
- elasticsearch-platinum
# there is not need to run again also the unit test
command: ["npm", "run", "test:integration"]
elasticsearch-platinum:
image: docker.elastic.co/elasticsearch/elasticsearch:${ELASTICSEARCH_VERSION:-7.0.0-beta1}
ports:
- "9200:9200"
networks:
- esnet-platinum
environment:
- "node.attr.testattr=test"
- "path.repo=/tmp"
- "repositories.url.allowed_urls=http://snapshot.*"
- "discovery.type=single-node"
- "ES_JAVA_OPTS=-Xms1g -Xmx1g"
- "ELASTIC_PASSWORD=changeme"
- "xpack.security.enabled=true"
- "xpack.license.self_generated.type=trial"
- "xpack.security.http.ssl.enabled=true"
- "xpack.security.http.ssl.verification_mode=certificate"
- "xpack.security.http.ssl.key=certs/testnode.key"
- "xpack.security.http.ssl.certificate=certs/testnode.crt"
- "xpack.security.http.ssl.certificate_authorities=certs/ca.crt"
- "xpack.security.transport.ssl.enabled=true"
- "xpack.security.transport.ssl.key=certs/testnode.key"
- "xpack.security.transport.ssl.certificate=certs/testnode.crt"
- "xpack.security.transport.ssl.certificate_authorities=certs/ca.crt"
volumes:
- "./certs/testnode.crt:/usr/share/elasticsearch/config/certs/testnode.crt"
- "./certs/testnode.key:/usr/share/elasticsearch/config/certs/testnode.key"
- "./certs/ca.crt:/usr/share/elasticsearch/config/certs/ca.crt"
networks: networks:
# we need two networks otherwise the two ES instances will join each other
esnet-oss: esnet-oss:
esnet-platinum:
volumes: volumes:
esvol: esvol:

View File

@ -1,7 +0,0 @@
ARG NODE_JS_VERSION=10
FROM node:${NODE_JS_VERSION}-alpine
RUN apk --no-cache add git
# Create app directory
WORKDIR /usr/src/app

View File

@ -1,67 +0,0 @@
#!/usr/bin/env bash
#
# Shared cleanup routines between different steps
#
# Please source .ci/functions/imports.sh as a whole not just this file
#
# Version 1.0.0
# - Initial version after refactor
function cleanup_volume {
if [[ "$(docker volume ls -q -f name=$1)" ]]; then
echo -e "\033[34;1mINFO:\033[0m Removing volume $1\033[0m"
(docker volume rm "$1") || true
fi
}
function container_running {
if [[ "$(docker ps -q -f name=$1)" ]]; then
return 0;
else return 1;
fi
}
function cleanup_node {
if container_running "$1"; then
echo -e "\033[34;1mINFO:\033[0m Removing container $1\033[0m"
(docker container rm --force --volumes "$1") || true
fi
if [[ -n "$1" ]]; then
echo -e "\033[34;1mINFO:\033[0m Removing volume $1-${suffix}-data\033[0m"
cleanup_volume "$1-${suffix}-data"
fi
}
function cleanup_network {
if [[ "$(docker network ls -q -f name=$1)" ]]; then
echo -e "\033[34;1mINFO:\033[0m Removing network $1\033[0m"
(docker network rm "$1") || true
fi
}
function cleanup_trap {
status=$?
set +x
if [[ "$DETACH" != "true" ]]; then
echo -e "\033[34;1mINFO:\033[0m clean the network if not detached (start and exit)\033[0m"
cleanup_all_in_network "$1"
fi
# status is 0 or SIGINT
if [[ "$status" == "0" || "$status" == "130" ]]; then
echo -e "\n\033[32;1mSUCCESS run-tests\033[0m"
exit 0
else
echo -e "\n\033[31;1mFAILURE during run-tests\033[0m"
exit ${status}
fi
};
function cleanup_all_in_network {
if [[ -z "$(docker network ls -q -f name="^$1\$")" ]]; then
echo -e "\033[34;1mINFO:\033[0m $1 is already deleted\033[0m"
return 0
fi
containers=$(docker network inspect -f '{{ range $key, $value := .Containers }}{{ printf "%s\n" .Name}}{{ end }}' $1)
while read -r container; do
cleanup_node "$container"
done <<< "$containers"
cleanup_network $1
echo -e "\033[32;1mSUCCESS:\033[0m Cleaned up and exiting\033[0m"
};

View File

@ -1,60 +0,0 @@
#!/usr/bin/env bash
#
# Sets up all the common variables and imports relevant functions
#
# Version 1.0.1
# - Initial version after refactor
# - Validate STACK_VERSION asap
function require_stack_version() {
if [[ -z $STACK_VERSION ]]; then
echo -e "\033[31;1mERROR:\033[0m Required environment variable [STACK_VERSION] not set\033[0m"
exit 1
fi
}
require_stack_version
if [[ -z $es_node_name ]]; then
# only set these once
set -euo pipefail
export TEST_SUITE=${TEST_SUITE-oss}
export RUNSCRIPTS=${RUNSCRIPTS-}
export DETACH=${DETACH-false}
export CLEANUP=${CLEANUP-false}
export es_node_name=instance
export elastic_password=changeme
export elasticsearch_image=elasticsearch
export elasticsearch_url=https://elastic:${elastic_password}@${es_node_name}:9200
if [[ $TEST_SUITE != "xpack" ]]; then
export elasticsearch_image=elasticsearch-${TEST_SUITE}
export elasticsearch_url=http://${es_node_name}:9200
fi
export external_elasticsearch_url=${elasticsearch_url/$es_node_name/localhost}
export elasticsearch_container="${elasticsearch_image}:${STACK_VERSION}"
export suffix=rest-test
export moniker=$(echo "$elasticsearch_container" | tr -C "[:alnum:]" '-')
export network_name=${moniker}${suffix}
export ssl_cert="${script_path}/certs/testnode.crt"
export ssl_key="${script_path}/certs/testnode.key"
export ssl_ca="${script_path}/certs/ca.crt"
fi
export script_path=$(dirname $(realpath -s $0))
source $script_path/functions/cleanup.sh
source $script_path/functions/wait-for-container.sh
trap "cleanup_trap ${network_name}" EXIT
if [[ "$CLEANUP" == "true" ]]; then
cleanup_all_in_network $network_name
exit 0
fi
echo -e "\033[34;1mINFO:\033[0m Creating network $network_name if it does not exist already \033[0m"
docker network inspect "$network_name" > /dev/null 2>&1 || docker network create "$network_name"

View File

@ -1,36 +0,0 @@
#!/usr/bin/env bash
#
# Exposes a routine scripts can call to wait for a container if that container set up a health command
#
# Please source .ci/functions/imports.sh as a whole not just this file
#
# Version 1.0.1
# - Initial version after refactor
# - Make sure wait_for_contiainer is silent
function wait_for_container {
set +x
until ! container_running "$1" || (container_running "$1" && [[ "$(docker inspect -f "{{.State.Health.Status}}" ${1})" != "starting" ]]); do
echo ""
docker inspect -f "{{range .State.Health.Log}}{{.Output}}{{end}}" ${1}
echo -e "\033[34;1mINFO:\033[0m waiting for node $1 to be up\033[0m"
sleep 2;
done;
# Always show logs if the container is running, this is very useful both on CI as well as while developing
if container_running $1; then
docker logs $1
fi
if ! container_running $1 || [[ "$(docker inspect -f "{{.State.Health.Status}}" ${1})" != "healthy" ]]; then
cleanup_all_in_network $2
echo
echo -e "\033[31;1mERROR:\033[0m Failed to start $1 in detached mode beyond health checks\033[0m"
echo -e "\033[31;1mERROR:\033[0m dumped the docker log before shutting the node down\033[0m"
return 1
else
echo
echo -e "\033[32;1mSUCCESS:\033[0m Detached and healthy: ${1} on docker network: ${network_name}\033[0m"
return 0
fi
}

View File

@ -1,4 +1,4 @@
---
##### GLOBAL METADATA ##### GLOBAL METADATA
@ -42,15 +42,11 @@
- axis: - axis:
type: yaml type: yaml
filename: .ci/test-matrix.yml filename: .ci/test-matrix.yml
name: STACK_VERSION name: ELASTICSEARCH_VERSION
- axis: - axis:
type: yaml type: yaml
filename: .ci/test-matrix.yml filename: .ci/test-matrix.yml
name: NODE_JS_VERSION name: NODE_JS_VERSION
- axis:
type: yaml
filename: .ci/test-matrix.yml
name: TEST_SUITE
yaml-strategy: yaml-strategy:
exclude-key: exclude exclude-key: exclude
filename: .ci/test-matrix.yml filename: .ci/test-matrix.yml
@ -69,6 +65,3 @@
publishers: publishers:
- email: - email:
recipients: infra-root+build@elastic.co recipients: infra-root+build@elastic.co
# - junit:
# results: "*-junit.xml"
# allow-empty-results: true

View File

@ -1,14 +0,0 @@
#!/usr/bin/env bash
source /usr/local/bin/bash_standard_lib.sh
DOCKER_IMAGES="node:12-alpine
node:10-alpine
node:8-alpine
"
for di in ${DOCKER_IMAGES}
do
(retry 2 docker pull "${di}") || echo "Error pulling ${di} Docker image, we continue"
done

View File

@ -8,55 +8,102 @@
# #
# - $ELASTICSEARCH_VERSION # - $ELASTICSEARCH_VERSION
# - $NODE_JS_VERSION # - $NODE_JS_VERSION
# - $TEST_SUITE
# #
set -eo pipefail set -eo pipefail
ELASTICSEARCH_VERSION=${STACK_VERSION} set +x
export VAULT_TOKEN=$(vault write -field=token auth/approle/login role_id="$VAULT_ROLE_ID" secret_id="$VAULT_SECRET_ID")
export CODECOV_TOKEN=$(vault read -field=token secret/clients-ci/elasticsearch-js/codecov)
unset VAULT_ROLE_ID VAULT_SECRET_ID VAULT_TOKEN
set -x
function cleanup {
docker container rm --force --volumes elasticsearch-oss > /dev/null 2>&1 || true
docker container rm --force --volumes elasticsearch-platinum > /dev/null 2>&1 || true
docker container rm --force --volumes elasticsearch-js-oss > /dev/null 2>&1 || true
docker container rm --force --volumes elasticsearch-js-platinum > /dev/null 2>&1 || true
docker network rm esnet-oss > /dev/null
docker network rm esnet-platinum > /dev/null
}
trap cleanup EXIT
# create network and volume
docker network create esnet-oss
docker network create esnet-platinum
# create client image
docker build \ docker build \
--file .ci/Dockerfile \ --file .ci/Dockerfile \
--tag elastic/elasticsearch-js \ --tag elastic/elasticsearch-js \
--build-arg NODE_JS_VERSION=${NODE_JS_VERSION} \ --build-arg NODE_JS_VERSION=${NODE_JS_VERSION} \
. .
NODE_NAME="es1" # run elasticsearch oss
docker run \
--rm \
--env "node.attr.testattr=test" \
--env "path.repo=/tmp" \
--env "repositories.url.allowed_urls=http://snapshot.*" \
--env "discovery.type=single-node" \
--network=esnet-oss \
--name=elasticsearch-oss \
--detach \
docker.elastic.co/elasticsearch/elasticsearch-oss:${ELASTICSEARCH_VERSION}
# run elasticsearch platinum
repo=$(pwd) repo=$(pwd)
testnodecrt="/.ci/certs/testnode.crt" testnodecrt="/.ci/certs/testnode.crt"
testnodekey="/.ci/certs/testnode.key" testnodekey="/.ci/certs/testnode.key"
cacrt="/.ci/certs/ca.crt" cacrt="/.ci/certs/ca.crt"
elasticsearch_image="elasticsearch"
elasticsearch_url="https://elastic:changeme@${NODE_NAME}:9200"
if [[ $TEST_SUITE != "xpack" ]]; then
elasticsearch_image="elasticsearch"
elasticsearch_url="http://${NODE_NAME}:9200"
fi
docker network create esnet
docker run \ docker run \
--rm \ --rm \
--env "node.attr.testattr=test" \ --env "node.attr.testattr=test" \
--env "path.repo=/tmp" \ --env "path.repo=/tmp" \
--env "repositories.url.allowed_urls=http://snapshot.*" \ --env "repositories.url.allowed_urls=http://snapshot.*" \
--env "discovery.zen.ping.unicast.hosts=${NODE_NAME}" \ --env "discovery.type=single-node" \
--env "xpack.security.enabled=false" \ --env "ES_JAVA_OPTS=-Xms1g -Xmx1g" \
--env "xpack.monitoring.enabled=false" \ --env "ELASTIC_PASSWORD=changeme" \
--env "xpack.ml.enabled=false" \ --env "xpack.security.enabled=true" \
--env ES_JAVA_OPTS="-Xms1g -Xmx1g" \ --env "xpack.license.self_generated.type=trial" \
--network=esnet \ --env "xpack.security.http.ssl.enabled=true" \
--name=$NODE_NAME \ --env "xpack.security.http.ssl.verification_mode=certificate" \
--env "xpack.security.http.ssl.key=certs/testnode.key" \
--env "xpack.security.http.ssl.certificate=certs/testnode.crt" \
--env "xpack.security.http.ssl.certificate_authorities=certs/ca.crt" \
--env "xpack.security.transport.ssl.enabled=true" \
--env "xpack.security.transport.ssl.key=certs/testnode.key" \
--env "xpack.security.transport.ssl.certificate=certs/testnode.crt" \
--env "xpack.security.transport.ssl.certificate_authorities=certs/ca.crt" \
--volume "$repo$testnodecrt:/usr/share/elasticsearch/config/certs/testnode.crt" \
--volume "$repo$testnodekey:/usr/share/elasticsearch/config/certs/testnode.key" \
--volume "$repo$cacrt:/usr/share/elasticsearch/config/certs/ca.crt" \
--network=esnet-platinum \
--name=elasticsearch-platinum \
--detach \ --detach \
docker.elastic.co/elasticsearch/elasticsearch:${ELASTICSEARCH_VERSION} docker.elastic.co/elasticsearch/elasticsearch:${ELASTICSEARCH_VERSION}
# run the client unit and oss integration test
docker run \ docker run \
--network=esnet \ --network=esnet-oss \
--env "TEST_ES_SERVER=${elasticsearch_url}" \ --env "TEST_ES_SERVER=http://elasticsearch-oss:9200" \
--volume $(pwd):/usr/src/app \ --env "CODECOV_TOKEN" \
--volume $repo:/usr/src/app \
--volume /usr/src/app/node_modules \ --volume /usr/src/app/node_modules \
--name elasticsearch-js \ --name elasticsearch-js-oss \
--rm \
elastic/elasticsearch-js \
npm run ci
# run the client platinium integration test
docker run \
--network=esnet-platinum \
--env "TEST_ES_SERVER=https://elastic:changeme@elasticsearch-platinum:9200" \
--volume $repo:/usr/src/app \
--volume /usr/src/app/node_modules \
--name elasticsearch-js-platinum \
--rm \ --rm \
elastic/elasticsearch-js \ elastic/elasticsearch-js \
npm run test:integration npm run test:integration

View File

@ -1,13 +1,11 @@
--- ---
STACK_VERSION: ELASTICSEARCH_VERSION:
- 5.6.16 - 7.0.0-rc1
NODE_JS_VERSION: NODE_JS_VERSION:
- 12 - 11
- 10 - 10
- 8 - 8
- 6
TEST_SUITE:
- oss
exclude: ~ exclude: ~

View File

@ -3,7 +3,7 @@ comment: off
coverage: coverage:
precision: 2 precision: 2
round: down round: down
range: "95...100" range: "90...100"
status: status:
project: yes project: yes

View File

@ -1,16 +0,0 @@
name: Backport
on:
pull_request:
types:
- closed
- labeled
jobs:
backport:
runs-on: ubuntu-latest
name: Backport
steps:
- name: Backport
uses: tibdex/backport@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}

View File

@ -1,120 +0,0 @@
name: Node CI
on: [push, pull_request]
jobs:
test:
name: Test
runs-on: ${{ matrix.os }}
strategy:
matrix:
node-version: [10.x, 12.x, 13.x]
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Install
run: |
npm install
- name: Lint
run: |
npm run lint
- name: Unit test
run: |
npm run test:unit
- name: Behavior test
run: |
npm run test:behavior
- name: Type Definitions
run: |
npm run test:types
test-node-v8:
name: Test
runs-on: ${{ matrix.os }}
strategy:
matrix:
node-version: [8.x]
os: [ubuntu-latest, windows-latest, macOS-latest]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Install
run: |
npm install
- name: Test
run: |
npm run test:unit -- --node-arg=--harmony-async-iteration
code-coverage:
name: Code coverage
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Install
run: |
npm install
- name: Code coverage
run: |
npm run test:coverage
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
with:
file: ./coverage.lcov
fail_ci_if_error: true
license:
name: License check
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [12.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Install
run: |
npm install
- name: License checker
run: |
npm run license-checker

6
.gitignore vendored
View File

@ -50,6 +50,8 @@ package-lock.json
# elasticsearch repo or binary files # elasticsearch repo or binary files
elasticsearch* elasticsearch*
test/benchmarks/macro/fixtures/* # Generated typings, we don't commit them
# because we should copy them in the main .d.ts file
api/generated.d.ts
*-junit.xml test/benchmarks/macro/fixtures/*

View File

@ -67,6 +67,3 @@ scripts
.ci .ci
.travis.yml .travis.yml
certs certs
.github
CODE_OF_CONDUCT.md
CONTRIBUTING.md

31
.travis.yml Normal file
View File

@ -0,0 +1,31 @@
dist: trusty
sudo: required
language: node_js
node_js:
- "10"
- "8"
- "6"
env:
global:
- ELASTICSEARCH_VERSION=7.0.0-rc1
- QUIET=true
before_install:
- wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-${ELASTICSEARCH_VERSION}-linux-x86_64.tar.gz
- tar -xzf elasticsearch-${ELASTICSEARCH_VERSION}-linux-x86_64.tar.gz
- ./elasticsearch-${ELASTICSEARCH_VERSION}/bin/elasticsearch -Enode.attr.testattr=test -Epath.repo=/tmp -Erepositories.url.allowed_urls='http://snapshot.*' &> /dev/null &
install:
- npm install
script:
- npm run ci
notifications:
email:
on_success: never
on_failure: always

View File

@ -187,7 +187,7 @@
same "printed page" as the copyright notice for easier same "printed page" as the copyright notice for easier
identification within third-party archives. identification within third-party archives.
Copyright 2020 Elastic and contributors Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License"); Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License. you may not use this file except in compliance with the License.

235
README.md
View File

@ -1,24 +1,24 @@
<img align="right" width="auto" height="auto" src="https://www.elastic.co/static-res/images/elastic-logo-200.png"> <img align="right" width="auto" height="auto" src="https://www.elastic.co/static-res/images/elastic-logo-200.png">
# Elasticsearch Node.js client # @elastic/elasticsearch
[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](http://standardjs.com/) [![Build Status](https://clients-ci.elastic.co/buildStatus/icon?job=elastic%2Belasticsearch-js%2Bmaster)](https://clients-ci.elastic.co/view/Javascript/job/elastic+elasticsearch-js+master/) [![codecov](https://codecov.io/gh/elastic/elasticsearch-js/branch/master/graph/badge.svg)](https://codecov.io/gh/elastic/elasticsearch-js) [![NPM downloads](https://img.shields.io/npm/dm/@elastic/elasticsearch.svg?style=flat)](https://www.npmjs.com/package/@elastic/elasticsearch) [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](http://standardjs.com/) [![Build Status](https://clients-ci.elastic.co/job/elastic+elasticsearch-js+master/badge/icon)](https://clients-ci.elastic.co/job/elastic+elasticsearch-js+master/) [![codecov](https://codecov.io/gh/elastic/elasticsearch-js/branch/master/graph/badge.svg)](https://codecov.io/gh/elastic/elasticsearch-js) [![NPM downloads](https://img.shields.io/npm/dm/@elastic/elasticsearch.svg?style=flat)](https://www.npmjs.com/package/@elastic/elasticsearch)
---
**Note:** In the past months we have worked on the new Elasticsearch Node.js client, we will announce it soon!
If you want you can already try it by following the instructions below, while if you're going to use the legacy one or report an issue, please check out [elastic/elasticsearch-js-legacy](https://github.com/elastic/elasticsearch-js-legacy).
---
The official Node.js client for Elasticsearch. The official Node.js client for Elasticsearch.
---
**Note:** In the past months we have worked on the new Elasticsearch Node.js client and you can use it by following the instructions below. If you're going to use the legacy one or report an issue, however, please check out [elastic/elasticsearch-js-legacy](https://github.com/elastic/elasticsearch-js-legacy).
---
## Features ## Features
- One-to-one mapping with REST API. - One-to-one mapping with REST API.
- Generalized, pluggable architecture. - Generalized, pluggable architecture.
- Configurable, automatic discovery of cluster nodes. - Configurable, automatic discovery of cluster nodes.
- Persistent, Keep-Alive connections. - Persistent, Keep-Alive connections.
- Load balancing across all available nodes. - Load balancing (with pluggable selection strategy) across all available nodes.
- Child client support.
- TypeScript support out of the box. - TypeScript support out of the box.
## Install ## Install
@ -28,69 +28,40 @@ npm install @elastic/elasticsearch
### Compatibility ### Compatibility
The minimum supported version of Node.js is `v8`. ---
The library is compatible with all Elasticsearch versions since 5.x, and you should use the same major version of the Elasticsearch instance that you are using. **Warning:** currently on npm you will only find a beta release that works with Elasticsearch 7, we will add the support for Elasticsearch 5, 6, and 7 once we release the final version of this library.
| Elasticsearch Version | Client Version | ---
| --------------------- |----------------|
| `master` | `master` |
| `7.x` | `7.x` |
| `6.x` | `6.x` |
| `5.x` | `5.x` |
To install a specific major of the client, run the following command: The library is compatible with all Elasticsearch versions since 5.x, but you should use the same major version of the Elasticsearch instance that you are using.
``` ```
npm install @elastic/elasticsearch@<major> # Elasticsearch 7.x
@elastic/elasticsearch@7
# Elasticsearch 6.x
@elastic/elasticsearch@6
# Elasticsearch 5.x
@elastic/elasticsearch@5
``` ```
#### Browser ## Usage
You can find the full documentation in the [docs](https://github.com/elastic/elasticsearch-js/tree/master/docs) folder.
WARNING: There is no official support for the browser environment. It exposes your Elasticsearch instance to everyone, which could lead to security issues.
We recommend that you write a lightweight proxy that uses this client instead.
## Documentation
- [Introduction](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/introduction.html)
- [Usage](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/client-usage.html)
- [Client configuration](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/client-configuration.html)
- [API reference](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/api-reference.html)
- [Breaking changes coming from the old client](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/breaking-changes.html)
- [Authentication](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/auth-reference.html)
- [Observability](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/observability.html)
- [Creating a child client](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/child-client.html)
- [Extend the client](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/extend-client.html)
- [Typescript support](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/typescript.html)
- [Examples](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/examples.html)
## Quick start
First of all, require the client and initialize it:
```js ```js
const { Client } = require('@elastic/elasticsearch') const { Client } = require('@elastic/elasticsearch')
const client = new Client({ node: 'http://localhost:9200' }) const client = new Client({ node: 'http://localhost:9200' })
```
You can use both the callback-style API and the promise-style API, both behave the same way.
```js
// promise API // promise API
const result = await client.search({ const result = await client.search({
index: 'my-index', index: 'my-index',
body: { body: { foo: 'bar' }
query: {
match: { hello: 'world' }
}
}
}) })
// callback API // callback API
client.search({ client.search({
index: 'my-index', index: 'my-index',
body: { body: { foo: 'bar' }
query: {
match: { hello: 'world' }
}
}
}, (err, result) => { }, (err, result) => {
if (err) console.log(err) if (err) console.log(err)
}) })
@ -105,98 +76,76 @@ The returned value of **every** API call is formed as follows:
meta: object meta: object
} }
``` ```
### Client options
Let's see a complete example! The client is designed to be easily configured as you see fit for your needs, following you can see all the possible options that you can use to configure it.
```js ```ts
'use strict' {
// the Elasticsearch endpoint to use
const { Client } = require('@elastic/elasticsearch') node: string | string[];
const client = new Client({ node: 'http://localhost:9200' }) // alias of above
nodes: string | string[];
async function run () { // custom connection class
// Let's start by indexing some data Connection: typeof Connection;
await client.index({ // custom connection pool class
index: 'game-of-thrones', ConnectionPool: typeof ConnectionPool;
// type: '_doc', // uncomment this line if you are using Elasticsearch ≤ 6 // custom transport class
body: { Transport: typeof Transport;
character: 'Ned Stark', // custom serializer class
quote: 'Winter is coming.' Serializer: typeof Serializer;
} // max number of retries for each request
}) maxRetries: number;
// max request timeout for each request
await client.index({ requestTimeout: number;
index: 'game-of-thrones', // max ping timeout for each request
// type: '_doc', // uncomment this line if you are using Elasticsearch ≤ 6 pingTimeout: number;
body: { // perform a sniff operation every `n` milliseconds
character: 'Daenerys Targaryen', sniffInterval: number;
quote: 'I am the blood of the dragon.' // perform a sniff once the client is started
} sniffOnStart: boolean;
}) // custom sniff endpoint, defaults `_nodes/_all/http`
sniffEndpoint: string;
await client.index({ // perform a sniff on connection fault
index: 'game-of-thrones', sniffOnConnectionFault: boolean;
// type: '_doc', // uncomment this line if you are using Elasticsearch ≤ 6 // configurethe node resurrection strategy, default `ping`
body: { resurrectStrategy: 'ping' | 'optimistic' | 'none';
character: 'Tyrion Lannister', // adds `accept-encoding` header to every request
quote: 'A mind needs books like a sword needs a whetstone.' suggestCompression: boolean;
} // enable gzip request body compression
}) compression: 'gzip';
// ssl configuraton
// here we are forcing an index refresh, otherwise we will not ssl: http.SecureContextOptions;
// get any result in the consequent search // http agent options
await client.indices.refresh({ index: 'game-of-thrones' }) agent: http.AgentOptions;
// filters which node not to use for a request
// Let's search! nodeFilter: nodeFilterFn;
const { body } = await client.search({ // custom selection strategy, defaults `round-robin`
index: 'game-of-thrones', nodeSelector: nodeSelectorFn | string;
// type: '_doc', // uncomment this line if you are using Elasticsearch ≤ 6
body: {
query: {
match: { quote: 'winter' }
}
}
})
console.log(body.hits.hits)
}
run().catch(console.log)
```
## Install multiple versions
If you are using multiple versions of Elasticsearch, you need to use multiple versions of the client. In the past, install multiple versions of the same package was not possible, but with `npm v6.9`, you can do that via aliasing.
The command you must run to install different version of the client is:
```sh
npm install <alias>@npm:@elastic/elasticsearch@<version>
```
So for example if you need to install `7.x` and `6.x`, you will run
```sh
npm install es6@npm:@elastic/elasticsearch@6
npm install es7@npm:@elastic/elasticsearch@7
```
And your `package.json` will look like the following:
```json
"dependencies": {
"es6": "npm:@elastic/elasticsearch@^6.7.0",
"es7": "npm:@elastic/elasticsearch@^7.0.0"
} }
``` ```
You will require the packages from your code by using the alias you have defined.
### Request specific options
If needed you can pass request specific options in a second object:
```js ```js
const { Client: Client6 } = require('es6') // promise API
const { Client: Client7 } = require('es7') const result = await client.search({
index: 'my-index',
const client6 = new Client6({ node: 'http://localhost:9200' }) body: { foo: 'bar' }
const client7 = new Client7({ node: 'http://localhost:9201' }) }, {
ignore: [404],
client6.info(console.log) maxRetries: 3
client7.info(console.log) })
``` ```
The supported *request specific options* are:
Finally, if you want to install the client for the next version of Elasticsearch *(the one that lives in Elasticsearchs master branch)*, you can use the following command: ```ts
```sh {
npm install esmaster@github:elastic/elasticsearch-js ignore: [number], // default `null`
requestTimeout: number, // client default
maxRetries: number, // default `5`
asStream: boolean, // default `false`
compression: string, // default `false`
headers: object, // default `null`
querystring: object // default `null`
}
``` ```
## License ## License

View File

@ -24,9 +24,9 @@
function buildBulk (opts) { function buildBulk (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [bulk](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/docs-bulk.html) request * Perform a [bulk](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-bulk.html) request
* *
* @param {string} index - Default index for items which don't provide one * @param {string} index - Default index for items which don't provide one
* @param {string} type - Default document type for items which don't provide one * @param {string} type - Default document type for items which don't provide one
@ -35,10 +35,9 @@ function buildBulk (opts) {
* @param {string} routing - Specific routing value * @param {string} routing - Specific routing value
* @param {time} timeout - Explicit operation timeout * @param {time} timeout - Explicit operation timeout
* @param {string} type - Default document type for items which don't provide one * @param {string} type - Default document type for items which don't provide one
* @param {list} fields - Default comma-separated list of fields to return in the response for updates, can be overridden on each sub-request
* @param {list} _source - True or false to return the _source field or not, or default list of fields to return, can be overridden on each sub-request * @param {list} _source - True or false to return the _source field or not, or default list of fields to return, can be overridden on each sub-request
* @param {list} _source_exclude - Default list of fields to exclude from the returned _source field, can be overridden on each sub-request * @param {list} _source_excludes - Default list of fields to exclude from the returned _source field, can be overridden on each sub-request
* @param {list} _source_include - Default list of fields to extract and return from the _source field, can be overridden on each sub-request * @param {list} _source_includes - Default list of fields to extract and return from the _source field, can be overridden on each sub-request
* @param {string} pipeline - The pipeline id to preprocess incoming documents with * @param {string} pipeline - The pipeline id to preprocess incoming documents with
* @param {object} body - The operation definition and data (action-data pairs), separated by newlines * @param {object} body - The operation definition and data (action-data pairs), separated by newlines
*/ */
@ -49,10 +48,9 @@ function buildBulk (opts) {
'routing', 'routing',
'timeout', 'timeout',
'type', 'type',
'fields',
'_source', '_source',
'_source_exclude', '_source_excludes',
'_source_include', '_source_includes',
'pipeline', 'pipeline',
'pretty', 'pretty',
'human', 'human',
@ -63,8 +61,8 @@ function buildBulk (opts) {
const snakeCase = { const snakeCase = {
waitForActiveShards: 'wait_for_active_shards', waitForActiveShards: 'wait_for_active_shards',
_sourceExclude: '_source_exclude', _sourceExcludes: '_source_excludes',
_sourceInclude: '_source_include', _sourceIncludes: '_source_includes',
errorTrace: 'error_trace', errorTrace: 'error_trace',
filterPath: 'filter_path' filterPath: 'filter_path'
} }
@ -99,17 +97,17 @@ function buildBulk (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, index, type, ...querystring } = params var { method, body, index, type } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'index', 'type'])
if (method == null) { if (method == null) {
method = 'POST' method = 'POST'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -130,8 +128,34 @@ function buildBulk (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildCatAliases (opts) { function buildCatAliases (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cat.aliases](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cat-alias.html) request * Perform a [cat.aliases](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-alias.html) request
* *
* @param {list} name - A comma-separated list of alias names to return * @param {list} name - A comma-separated list of alias names to return
* @param {string} format - a short version of the Accept header, e.g. json, yaml * @param {string} format - a short version of the Accept header, e.g. json, yaml
@ -83,17 +83,17 @@ function buildCatAliases (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, name, ...querystring } = params var { method, body, name } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'name'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -112,8 +112,34 @@ function buildCatAliases (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildCatAllocation (opts) { function buildCatAllocation (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cat.allocation](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cat-allocation.html) request * Perform a [cat.allocation](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-allocation.html) request
* *
* @param {list} node_id - A comma-separated list of node IDs or names to limit the returned information * @param {list} node_id - A comma-separated list of node IDs or names to limit the returned information
* @param {string} format - a short version of the Accept header, e.g. json, yaml * @param {string} format - a short version of the Accept header, e.g. json, yaml
@ -85,17 +85,17 @@ function buildCatAllocation (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, nodeId, node_id, ...querystring } = params var { method, body, nodeId, node_id } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'nodeId', 'node_id'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -114,8 +114,34 @@ function buildCatAllocation (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildCatCount (opts) { function buildCatCount (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cat.count](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cat-count.html) request * Perform a [cat.count](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-count.html) request
* *
* @param {list} index - A comma-separated list of index names to limit the returned information * @param {list} index - A comma-separated list of index names to limit the returned information
* @param {string} format - a short version of the Accept header, e.g. json, yaml * @param {string} format - a short version of the Accept header, e.g. json, yaml
@ -83,17 +83,17 @@ function buildCatCount (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, index, ...querystring } = params var { method, body, index } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'index'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -112,8 +112,34 @@ function buildCatCount (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildCatFielddata (opts) { function buildCatFielddata (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cat.fielddata](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cat-fielddata.html) request * Perform a [cat.fielddata](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-fielddata.html) request
* *
* @param {list} fields - A comma-separated list of fields to return the fielddata size * @param {list} fields - A comma-separated list of fields to return the fielddata size
* @param {string} format - a short version of the Accept header, e.g. json, yaml * @param {string} format - a short version of the Accept header, e.g. json, yaml
@ -87,17 +87,17 @@ function buildCatFielddata (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, fields, ...querystring } = params var { method, body, fields } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'fields'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -116,8 +116,34 @@ function buildCatFielddata (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildCatHealth (opts) { function buildCatHealth (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cat.health](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cat-health.html) request * Perform a [cat.health](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-health.html) request
* *
* @param {string} format - a short version of the Accept header, e.g. json, yaml * @param {string} format - a short version of the Accept header, e.g. json, yaml
* @param {boolean} local - Return local information, do not retrieve the state from master node (default: false) * @param {boolean} local - Return local information, do not retrieve the state from master node (default: false)
@ -84,17 +84,17 @@ function buildCatHealth (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, ...querystring } = params var { method, body } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -109,8 +109,34 @@ function buildCatHealth (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildCatHelp (opts) { function buildCatHelp (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cat.help](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cat.html) request * Perform a [cat.help](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat.html) request
* *
* @param {boolean} help - Return help information * @param {boolean} help - Return help information
* @param {list} s - Comma-separated list of column names or column aliases to sort by * @param {list} s - Comma-separated list of column names or column aliases to sort by
@ -71,17 +71,17 @@ function buildCatHelp (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, ...querystring } = params var { method, body } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -96,8 +96,34 @@ function buildCatHelp (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildCatIndices (opts) { function buildCatIndices (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cat.indices](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cat-indices.html) request * Perform a [cat.indices](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-indices.html) request
* *
* @param {list} index - A comma-separated list of index names to limit the returned information * @param {list} index - A comma-separated list of index names to limit the returned information
* @param {string} format - a short version of the Accept header, e.g. json, yaml * @param {string} format - a short version of the Accept header, e.g. json, yaml
@ -89,17 +89,17 @@ function buildCatIndices (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, index, ...querystring } = params var { method, body, index } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'index'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -118,8 +118,34 @@ function buildCatIndices (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildCatMaster (opts) { function buildCatMaster (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cat.master](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cat-master.html) request * Perform a [cat.master](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-master.html) request
* *
* @param {string} format - a short version of the Accept header, e.g. json, yaml * @param {string} format - a short version of the Accept header, e.g. json, yaml
* @param {boolean} local - Return local information, do not retrieve the state from master node (default: false) * @param {boolean} local - Return local information, do not retrieve the state from master node (default: false)
@ -82,17 +82,17 @@ function buildCatMaster (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, ...querystring } = params var { method, body } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -107,8 +107,34 @@ function buildCatMaster (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildCatNodeattrs (opts) { function buildCatNodeattrs (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cat.nodeattrs](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cat-nodeattrs.html) request * Perform a [cat.nodeattrs](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-nodeattrs.html) request
* *
* @param {string} format - a short version of the Accept header, e.g. json, yaml * @param {string} format - a short version of the Accept header, e.g. json, yaml
* @param {boolean} local - Return local information, do not retrieve the state from master node (default: false) * @param {boolean} local - Return local information, do not retrieve the state from master node (default: false)
@ -82,17 +82,17 @@ function buildCatNodeattrs (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, ...querystring } = params var { method, body } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -107,8 +107,34 @@ function buildCatNodeattrs (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildCatNodes (opts) { function buildCatNodes (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cat.nodes](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cat-nodes.html) request * Perform a [cat.nodes](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-nodes.html) request
* *
* @param {string} format - a short version of the Accept header, e.g. json, yaml * @param {string} format - a short version of the Accept header, e.g. json, yaml
* @param {boolean} full_id - Return the full node ID instead of the shortened version (default: false) * @param {boolean} full_id - Return the full node ID instead of the shortened version (default: false)
@ -85,17 +85,17 @@ function buildCatNodes (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, ...querystring } = params var { method, body } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -110,8 +110,34 @@ function buildCatNodes (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildCatPendingTasks (opts) { function buildCatPendingTasks (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cat.pending_tasks](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cat-pending-tasks.html) request * Perform a [cat.pending_tasks](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-pending-tasks.html) request
* *
* @param {string} format - a short version of the Accept header, e.g. json, yaml * @param {string} format - a short version of the Accept header, e.g. json, yaml
* @param {boolean} local - Return local information, do not retrieve the state from master node (default: false) * @param {boolean} local - Return local information, do not retrieve the state from master node (default: false)
@ -82,17 +82,17 @@ function buildCatPendingTasks (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, ...querystring } = params var { method, body } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -107,8 +107,34 @@ function buildCatPendingTasks (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildCatPlugins (opts) { function buildCatPlugins (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cat.plugins](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cat-plugins.html) request * Perform a [cat.plugins](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-plugins.html) request
* *
* @param {string} format - a short version of the Accept header, e.g. json, yaml * @param {string} format - a short version of the Accept header, e.g. json, yaml
* @param {boolean} local - Return local information, do not retrieve the state from master node (default: false) * @param {boolean} local - Return local information, do not retrieve the state from master node (default: false)
@ -82,17 +82,17 @@ function buildCatPlugins (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, ...querystring } = params var { method, body } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -107,8 +107,34 @@ function buildCatPlugins (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildCatRecovery (opts) { function buildCatRecovery (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cat.recovery](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cat-recovery.html) request * Perform a [cat.recovery](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-recovery.html) request
* *
* @param {list} index - A comma-separated list of index names to limit the returned information * @param {list} index - A comma-separated list of index names to limit the returned information
* @param {string} format - a short version of the Accept header, e.g. json, yaml * @param {string} format - a short version of the Accept header, e.g. json, yaml
@ -83,17 +83,17 @@ function buildCatRecovery (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, index, ...querystring } = params var { method, body, index } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'index'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -112,8 +112,34 @@ function buildCatRecovery (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildCatRepositories (opts) { function buildCatRepositories (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cat.repositories](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cat-repositories.html) request * Perform a [cat.repositories](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-repositories.html) request
* *
* @param {string} format - a short version of the Accept header, e.g. json, yaml * @param {string} format - a short version of the Accept header, e.g. json, yaml
* @param {boolean} local - Return local information, do not retrieve the state from master node * @param {boolean} local - Return local information, do not retrieve the state from master node
@ -82,17 +82,17 @@ function buildCatRepositories (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, ...querystring } = params var { method, body } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -107,8 +107,34 @@ function buildCatRepositories (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildCatSegments (opts) { function buildCatSegments (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cat.segments](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cat-segments.html) request * Perform a [cat.segments](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-segments.html) request
* *
* @param {list} index - A comma-separated list of index names to limit the returned information * @param {list} index - A comma-separated list of index names to limit the returned information
* @param {string} format - a short version of the Accept header, e.g. json, yaml * @param {string} format - a short version of the Accept header, e.g. json, yaml
@ -80,17 +80,17 @@ function buildCatSegments (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, index, ...querystring } = params var { method, body, index } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'index'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -109,8 +109,34 @@ function buildCatSegments (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildCatShards (opts) { function buildCatShards (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cat.shards](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cat-shards.html) request * Perform a [cat.shards](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-shards.html) request
* *
* @param {list} index - A comma-separated list of index names to limit the returned information * @param {list} index - A comma-separated list of index names to limit the returned information
* @param {string} format - a short version of the Accept header, e.g. json, yaml * @param {string} format - a short version of the Accept header, e.g. json, yaml
@ -85,17 +85,17 @@ function buildCatShards (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, index, ...querystring } = params var { method, body, index } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'index'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -114,8 +114,34 @@ function buildCatShards (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildCatSnapshots (opts) { function buildCatSnapshots (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cat.snapshots](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cat-snapshots.html) request * Perform a [cat.snapshots](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-snapshots.html) request
* *
* @param {list} repository - Name of repository from which to fetch the snapshot information * @param {list} repository - Name of repository from which to fetch the snapshot information
* @param {string} format - a short version of the Accept header, e.g. json, yaml * @param {string} format - a short version of the Accept header, e.g. json, yaml
@ -73,10 +73,6 @@ function buildCatSnapshots (opts) {
} }
// check required parameters // check required parameters
if (params['repository'] == null) {
const err = new ConfigurationError('Missing required parameter: repository')
return handleError(err, callback)
}
if (params.body != null) { if (params.body != null) {
const err = new ConfigurationError('This API does not require a body') const err = new ConfigurationError('This API does not require a body')
return handleError(err, callback) return handleError(err, callback)
@ -88,17 +84,17 @@ function buildCatSnapshots (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, repository, ...querystring } = params var { method, body, repository } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'repository'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -117,8 +113,34 @@ function buildCatSnapshots (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,15 +24,14 @@
function buildCatTasks (opts) { function buildCatTasks (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cat.tasks](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/tasks.html) request * Perform a [cat.tasks](http://www.elastic.co/guide/en/elasticsearch/reference/master/tasks.html) request
* *
* @param {string} format - a short version of the Accept header, e.g. json, yaml * @param {string} format - a short version of the Accept header, e.g. json, yaml
* @param {list} node_id - A comma-separated list of node IDs or names to limit the returned information; use `_local` to return information from the node you're connecting to, leave empty to get information from all nodes * @param {list} node_id - A comma-separated list of node IDs or names to limit the returned information; use `_local` to return information from the node you're connecting to, leave empty to get information from all nodes
* @param {list} actions - A comma-separated list of actions that should be returned. Leave empty to return all. * @param {list} actions - A comma-separated list of actions that should be returned. Leave empty to return all.
* @param {boolean} detailed - Return detailed task information (default: false) * @param {boolean} detailed - Return detailed task information (default: false)
* @param {string} parent_node - Return tasks with specified parent node.
* @param {number} parent_task - Return tasks with specified parent task id. Set to -1 to return all. * @param {number} parent_task - Return tasks with specified parent task id. Set to -1 to return all.
* @param {list} h - Comma-separated list of column names to display * @param {list} h - Comma-separated list of column names to display
* @param {boolean} help - Return help information * @param {boolean} help - Return help information
@ -45,7 +44,6 @@ function buildCatTasks (opts) {
'node_id', 'node_id',
'actions', 'actions',
'detailed', 'detailed',
'parent_node',
'parent_task', 'parent_task',
'h', 'h',
'help', 'help',
@ -60,7 +58,6 @@ function buildCatTasks (opts) {
const snakeCase = { const snakeCase = {
nodeId: 'node_id', nodeId: 'node_id',
parentNode: 'parent_node',
parentTask: 'parent_task', parentTask: 'parent_task',
errorTrace: 'error_trace', errorTrace: 'error_trace',
filterPath: 'filter_path' filterPath: 'filter_path'
@ -90,17 +87,17 @@ function buildCatTasks (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, ...querystring } = params var { method, body } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -115,8 +112,34 @@ function buildCatTasks (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildCatTemplates (opts) { function buildCatTemplates (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cat.templates](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cat-templates.html) request * Perform a [cat.templates](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-templates.html) request
* *
* @param {string} name - A pattern that returned template names must match * @param {string} name - A pattern that returned template names must match
* @param {string} format - a short version of the Accept header, e.g. json, yaml * @param {string} format - a short version of the Accept header, e.g. json, yaml
@ -83,17 +83,17 @@ function buildCatTemplates (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, name, ...querystring } = params var { method, body, name } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'name'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -112,8 +112,34 @@ function buildCatTemplates (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildCatThreadPool (opts) { function buildCatThreadPool (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cat.thread_pool](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cat-thread-pool.html) request * Perform a [cat.thread_pool](http://www.elastic.co/guide/en/elasticsearch/reference/master/cat-thread-pool.html) request
* *
* @param {list} thread_pool_patterns - A comma-separated list of regular-expressions to filter the thread pools in the output * @param {list} thread_pool_patterns - A comma-separated list of regular-expressions to filter the thread pools in the output
* @param {string} format - a short version of the Accept header, e.g. json, yaml * @param {string} format - a short version of the Accept header, e.g. json, yaml
@ -85,17 +85,17 @@ function buildCatThreadPool (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, threadPoolPatterns, thread_pool_patterns, ...querystring } = params var { method, body, threadPoolPatterns, thread_pool_patterns } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'threadPoolPatterns', 'thread_pool_patterns'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -114,8 +114,34 @@ function buildCatThreadPool (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -0,0 +1,122 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildCcrDeleteAutoFollowPattern (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts
/**
* Perform a [ccr.delete_auto_follow_pattern](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-delete-auto-follow-pattern.html) request
*
* @param {string} name - The name of the auto follow pattern.
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function ccrDeleteAutoFollowPattern (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params['name'] == null) {
const err = new ConfigurationError('Missing required parameter: name')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = null
var { method, body, name } = params
var querystring = semicopy(params, ['method', 'body', 'name'])
if (method == null) {
method = 'DELETE'
}
var ignore = options.ignore || null
if (typeof ignore === 'number') {
ignore = [ignore]
}
var path = ''
path = '/' + '_ccr' + '/' + 'auto_follow' + '/' + encodeURIComponent(name)
// build request object
const request = {
method,
path,
body: body || '',
querystring
}
const requestOptions = {
ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
}
}
module.exports = buildCcrDeleteAutoFollowPattern

128
api/api/ccr.follow.js Normal file
View File

@ -0,0 +1,128 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildCcrFollow (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts
/**
* Perform a [ccr.follow](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-put-follow.html) request
*
* @param {string} index - The name of the follower index
* @param {string} wait_for_active_shards - Sets the number of shard copies that must be active before returning. Defaults to 0. Set to `all` for all shard copies, otherwise set to any non-negative value less than or equal to the total number of copies for the shard (number of replicas + 1)
* @param {object} body - The name of the leader index and other optional ccr related parameters
*/
const acceptedQuerystring = [
'wait_for_active_shards'
]
const snakeCase = {
waitForActiveShards: 'wait_for_active_shards'
}
return function ccrFollow (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params['index'] == null) {
const err = new ConfigurationError('Missing required parameter: index')
return handleError(err, callback)
}
if (params['body'] == null) {
const err = new ConfigurationError('Missing required parameter: body')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = null
var { method, body, index } = params
var querystring = semicopy(params, ['method', 'body', 'index'])
if (method == null) {
method = 'PUT'
}
var ignore = options.ignore || null
if (typeof ignore === 'number') {
ignore = [ignore]
}
var path = ''
path = '/' + encodeURIComponent(index) + '/' + '_ccr' + '/' + 'follow'
// build request object
const request = {
method,
path,
body: body || '',
querystring
}
const requestOptions = {
ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
}
}
module.exports = buildCcrFollow

116
api/api/ccr.follow_info.js Normal file
View File

@ -0,0 +1,116 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildCcrFollowInfo (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts
/**
* Perform a [ccr.follow_info](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-follow-info.html) request
*
* @param {list} index - A comma-separated list of index patterns; use `_all` to perform the operation on all indices
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function ccrFollowInfo (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = null
var { method, body, index } = params
var querystring = semicopy(params, ['method', 'body', 'index'])
if (method == null) {
method = 'GET'
}
var ignore = options.ignore || null
if (typeof ignore === 'number') {
ignore = [ignore]
}
var path = ''
path = '/' + encodeURIComponent(index) + '/' + '_ccr' + '/' + 'info'
// build request object
const request = {
method,
path,
body: null,
querystring
}
const requestOptions = {
ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
}
}
module.exports = buildCcrFollowInfo

122
api/api/ccr.follow_stats.js Normal file
View File

@ -0,0 +1,122 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildCcrFollowStats (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts
/**
* Perform a [ccr.follow_stats](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-follow-stats.html) request
*
* @param {list} index - A comma-separated list of index patterns; use `_all` to perform the operation on all indices
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function ccrFollowStats (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params['index'] == null) {
const err = new ConfigurationError('Missing required parameter: index')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = null
var { method, body, index } = params
var querystring = semicopy(params, ['method', 'body', 'index'])
if (method == null) {
method = 'GET'
}
var ignore = options.ignore || null
if (typeof ignore === 'number') {
ignore = [ignore]
}
var path = ''
path = '/' + encodeURIComponent(index) + '/' + '_ccr' + '/' + 'stats'
// build request object
const request = {
method,
path,
body: null,
querystring
}
const requestOptions = {
ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
}
}
module.exports = buildCcrFollowStats

View File

@ -0,0 +1,127 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildCcrForgetFollower (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts
/**
* Perform a [ccr.forget_follower](http://www.elastic.co/guide/en/elasticsearch/reference/current) request
*
* @param {string} index - the name of the leader index for which specified follower retention leases should be removed
* @param {object} body - the name and UUID of the follower index, the name of the cluster containing the follower index, and the alias from the perspective of that cluster for the remote cluster containing the leader index
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function ccrForgetFollower (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params['index'] == null) {
const err = new ConfigurationError('Missing required parameter: index')
return handleError(err, callback)
}
if (params['body'] == null) {
const err = new ConfigurationError('Missing required parameter: body')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = null
var { method, body, index } = params
var querystring = semicopy(params, ['method', 'body', 'index'])
if (method == null) {
method = 'POST'
}
var ignore = options.ignore || null
if (typeof ignore === 'number') {
ignore = [ignore]
}
var path = ''
path = '/' + encodeURIComponent(index) + '/' + '_ccr' + '/' + 'forget_follower'
// build request object
const request = {
method,
path,
body: body || '',
querystring
}
const requestOptions = {
ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
}
}
module.exports = buildCcrForgetFollower

View File

@ -0,0 +1,120 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildCcrGetAutoFollowPattern (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts
/**
* Perform a [ccr.get_auto_follow_pattern](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-auto-follow-pattern.html) request
*
* @param {string} name - The name of the auto follow pattern.
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function ccrGetAutoFollowPattern (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = null
var { method, body, name } = params
var querystring = semicopy(params, ['method', 'body', 'name'])
if (method == null) {
method = 'GET'
}
var ignore = options.ignore || null
if (typeof ignore === 'number') {
ignore = [ignore]
}
var path = ''
if ((name) != null) {
path = '/' + '_ccr' + '/' + 'auto_follow' + '/' + encodeURIComponent(name)
} else {
path = '/' + '_ccr' + '/' + 'auto_follow'
}
// build request object
const request = {
method,
path,
body: null,
querystring
}
const requestOptions = {
ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
}
}
module.exports = buildCcrGetAutoFollowPattern

122
api/api/ccr.pause_follow.js Normal file
View File

@ -0,0 +1,122 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildCcrPauseFollow (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts
/**
* Perform a [ccr.pause_follow](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-pause-follow.html) request
*
* @param {string} index - The name of the follower index that should pause following its leader index.
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function ccrPauseFollow (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params['index'] == null) {
const err = new ConfigurationError('Missing required parameter: index')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = null
var { method, body, index } = params
var querystring = semicopy(params, ['method', 'body', 'index'])
if (method == null) {
method = 'POST'
}
var ignore = options.ignore || null
if (typeof ignore === 'number') {
ignore = [ignore]
}
var path = ''
path = '/' + encodeURIComponent(index) + '/' + '_ccr' + '/' + 'pause_follow'
// build request object
const request = {
method,
path,
body: body || '',
querystring
}
const requestOptions = {
ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
}
}
module.exports = buildCcrPauseFollow

View File

@ -0,0 +1,127 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildCcrPutAutoFollowPattern (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts
/**
* Perform a [ccr.put_auto_follow_pattern](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-put-auto-follow-pattern.html) request
*
* @param {string} name - The name of the auto follow pattern.
* @param {object} body - The specification of the auto follow pattern
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function ccrPutAutoFollowPattern (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params['name'] == null) {
const err = new ConfigurationError('Missing required parameter: name')
return handleError(err, callback)
}
if (params['body'] == null) {
const err = new ConfigurationError('Missing required parameter: body')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = null
var { method, body, name } = params
var querystring = semicopy(params, ['method', 'body', 'name'])
if (method == null) {
method = 'PUT'
}
var ignore = options.ignore || null
if (typeof ignore === 'number') {
ignore = [ignore]
}
var path = ''
path = '/' + '_ccr' + '/' + 'auto_follow' + '/' + encodeURIComponent(name)
// build request object
const request = {
method,
path,
body: body || '',
querystring
}
const requestOptions = {
ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
}
}
module.exports = buildCcrPutAutoFollowPattern

View File

@ -0,0 +1,123 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildCcrResumeFollow (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts
/**
* Perform a [ccr.resume_follow](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-resume-follow.html) request
*
* @param {string} index - The name of the follow index to resume following.
* @param {object} body - The name of the leader index and other optional ccr related parameters
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function ccrResumeFollow (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params['index'] == null) {
const err = new ConfigurationError('Missing required parameter: index')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = null
var { method, body, index } = params
var querystring = semicopy(params, ['method', 'body', 'index'])
if (method == null) {
method = 'POST'
}
var ignore = options.ignore || null
if (typeof ignore === 'number') {
ignore = [ignore]
}
var path = ''
path = '/' + encodeURIComponent(index) + '/' + '_ccr' + '/' + 'resume_follow'
// build request object
const request = {
method,
path,
body: body || '',
querystring
}
const requestOptions = {
ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
}
}
module.exports = buildCcrResumeFollow

115
api/api/ccr.stats.js Normal file
View File

@ -0,0 +1,115 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildCcrStats (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts
/**
* Perform a [ccr.stats](https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-stats.html) request
*
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function ccrStats (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = null
var { method, body } = params
var querystring = semicopy(params, ['method', 'body'])
if (method == null) {
method = 'GET'
}
var ignore = options.ignore || null
if (typeof ignore === 'number') {
ignore = [ignore]
}
var path = ''
path = '/' + '_ccr' + '/' + 'stats'
// build request object
const request = {
method,
path,
body: null,
querystring
}
const requestOptions = {
ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
}
}
module.exports = buildCcrStats

122
api/api/ccr.unfollow.js Normal file
View File

@ -0,0 +1,122 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildCcrUnfollow (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts
/**
* Perform a [ccr.unfollow](http://www.elastic.co/guide/en/elasticsearch/reference/current) request
*
* @param {string} index - The name of the follower index that should be turned into a regular index.
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function ccrUnfollow (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params['index'] == null) {
const err = new ConfigurationError('Missing required parameter: index')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = null
var { method, body, index } = params
var querystring = semicopy(params, ['method', 'body', 'index'])
if (method == null) {
method = 'POST'
}
var ignore = options.ignore || null
if (typeof ignore === 'number') {
ignore = [ignore]
}
var path = ''
path = '/' + encodeURIComponent(index) + '/' + '_ccr' + '/' + 'unfollow'
// build request object
const request = {
method,
path,
body: body || '',
querystring
}
const requestOptions = {
ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
}
}
module.exports = buildCcrUnfollow

View File

@ -24,9 +24,9 @@
function buildClearScroll (opts) { function buildClearScroll (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [clear_scroll](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/search-request-scroll.html) request * Perform a [clear_scroll](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-request-scroll.html) request
* *
* @param {list} scroll_id - A comma-separated list of scroll IDs to clear * @param {list} scroll_id - A comma-separated list of scroll IDs to clear
* @param {object} body - A comma-separated list of scroll IDs to clear if none was specified via the scroll_id parameter * @param {object} body - A comma-separated list of scroll IDs to clear if none was specified via the scroll_id parameter
@ -63,17 +63,17 @@ function buildClearScroll (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, scrollId, scroll_id, ...querystring } = params var { method, body, scrollId, scroll_id } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'scrollId', 'scroll_id'])
if (method == null) { if (method == null) {
method = 'DELETE' method = 'DELETE'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -92,8 +92,34 @@ function buildClearScroll (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildClusterAllocationExplain (opts) { function buildClusterAllocationExplain (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cluster.allocation_explain](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cluster-allocation-explain.html) request * Perform a [cluster.allocation_explain](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-allocation-explain.html) request
* *
* @param {boolean} include_yes_decisions - Return 'YES' decisions in explanation (default: false) * @param {boolean} include_yes_decisions - Return 'YES' decisions in explanation (default: false)
* @param {boolean} include_disk_info - Return information about disk usage and shard sizes (default: false) * @param {boolean} include_disk_info - Return information about disk usage and shard sizes (default: false)
@ -68,17 +68,17 @@ function buildClusterAllocationExplain (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, ...querystring } = params var { method, body } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body'])
if (method == null) { if (method == null) {
method = body == null ? 'GET' : 'POST' method = body == null ? 'GET' : 'POST'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -93,8 +93,34 @@ function buildClusterAllocationExplain (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildClusterGetSettings (opts) { function buildClusterGetSettings (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cluster.get_settings](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cluster-update-settings.html) request * Perform a [cluster.get_settings](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-update-settings.html) request
* *
* @param {boolean} flat_settings - Return settings in flat format (default: false) * @param {boolean} flat_settings - Return settings in flat format (default: false)
* @param {time} master_timeout - Explicit operation timeout for connection to master node * @param {time} master_timeout - Explicit operation timeout for connection to master node
@ -78,17 +78,17 @@ function buildClusterGetSettings (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, ...querystring } = params var { method, body } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -103,8 +103,34 @@ function buildClusterGetSettings (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildClusterHealth (opts) { function buildClusterHealth (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cluster.health](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cluster-health.html) request * Perform a [cluster.health](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-health.html) request
* *
* @param {list} index - Limit the information returned to a specific index * @param {list} index - Limit the information returned to a specific index
* @param {enum} level - Specify the level of detail for returned information * @param {enum} level - Specify the level of detail for returned information
@ -37,6 +37,7 @@ function buildClusterHealth (opts) {
* @param {string} wait_for_nodes - Wait until the specified number of nodes is available * @param {string} wait_for_nodes - Wait until the specified number of nodes is available
* @param {enum} wait_for_events - Wait until all currently queued events with the given priority are processed * @param {enum} wait_for_events - Wait until all currently queued events with the given priority are processed
* @param {boolean} wait_for_no_relocating_shards - Whether to wait until there are no relocating shards in the cluster * @param {boolean} wait_for_no_relocating_shards - Whether to wait until there are no relocating shards in the cluster
* @param {boolean} wait_for_no_initializing_shards - Whether to wait until there are no initializing shards in the cluster
* @param {enum} wait_for_status - Wait until cluster is in a specific state * @param {enum} wait_for_status - Wait until cluster is in a specific state
*/ */
@ -49,6 +50,7 @@ function buildClusterHealth (opts) {
'wait_for_nodes', 'wait_for_nodes',
'wait_for_events', 'wait_for_events',
'wait_for_no_relocating_shards', 'wait_for_no_relocating_shards',
'wait_for_no_initializing_shards',
'wait_for_status', 'wait_for_status',
'pretty', 'pretty',
'human', 'human',
@ -63,6 +65,7 @@ function buildClusterHealth (opts) {
waitForNodes: 'wait_for_nodes', waitForNodes: 'wait_for_nodes',
waitForEvents: 'wait_for_events', waitForEvents: 'wait_for_events',
waitForNoRelocatingShards: 'wait_for_no_relocating_shards', waitForNoRelocatingShards: 'wait_for_no_relocating_shards',
waitForNoInitializingShards: 'wait_for_no_initializing_shards',
waitForStatus: 'wait_for_status', waitForStatus: 'wait_for_status',
errorTrace: 'error_trace', errorTrace: 'error_trace',
filterPath: 'filter_path' filterPath: 'filter_path'
@ -92,17 +95,17 @@ function buildClusterHealth (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, index, ...querystring } = params var { method, body, index } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'index'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -121,8 +124,34 @@ function buildClusterHealth (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildClusterPendingTasks (opts) { function buildClusterPendingTasks (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cluster.pending_tasks](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cluster-pending.html) request * Perform a [cluster.pending_tasks](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-pending.html) request
* *
* @param {boolean} local - Return local information, do not retrieve the state from master node (default: false) * @param {boolean} local - Return local information, do not retrieve the state from master node (default: false)
* @param {time} master_timeout - Specify timeout for connection to master * @param {time} master_timeout - Specify timeout for connection to master
@ -72,17 +72,17 @@ function buildClusterPendingTasks (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, ...querystring } = params var { method, body } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -97,8 +97,34 @@ function buildClusterPendingTasks (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildClusterPutSettings (opts) { function buildClusterPutSettings (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cluster.put_settings](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cluster-update-settings.html) request * Perform a [cluster.put_settings](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-update-settings.html) request
* *
* @param {boolean} flat_settings - Return settings in flat format (default: false) * @param {boolean} flat_settings - Return settings in flat format (default: false)
* @param {time} master_timeout - Explicit operation timeout for connection to master node * @param {time} master_timeout - Explicit operation timeout for connection to master node
@ -64,23 +64,29 @@ function buildClusterPutSettings (opts) {
options = {} options = {}
} }
// check required parameters
if (params['body'] == null) {
const err = new ConfigurationError('Missing required parameter: body')
return handleError(err, callback)
}
// validate headers object // validate headers object
if (options.headers != null && typeof options.headers !== 'object') { if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`) const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, ...querystring } = params var { method, body } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body'])
if (method == null) { if (method == null) {
method = 'PUT' method = 'PUT'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -95,8 +101,34 @@ function buildClusterPutSettings (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildClusterRemoteInfo (opts) { function buildClusterRemoteInfo (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cluster.remote_info](http://www.elastic.co/guide/en/elasticsearch/reference/5.x/cluster-remote-info.html) request * Perform a [cluster.remote_info](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-remote-info.html) request
* *
*/ */
@ -67,17 +67,17 @@ function buildClusterRemoteInfo (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, ...querystring } = params var { method, body } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -92,8 +92,34 @@ function buildClusterRemoteInfo (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildClusterReroute (opts) { function buildClusterReroute (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cluster.reroute](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cluster-reroute.html) request * Perform a [cluster.reroute](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-reroute.html) request
* *
* @param {boolean} dry_run - Simulate the operation only and return the resulting state * @param {boolean} dry_run - Simulate the operation only and return the resulting state
* @param {boolean} explain - Return an explanation of why the commands can or cannot be executed * @param {boolean} explain - Return an explanation of why the commands can or cannot be executed
@ -77,17 +77,17 @@ function buildClusterReroute (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, ...querystring } = params var { method, body } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body'])
if (method == null) { if (method == null) {
method = 'POST' method = 'POST'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -102,8 +102,34 @@ function buildClusterReroute (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,15 +24,17 @@
function buildClusterState (opts) { function buildClusterState (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cluster.state](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cluster-state.html) request * Perform a [cluster.state](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-state.html) request
* *
* @param {list} index - A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices * @param {list} index - A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices
* @param {list} metric - Limit the information returned to the specified metrics * @param {list} metric - Limit the information returned to the specified metrics
* @param {boolean} local - Return local information, do not retrieve the state from master node (default: false) * @param {boolean} local - Return local information, do not retrieve the state from master node (default: false)
* @param {time} master_timeout - Specify timeout for connection to master * @param {time} master_timeout - Specify timeout for connection to master
* @param {boolean} flat_settings - Return settings in flat format (default: false) * @param {boolean} flat_settings - Return settings in flat format (default: false)
* @param {number} wait_for_metadata_version - Wait for the metadata version to be equal or greater than the specified metadata version
* @param {time} wait_for_timeout - The maximum time to wait for wait_for_metadata_version before timing out
* @param {boolean} ignore_unavailable - Whether specified concrete indices should be ignored when unavailable (missing or closed) * @param {boolean} ignore_unavailable - Whether specified concrete indices should be ignored when unavailable (missing or closed)
* @param {boolean} allow_no_indices - Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified) * @param {boolean} allow_no_indices - Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
* @param {enum} expand_wildcards - Whether to expand wildcard expression to concrete indices that are open, closed or both. * @param {enum} expand_wildcards - Whether to expand wildcard expression to concrete indices that are open, closed or both.
@ -42,6 +44,8 @@ function buildClusterState (opts) {
'local', 'local',
'master_timeout', 'master_timeout',
'flat_settings', 'flat_settings',
'wait_for_metadata_version',
'wait_for_timeout',
'ignore_unavailable', 'ignore_unavailable',
'allow_no_indices', 'allow_no_indices',
'expand_wildcards', 'expand_wildcards',
@ -55,6 +59,8 @@ function buildClusterState (opts) {
const snakeCase = { const snakeCase = {
masterTimeout: 'master_timeout', masterTimeout: 'master_timeout',
flatSettings: 'flat_settings', flatSettings: 'flat_settings',
waitForMetadataVersion: 'wait_for_metadata_version',
waitForTimeout: 'wait_for_timeout',
ignoreUnavailable: 'ignore_unavailable', ignoreUnavailable: 'ignore_unavailable',
allowNoIndices: 'allow_no_indices', allowNoIndices: 'allow_no_indices',
expandWildcards: 'expand_wildcards', expandWildcards: 'expand_wildcards',
@ -92,17 +98,17 @@ function buildClusterState (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, index, metric, ...querystring } = params var { method, body, index, metric } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'index', 'metric'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -123,8 +129,34 @@ function buildClusterState (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildClusterStats (opts) { function buildClusterStats (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [cluster.stats](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/cluster-stats.html) request * Perform a [cluster.stats](http://www.elastic.co/guide/en/elasticsearch/reference/master/cluster-stats.html) request
* *
* @param {list} node_id - A comma-separated list of node IDs or names to limit the returned information; use `_local` to return information from the node you're connecting to, leave empty to get information from all nodes * @param {list} node_id - A comma-separated list of node IDs or names to limit the returned information; use `_local` to return information from the node you're connecting to, leave empty to get information from all nodes
* @param {boolean} flat_settings - Return settings in flat format (default: false) * @param {boolean} flat_settings - Return settings in flat format (default: false)
@ -73,17 +73,17 @@ function buildClusterStats (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, nodeId, node_id, ...querystring } = params var { method, body, nodeId, node_id } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'nodeId', 'node_id'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -102,8 +102,34 @@ function buildClusterStats (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,13 +24,14 @@
function buildCount (opts) { function buildCount (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [count](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/search-count.html) request * Perform a [count](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-count.html) request
* *
* @param {list} index - A comma-separated list of indices to restrict the results * @param {list} index - A comma-separated list of indices to restrict the results
* @param {list} type - A comma-separated list of types to restrict the results * @param {list} type - A comma-separated list of types to restrict the results
* @param {boolean} ignore_unavailable - Whether specified concrete indices should be ignored when unavailable (missing or closed) * @param {boolean} ignore_unavailable - Whether specified concrete indices should be ignored when unavailable (missing or closed)
* @param {boolean} ignore_throttled - Whether specified concrete, expanded or aliased indices should be ignored when throttled
* @param {boolean} allow_no_indices - Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified) * @param {boolean} allow_no_indices - Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
* @param {enum} expand_wildcards - Whether to expand wildcard expression to concrete indices that are open, closed or both. * @param {enum} expand_wildcards - Whether to expand wildcard expression to concrete indices that are open, closed or both.
* @param {number} min_score - Include only documents with a specific `_score` value in the result * @param {number} min_score - Include only documents with a specific `_score` value in the result
@ -48,6 +49,7 @@ function buildCount (opts) {
const acceptedQuerystring = [ const acceptedQuerystring = [
'ignore_unavailable', 'ignore_unavailable',
'ignore_throttled',
'allow_no_indices', 'allow_no_indices',
'expand_wildcards', 'expand_wildcards',
'min_score', 'min_score',
@ -69,6 +71,7 @@ function buildCount (opts) {
const snakeCase = { const snakeCase = {
ignoreUnavailable: 'ignore_unavailable', ignoreUnavailable: 'ignore_unavailable',
ignoreThrottled: 'ignore_throttled',
allowNoIndices: 'allow_no_indices', allowNoIndices: 'allow_no_indices',
expandWildcards: 'expand_wildcards', expandWildcards: 'expand_wildcards',
minScore: 'min_score', minScore: 'min_score',
@ -103,17 +106,17 @@ function buildCount (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, index, type, ...querystring } = params var { method, body, index, type } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'index', 'type'])
if (method == null) { if (method == null) {
method = body == null ? 'GET' : 'POST' method = body == null ? 'GET' : 'POST'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -134,8 +137,34 @@ function buildCount (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,145 +0,0 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildCountPercolate (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/**
* Perform a [count_percolate](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/search-percolate.html) request
*
* @param {string} index - The index of the document being count percolated.
* @param {string} type - The type of the document being count percolated.
* @param {string} id - Substitute the document in the request body with a document that is known by the specified id. On top of the id, the index and type parameter will be used to retrieve the document from within the cluster.
* @param {list} routing - A comma-separated list of specific routing values
* @param {string} preference - Specify the node or shard the operation should be performed on (default: random)
* @param {boolean} ignore_unavailable - Whether specified concrete indices should be ignored when unavailable (missing or closed)
* @param {boolean} allow_no_indices - Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
* @param {enum} expand_wildcards - Whether to expand wildcard expression to concrete indices that are open, closed or both.
* @param {string} percolate_index - The index to count percolate the document into. Defaults to index.
* @param {string} percolate_type - The type to count percolate document into. Defaults to type.
* @param {number} version - Explicit version number for concurrency control
* @param {enum} version_type - Specific version type
* @param {object} body - The count percolator request definition using the percolate DSL
*/
const acceptedQuerystring = [
'routing',
'preference',
'ignore_unavailable',
'allow_no_indices',
'expand_wildcards',
'percolate_index',
'percolate_type',
'version',
'version_type',
'pretty',
'human',
'error_trace',
'source',
'filter_path'
]
const snakeCase = {
ignoreUnavailable: 'ignore_unavailable',
allowNoIndices: 'allow_no_indices',
expandWildcards: 'expand_wildcards',
percolateIndex: 'percolate_index',
percolateType: 'percolate_type',
versionType: 'version_type',
errorTrace: 'error_trace',
filterPath: 'filter_path'
}
return function countPercolate (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params['index'] == null) {
const err = new ConfigurationError('Missing required parameter: index')
return handleError(err, callback)
}
if (params['type'] == null) {
const err = new ConfigurationError('Missing required parameter: type')
return handleError(err, callback)
}
// check required url components
if (params['id'] != null && (params['type'] == null || params['index'] == null)) {
const err = new ConfigurationError('Missing required parameter of the url: type, index')
return handleError(err, callback)
} else if (params['type'] != null && (params['index'] == null)) {
const err = new ConfigurationError('Missing required parameter of the url: index')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = []
var { method, body, index, type, id, ...querystring } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) {
method = body == null ? 'GET' : 'POST'
}
var ignore = options.ignore
if (typeof ignore === 'number') {
options.ignore = [ignore]
}
var path = ''
if ((index) != null && (type) != null && (id) != null) {
path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) + '/' + encodeURIComponent(id) + '/' + '_percolate' + '/' + 'count'
} else {
path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) + '/' + '_percolate' + '/' + 'count'
}
// build request object
const request = {
method,
path,
body: body || '',
querystring
}
options.warnings = warnings.length === 0 ? null : warnings
return makeRequest(request, options, callback)
}
}
module.exports = buildCountPercolate

View File

@ -24,9 +24,9 @@
function buildCreate (opts) { function buildCreate (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [create](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/docs-index_.html) request * Perform a [create](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-index_.html) request
* *
* @param {string} id - Document ID * @param {string} id - Document ID
* @param {string} index - The name of the index * @param {string} index - The name of the index
@ -36,8 +36,6 @@ function buildCreate (opts) {
* @param {enum} refresh - If `true` then refresh the affected shards to make this operation visible to search, if `wait_for` then wait for a refresh to make this operation visible to search, if `false` (the default) then do nothing with refreshes. * @param {enum} refresh - If `true` then refresh the affected shards to make this operation visible to search, if `wait_for` then wait for a refresh to make this operation visible to search, if `false` (the default) then do nothing with refreshes.
* @param {string} routing - Specific routing value * @param {string} routing - Specific routing value
* @param {time} timeout - Explicit operation timeout * @param {time} timeout - Explicit operation timeout
* @param {time} timestamp - Explicit timestamp for the document
* @param {time} ttl - Expiration time for the document
* @param {number} version - Explicit version number for concurrency control * @param {number} version - Explicit version number for concurrency control
* @param {enum} version_type - Specific version type * @param {enum} version_type - Specific version type
* @param {string} pipeline - The pipeline id to preprocess incoming documents with * @param {string} pipeline - The pipeline id to preprocess incoming documents with
@ -50,8 +48,6 @@ function buildCreate (opts) {
'refresh', 'refresh',
'routing', 'routing',
'timeout', 'timeout',
'timestamp',
'ttl',
'version', 'version',
'version_type', 'version_type',
'pipeline', 'pipeline',
@ -90,10 +86,6 @@ function buildCreate (opts) {
const err = new ConfigurationError('Missing required parameter: index') const err = new ConfigurationError('Missing required parameter: index')
return handleError(err, callback) return handleError(err, callback)
} }
if (params['type'] == null) {
const err = new ConfigurationError('Missing required parameter: type')
return handleError(err, callback)
}
if (params['body'] == null) { if (params['body'] == null) {
const err = new ConfigurationError('Missing required parameter: body') const err = new ConfigurationError('Missing required parameter: body')
return handleError(err, callback) return handleError(err, callback)
@ -105,22 +97,26 @@ function buildCreate (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, id, index, type, ...querystring } = params var { method, body, id, index, type } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'id', 'index', 'type'])
if (method == null) { if (method == null) {
method = 'PUT' method = 'PUT'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) + '/' + encodeURIComponent(id) + '/' + '_create' if ((index) != null && (type) != null && (id) != null) {
path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) + '/' + encodeURIComponent(id) + '/' + '_create'
} else {
path = '/' + encodeURIComponent(index) + '/' + '_create' + '/' + encodeURIComponent(id)
}
// build request object // build request object
const request = { const request = {
@ -130,8 +126,34 @@ function buildCreate (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildDelete (opts) { function buildDelete (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [delete](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/docs-delete.html) request * Perform a [delete](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-delete.html) request
* *
* @param {string} id - The document ID * @param {string} id - The document ID
* @param {string} index - The name of the index * @param {string} index - The name of the index
@ -36,6 +36,8 @@ function buildDelete (opts) {
* @param {enum} refresh - If `true` then refresh the effected shards to make this operation visible to search, if `wait_for` then wait for a refresh to make this operation visible to search, if `false` (the default) then do nothing with refreshes. * @param {enum} refresh - If `true` then refresh the effected shards to make this operation visible to search, if `wait_for` then wait for a refresh to make this operation visible to search, if `false` (the default) then do nothing with refreshes.
* @param {string} routing - Specific routing value * @param {string} routing - Specific routing value
* @param {time} timeout - Explicit operation timeout * @param {time} timeout - Explicit operation timeout
* @param {number} if_seq_no - only perform the delete operation if the last operation that has changed the document has the specified sequence number
* @param {number} if_primary_term - only perform the delete operation if the last operation that has changed the document has the specified primary term
* @param {number} version - Explicit version number for concurrency control * @param {number} version - Explicit version number for concurrency control
* @param {enum} version_type - Specific version type * @param {enum} version_type - Specific version type
*/ */
@ -46,6 +48,8 @@ function buildDelete (opts) {
'refresh', 'refresh',
'routing', 'routing',
'timeout', 'timeout',
'if_seq_no',
'if_primary_term',
'version', 'version',
'version_type', 'version_type',
'pretty', 'pretty',
@ -57,6 +61,8 @@ function buildDelete (opts) {
const snakeCase = { const snakeCase = {
waitForActiveShards: 'wait_for_active_shards', waitForActiveShards: 'wait_for_active_shards',
ifSeqNo: 'if_seq_no',
ifPrimaryTerm: 'if_primary_term',
versionType: 'version_type', versionType: 'version_type',
errorTrace: 'error_trace', errorTrace: 'error_trace',
filterPath: 'filter_path' filterPath: 'filter_path'
@ -83,20 +89,13 @@ function buildDelete (opts) {
const err = new ConfigurationError('Missing required parameter: index') const err = new ConfigurationError('Missing required parameter: index')
return handleError(err, callback) return handleError(err, callback)
} }
if (params['type'] == null) {
const err = new ConfigurationError('Missing required parameter: type')
return handleError(err, callback)
}
if (params.body != null) { if (params.body != null) {
const err = new ConfigurationError('This API does not require a body') const err = new ConfigurationError('This API does not require a body')
return handleError(err, callback) return handleError(err, callback)
} }
// check required url components // check required url components
if (params['id'] != null && (params['type'] == null || params['index'] == null)) { if (params['id'] != null && (params['index'] == null)) {
const err = new ConfigurationError('Missing required parameter of the url: type, index')
return handleError(err, callback)
} else if (params['type'] != null && (params['index'] == null)) {
const err = new ConfigurationError('Missing required parameter of the url: index') const err = new ConfigurationError('Missing required parameter of the url: index')
return handleError(err, callback) return handleError(err, callback)
} }
@ -107,22 +106,26 @@ function buildDelete (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, id, index, type, ...querystring } = params var { method, body, id, index, type } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'id', 'index', 'type'])
if (method == null) { if (method == null) {
method = 'DELETE' method = 'DELETE'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) + '/' + encodeURIComponent(id) if ((index) != null && (type) != null && (id) != null) {
path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) + '/' + encodeURIComponent(id)
} else {
path = '/' + encodeURIComponent(index) + '/' + '_doc' + '/' + encodeURIComponent(id)
}
// build request object // build request object
const request = { const request = {
@ -132,8 +135,34 @@ function buildDelete (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildDeleteByQuery (opts) { function buildDeleteByQuery (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [delete_by_query](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/docs-delete-by-query.html) request * Perform a [delete_by_query](https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-delete-by-query.html) request
* *
* @param {list} index - A comma-separated list of index names to search; use `_all` or empty string to perform the operation on all indices * @param {list} index - A comma-separated list of index names to search; use `_all` or empty string to perform the operation on all indices
* @param {list} type - A comma-separated list of document types to search; leave empty to perform the operation on all types * @param {list} type - A comma-separated list of document types to search; leave empty to perform the operation on all types
@ -37,7 +37,7 @@ function buildDeleteByQuery (opts) {
* @param {number} from - Starting offset (default: 0) * @param {number} from - Starting offset (default: 0)
* @param {boolean} ignore_unavailable - Whether specified concrete indices should be ignored when unavailable (missing or closed) * @param {boolean} ignore_unavailable - Whether specified concrete indices should be ignored when unavailable (missing or closed)
* @param {boolean} allow_no_indices - Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified) * @param {boolean} allow_no_indices - Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
* @param {enum} conflicts - What to do when the delete-by-query hits version conflicts? * @param {enum} conflicts - What to do when the delete by query hits version conflicts?
* @param {enum} expand_wildcards - Whether to expand wildcard expression to concrete indices that are open, closed or both. * @param {enum} expand_wildcards - Whether to expand wildcard expression to concrete indices that are open, closed or both.
* @param {boolean} lenient - Specify whether format-based query failures (such as providing text to a numeric field) should be ignored * @param {boolean} lenient - Specify whether format-based query failures (such as providing text to a numeric field) should be ignored
* @param {string} preference - Specify the node or shard the operation should be performed on (default: random) * @param {string} preference - Specify the node or shard the operation should be performed on (default: random)
@ -49,8 +49,8 @@ function buildDeleteByQuery (opts) {
* @param {number} size - Number of hits to return (default: 10) * @param {number} size - Number of hits to return (default: 10)
* @param {list} sort - A comma-separated list of <field>:<direction> pairs * @param {list} sort - A comma-separated list of <field>:<direction> pairs
* @param {list} _source - True or false to return the _source field or not, or a list of fields to return * @param {list} _source - True or false to return the _source field or not, or a list of fields to return
* @param {list} _source_exclude - A list of fields to exclude from the returned _source field * @param {list} _source_excludes - A list of fields to exclude from the returned _source field
* @param {list} _source_include - A list of fields to extract and return from the _source field * @param {list} _source_includes - A list of fields to extract and return from the _source field
* @param {number} terminate_after - The maximum number of documents to collect for each shard, upon reaching which the query execution will terminate early. * @param {number} terminate_after - The maximum number of documents to collect for each shard, upon reaching which the query execution will terminate early.
* @param {list} stats - Specific 'tag' of the request for logging and statistical purposes * @param {list} stats - Specific 'tag' of the request for logging and statistical purposes
* @param {boolean} version - Specify whether to return document version as part of a hit * @param {boolean} version - Specify whether to return document version as part of a hit
@ -58,8 +58,8 @@ function buildDeleteByQuery (opts) {
* @param {boolean} refresh - Should the effected indexes be refreshed? * @param {boolean} refresh - Should the effected indexes be refreshed?
* @param {time} timeout - Time each individual bulk request should wait for shards that are unavailable. * @param {time} timeout - Time each individual bulk request should wait for shards that are unavailable.
* @param {string} wait_for_active_shards - Sets the number of shard copies that must be active before proceeding with the delete by query operation. Defaults to 1, meaning the primary shard only. Set to `all` for all shard copies, otherwise set to any non-negative value less than or equal to the total number of copies for the shard (number of replicas + 1) * @param {string} wait_for_active_shards - Sets the number of shard copies that must be active before proceeding with the delete by query operation. Defaults to 1, meaning the primary shard only. Set to `all` for all shard copies, otherwise set to any non-negative value less than or equal to the total number of copies for the shard (number of replicas + 1)
* @param {number} scroll_size - Size on the scroll request powering the update_by_query * @param {number} scroll_size - Size on the scroll request powering the delete by query
* @param {boolean} wait_for_completion - Should the request should block until the delete-by-query is complete. * @param {boolean} wait_for_completion - Should the request should block until the delete by query is complete.
* @param {number} requests_per_second - The throttle for this request in sub-requests per second. -1 means no throttle. * @param {number} requests_per_second - The throttle for this request in sub-requests per second. -1 means no throttle.
* @param {number} slices - The number of slices this task should be divided into. Defaults to 1 meaning the task isn't sliced into subtasks. * @param {number} slices - The number of slices this task should be divided into. Defaults to 1 meaning the task isn't sliced into subtasks.
* @param {object} body - The search definition using the Query DSL * @param {object} body - The search definition using the Query DSL
@ -85,8 +85,8 @@ function buildDeleteByQuery (opts) {
'size', 'size',
'sort', 'sort',
'_source', '_source',
'_source_exclude', '_source_excludes',
'_source_include', '_source_includes',
'terminate_after', 'terminate_after',
'stats', 'stats',
'version', 'version',
@ -113,8 +113,8 @@ function buildDeleteByQuery (opts) {
expandWildcards: 'expand_wildcards', expandWildcards: 'expand_wildcards',
searchType: 'search_type', searchType: 'search_type',
searchTimeout: 'search_timeout', searchTimeout: 'search_timeout',
_sourceExclude: '_source_exclude', _sourceExcludes: '_source_excludes',
_sourceInclude: '_source_include', _sourceIncludes: '_source_includes',
terminateAfter: 'terminate_after', terminateAfter: 'terminate_after',
requestCache: 'request_cache', requestCache: 'request_cache',
waitForActiveShards: 'wait_for_active_shards', waitForActiveShards: 'wait_for_active_shards',
@ -159,17 +159,17 @@ function buildDeleteByQuery (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, index, type, ...querystring } = params var { method, body, index, type } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'index', 'type'])
if (method == null) { if (method == null) {
method = 'POST' method = 'POST'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -188,8 +188,34 @@ function buildDeleteByQuery (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -0,0 +1,138 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildDeleteByQueryRethrottle (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts
/**
* Perform a [delete_by_query_rethrottle](https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-delete-by-query.html) request
*
* @param {string} task_id - The task id to rethrottle
* @param {number} requests_per_second - The throttle to set on this request in floating sub-requests per second. -1 means set no throttle.
*/
const acceptedQuerystring = [
'requests_per_second',
'pretty',
'human',
'error_trace',
'source',
'filter_path'
]
const snakeCase = {
requestsPerSecond: 'requests_per_second',
errorTrace: 'error_trace',
filterPath: 'filter_path'
}
return function deleteByQueryRethrottle (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params['task_id'] == null && params['taskId'] == null) {
const err = new ConfigurationError('Missing required parameter: task_id or taskId')
return handleError(err, callback)
}
if (params['requests_per_second'] == null && params['requestsPerSecond'] == null) {
const err = new ConfigurationError('Missing required parameter: requests_per_second or requestsPerSecond')
return handleError(err, callback)
}
if (params.body != null) {
const err = new ConfigurationError('This API does not require a body')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = null
var { method, body, taskId, task_id } = params
var querystring = semicopy(params, ['method', 'body', 'taskId', 'task_id'])
if (method == null) {
method = 'POST'
}
var ignore = options.ignore || null
if (typeof ignore === 'number') {
ignore = [ignore]
}
var path = ''
path = '/' + '_delete_by_query' + '/' + encodeURIComponent(task_id || taskId) + '/' + '_rethrottle'
// build request object
const request = {
method,
path,
body: '',
querystring
}
const requestOptions = {
ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
}
}
module.exports = buildDeleteByQueryRethrottle

View File

@ -24,12 +24,11 @@
function buildDeleteScript (opts) { function buildDeleteScript (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [delete_script](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/modules-scripting.html) request * Perform a [delete_script](http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-scripting.html) request
* *
* @param {string} id - Script ID * @param {string} id - Script ID
* @param {string} lang - Script language
* @param {time} timeout - Explicit operation timeout * @param {time} timeout - Explicit operation timeout
* @param {time} master_timeout - Specify timeout for connection to master * @param {time} master_timeout - Specify timeout for connection to master
*/ */
@ -67,47 +66,33 @@ function buildDeleteScript (opts) {
const err = new ConfigurationError('Missing required parameter: id') const err = new ConfigurationError('Missing required parameter: id')
return handleError(err, callback) return handleError(err, callback)
} }
if (params['lang'] == null) {
const err = new ConfigurationError('Missing required parameter: lang')
return handleError(err, callback)
}
if (params.body != null) { if (params.body != null) {
const err = new ConfigurationError('This API does not require a body') const err = new ConfigurationError('This API does not require a body')
return handleError(err, callback) return handleError(err, callback)
} }
// check required url components
if (params['id'] != null && (params['lang'] == null)) {
const err = new ConfigurationError('Missing required parameter of the url: lang')
return handleError(err, callback)
}
// validate headers object // validate headers object
if (options.headers != null && typeof options.headers !== 'object') { if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`) const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, id, lang, ...querystring } = params var { method, body, id } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'id'])
if (method == null) { if (method == null) {
method = 'DELETE' method = 'DELETE'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
if ((lang) != null && (id) != null) { path = '/' + '_scripts' + '/' + encodeURIComponent(id)
path = '/' + '_scripts' + '/' + encodeURIComponent(lang) + '/' + encodeURIComponent(id)
} else {
path = '/' + '_scripts' + '/' + encodeURIComponent(lang)
}
// build request object // build request object
const request = { const request = {
@ -117,8 +102,34 @@ function buildDeleteScript (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildExists (opts) { function buildExists (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [exists](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/docs-get.html) request * Perform a [exists](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html) request
* *
* @param {string} id - The document ID * @param {string} id - The document ID
* @param {string} index - The name of the index * @param {string} index - The name of the index
@ -38,8 +38,8 @@ function buildExists (opts) {
* @param {boolean} refresh - Refresh the shard containing the document before performing the operation * @param {boolean} refresh - Refresh the shard containing the document before performing the operation
* @param {string} routing - Specific routing value * @param {string} routing - Specific routing value
* @param {list} _source - True or false to return the _source field or not, or a list of fields to return * @param {list} _source - True or false to return the _source field or not, or a list of fields to return
* @param {list} _source_exclude - A list of fields to exclude from the returned _source field * @param {list} _source_excludes - A list of fields to exclude from the returned _source field
* @param {list} _source_include - A list of fields to extract and return from the _source field * @param {list} _source_includes - A list of fields to extract and return from the _source field
* @param {number} version - Explicit version number for concurrency control * @param {number} version - Explicit version number for concurrency control
* @param {enum} version_type - Specific version type * @param {enum} version_type - Specific version type
*/ */
@ -52,8 +52,8 @@ function buildExists (opts) {
'refresh', 'refresh',
'routing', 'routing',
'_source', '_source',
'_source_exclude', '_source_excludes',
'_source_include', '_source_includes',
'version', 'version',
'version_type', 'version_type',
'pretty', 'pretty',
@ -65,8 +65,8 @@ function buildExists (opts) {
const snakeCase = { const snakeCase = {
storedFields: 'stored_fields', storedFields: 'stored_fields',
_sourceExclude: '_source_exclude', _sourceExcludes: '_source_excludes',
_sourceInclude: '_source_include', _sourceIncludes: '_source_includes',
versionType: 'version_type', versionType: 'version_type',
errorTrace: 'error_trace', errorTrace: 'error_trace',
filterPath: 'filter_path' filterPath: 'filter_path'
@ -93,10 +93,6 @@ function buildExists (opts) {
const err = new ConfigurationError('Missing required parameter: index') const err = new ConfigurationError('Missing required parameter: index')
return handleError(err, callback) return handleError(err, callback)
} }
if (params['type'] == null) {
const err = new ConfigurationError('Missing required parameter: type')
return handleError(err, callback)
}
if (params.body != null) { if (params.body != null) {
const err = new ConfigurationError('This API does not require a body') const err = new ConfigurationError('This API does not require a body')
return handleError(err, callback) return handleError(err, callback)
@ -108,22 +104,26 @@ function buildExists (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, id, index, type, ...querystring } = params var { method, body, id, index, type } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'id', 'index', 'type'])
if (method == null) { if (method == null) {
method = 'HEAD' method = 'HEAD'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) + '/' + encodeURIComponent(id) if ((index) != null && (type) != null && (id) != null) {
path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) + '/' + encodeURIComponent(id)
} else {
path = '/' + encodeURIComponent(index) + '/' + '_doc' + '/' + encodeURIComponent(id)
}
// build request object // build request object
const request = { const request = {
@ -133,8 +133,34 @@ function buildExists (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,21 +24,21 @@
function buildExistsSource (opts) { function buildExistsSource (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [exists_source](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html) request * Perform a [exists_source](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html) request
* *
* @param {string} id - The document ID * @param {string} id - The document ID
* @param {string} index - The name of the index * @param {string} index - The name of the index
* @param {string} type - The type of the document; use `_all` to fetch the first document matching the ID across all types * @param {string} type - The type of the document; deprecated and optional starting with 7.0
* @param {string} parent - The ID of the parent document * @param {string} parent - The ID of the parent document
* @param {string} preference - Specify the node or shard the operation should be performed on (default: random) * @param {string} preference - Specify the node or shard the operation should be performed on (default: random)
* @param {boolean} realtime - Specify whether to perform the operation in realtime or search mode * @param {boolean} realtime - Specify whether to perform the operation in realtime or search mode
* @param {boolean} refresh - Refresh the shard containing the document before performing the operation * @param {boolean} refresh - Refresh the shard containing the document before performing the operation
* @param {string} routing - Specific routing value * @param {string} routing - Specific routing value
* @param {list} _source - True or false to return the _source field or not, or a list of fields to return * @param {list} _source - True or false to return the _source field or not, or a list of fields to return
* @param {list} _source_exclude - A list of fields to exclude from the returned _source field * @param {list} _source_excludes - A list of fields to exclude from the returned _source field
* @param {list} _source_include - A list of fields to extract and return from the _source field * @param {list} _source_includes - A list of fields to extract and return from the _source field
* @param {number} version - Explicit version number for concurrency control * @param {number} version - Explicit version number for concurrency control
* @param {enum} version_type - Specific version type * @param {enum} version_type - Specific version type
*/ */
@ -50,8 +50,8 @@ function buildExistsSource (opts) {
'refresh', 'refresh',
'routing', 'routing',
'_source', '_source',
'_source_exclude', '_source_excludes',
'_source_include', '_source_includes',
'version', 'version',
'version_type', 'version_type',
'pretty', 'pretty',
@ -62,8 +62,8 @@ function buildExistsSource (opts) {
] ]
const snakeCase = { const snakeCase = {
_sourceExclude: '_source_exclude', _sourceExcludes: '_source_excludes',
_sourceInclude: '_source_include', _sourceIncludes: '_source_includes',
versionType: 'version_type', versionType: 'version_type',
errorTrace: 'error_trace', errorTrace: 'error_trace',
filterPath: 'filter_path' filterPath: 'filter_path'
@ -90,10 +90,6 @@ function buildExistsSource (opts) {
const err = new ConfigurationError('Missing required parameter: index') const err = new ConfigurationError('Missing required parameter: index')
return handleError(err, callback) return handleError(err, callback)
} }
if (params['type'] == null) {
const err = new ConfigurationError('Missing required parameter: type')
return handleError(err, callback)
}
if (params.body != null) { if (params.body != null) {
const err = new ConfigurationError('This API does not require a body') const err = new ConfigurationError('This API does not require a body')
return handleError(err, callback) return handleError(err, callback)
@ -114,22 +110,26 @@ function buildExistsSource (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, id, index, type, ...querystring } = params var { method, body, id, index, type } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'id', 'index', 'type'])
if (method == null) { if (method == null) {
method = 'HEAD' method = 'HEAD'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) + '/' + encodeURIComponent(id) + '/' + '_source' if ((index) != null && (type) != null && (id) != null) {
path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) + '/' + encodeURIComponent(id) + '/' + '_source'
} else {
path = '/' + encodeURIComponent(index) + '/' + '_source' + '/' + encodeURIComponent(id)
}
// build request object // build request object
const request = { const request = {
@ -139,8 +139,34 @@ function buildExistsSource (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildExplain (opts) { function buildExplain (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [explain](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/search-explain.html) request * Perform a [explain](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-explain.html) request
* *
* @param {string} id - The document ID * @param {string} id - The document ID
* @param {string} index - The name of the index * @param {string} index - The name of the index
@ -42,8 +42,8 @@ function buildExplain (opts) {
* @param {string} q - Query in the Lucene query string syntax * @param {string} q - Query in the Lucene query string syntax
* @param {string} routing - Specific routing value * @param {string} routing - Specific routing value
* @param {list} _source - True or false to return the _source field or not, or a list of fields to return * @param {list} _source - True or false to return the _source field or not, or a list of fields to return
* @param {list} _source_exclude - A list of fields to exclude from the returned _source field * @param {list} _source_excludes - A list of fields to exclude from the returned _source field
* @param {list} _source_include - A list of fields to extract and return from the _source field * @param {list} _source_includes - A list of fields to extract and return from the _source field
* @param {object} body - The query definition using the Query DSL * @param {object} body - The query definition using the Query DSL
*/ */
@ -59,8 +59,8 @@ function buildExplain (opts) {
'q', 'q',
'routing', 'routing',
'_source', '_source',
'_source_exclude', '_source_excludes',
'_source_include', '_source_includes',
'pretty', 'pretty',
'human', 'human',
'error_trace', 'error_trace',
@ -72,8 +72,8 @@ function buildExplain (opts) {
analyzeWildcard: 'analyze_wildcard', analyzeWildcard: 'analyze_wildcard',
defaultOperator: 'default_operator', defaultOperator: 'default_operator',
storedFields: 'stored_fields', storedFields: 'stored_fields',
_sourceExclude: '_source_exclude', _sourceExcludes: '_source_excludes',
_sourceInclude: '_source_include', _sourceIncludes: '_source_includes',
errorTrace: 'error_trace', errorTrace: 'error_trace',
filterPath: 'filter_path' filterPath: 'filter_path'
} }
@ -99,10 +99,6 @@ function buildExplain (opts) {
const err = new ConfigurationError('Missing required parameter: index') const err = new ConfigurationError('Missing required parameter: index')
return handleError(err, callback) return handleError(err, callback)
} }
if (params['type'] == null) {
const err = new ConfigurationError('Missing required parameter: type')
return handleError(err, callback)
}
// validate headers object // validate headers object
if (options.headers != null && typeof options.headers !== 'object') { if (options.headers != null && typeof options.headers !== 'object') {
@ -110,22 +106,26 @@ function buildExplain (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, id, index, type, ...querystring } = params var { method, body, id, index, type } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'id', 'index', 'type'])
if (method == null) { if (method == null) {
method = body == null ? 'GET' : 'POST' method = body == null ? 'GET' : 'POST'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) + '/' + encodeURIComponent(id) + '/' + '_explain' if ((index) != null && (type) != null && (id) != null) {
path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) + '/' + encodeURIComponent(id) + '/' + '_explain'
} else {
path = '/' + encodeURIComponent(index) + '/' + '_explain' + '/' + encodeURIComponent(id)
}
// build request object // build request object
const request = { const request = {
@ -135,8 +135,34 @@ function buildExplain (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,16 +24,15 @@
function buildFieldCaps (opts) { function buildFieldCaps (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [field_caps](http://www.elastic.co/guide/en/elasticsearch/reference/5.x/search-field-caps.html) request * Perform a [field_caps](http://www.elastic.co/guide/en/elasticsearch/reference/master/search-field-caps.html) request
* *
* @param {list} index - A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices * @param {list} index - A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices
* @param {list} fields - A comma-separated list of field names * @param {list} fields - A comma-separated list of field names
* @param {boolean} ignore_unavailable - Whether specified concrete indices should be ignored when unavailable (missing or closed) * @param {boolean} ignore_unavailable - Whether specified concrete indices should be ignored when unavailable (missing or closed)
* @param {boolean} allow_no_indices - Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified) * @param {boolean} allow_no_indices - Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
* @param {enum} expand_wildcards - Whether to expand wildcard expression to concrete indices that are open, closed or both. * @param {enum} expand_wildcards - Whether to expand wildcard expression to concrete indices that are open, closed or both.
* @param {object} body - Field json objects containing an array of field names
*/ */
const acceptedQuerystring = [ const acceptedQuerystring = [
@ -68,23 +67,29 @@ function buildFieldCaps (opts) {
options = {} options = {}
} }
// check required parameters
if (params.body != null) {
const err = new ConfigurationError('This API does not require a body')
return handleError(err, callback)
}
// validate headers object // validate headers object
if (options.headers != null && typeof options.headers !== 'object') { if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`) const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, index, ...querystring } = params var { method, body, index } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'index'])
if (method == null) { if (method == null) {
method = body == null ? 'GET' : 'POST' method = body == null ? 'GET' : 'POST'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -99,12 +104,38 @@ function buildFieldCaps (opts) {
const request = { const request = {
method, method,
path, path,
body: body || '', body: '',
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -1,113 +0,0 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildFieldStats (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
/**
* Perform a [field_stats](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/search-field-stats.html) request
*
* @param {list} index - A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices
* @param {list} fields - A comma-separated list of fields for to get field statistics for (min value, max value, and more)
* @param {enum} level - Defines if field stats should be returned on a per index level or on a cluster wide level
* @param {boolean} ignore_unavailable - Whether specified concrete indices should be ignored when unavailable (missing or closed)
* @param {boolean} allow_no_indices - Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
* @param {enum} expand_wildcards - Whether to expand wildcard expression to concrete indices that are open, closed or both.
* @param {object} body - Field json objects containing the name and optionally a range to filter out indices result, that have results outside the defined bounds
*/
const acceptedQuerystring = [
'fields',
'level',
'ignore_unavailable',
'allow_no_indices',
'expand_wildcards',
'pretty',
'human',
'error_trace',
'source',
'filter_path'
]
const snakeCase = {
ignoreUnavailable: 'ignore_unavailable',
allowNoIndices: 'allow_no_indices',
expandWildcards: 'expand_wildcards',
errorTrace: 'error_trace',
filterPath: 'filter_path'
}
return function fieldStats (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = []
var { method, body, index, ...querystring } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
if (method == null) {
method = body == null ? 'GET' : 'POST'
}
var ignore = options.ignore
if (typeof ignore === 'number') {
options.ignore = [ignore]
}
var path = ''
if ((index) != null) {
path = '/' + encodeURIComponent(index) + '/' + '_field_stats'
} else {
path = '/' + '_field_stats'
}
// build request object
const request = {
method,
path,
body: body || '',
querystring
}
options.warnings = warnings.length === 0 ? null : warnings
return makeRequest(request, options, callback)
}
}
module.exports = buildFieldStats

View File

@ -24,9 +24,9 @@
function buildGet (opts) { function buildGet (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [get](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/docs-get.html) request * Perform a [get](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html) request
* *
* @param {string} id - The document ID * @param {string} id - The document ID
* @param {string} index - The name of the index * @param {string} index - The name of the index
@ -38,6 +38,8 @@ function buildGet (opts) {
* @param {boolean} refresh - Refresh the shard containing the document before performing the operation * @param {boolean} refresh - Refresh the shard containing the document before performing the operation
* @param {string} routing - Specific routing value * @param {string} routing - Specific routing value
* @param {list} _source - True or false to return the _source field or not, or a list of fields to return * @param {list} _source - True or false to return the _source field or not, or a list of fields to return
* @param {list} _source_excludes - A list of fields to exclude from the returned _source field
* @param {list} _source_includes - A list of fields to extract and return from the _source field
* @param {list} _source_exclude - A list of fields to exclude from the returned _source field * @param {list} _source_exclude - A list of fields to exclude from the returned _source field
* @param {list} _source_include - A list of fields to extract and return from the _source field * @param {list} _source_include - A list of fields to extract and return from the _source field
* @param {number} version - Explicit version number for concurrency control * @param {number} version - Explicit version number for concurrency control
@ -52,6 +54,8 @@ function buildGet (opts) {
'refresh', 'refresh',
'routing', 'routing',
'_source', '_source',
'_source_excludes',
'_source_includes',
'_source_exclude', '_source_exclude',
'_source_include', '_source_include',
'version', 'version',
@ -65,6 +69,8 @@ function buildGet (opts) {
const snakeCase = { const snakeCase = {
storedFields: 'stored_fields', storedFields: 'stored_fields',
_sourceExcludes: '_source_excludes',
_sourceIncludes: '_source_includes',
_sourceExclude: '_source_exclude', _sourceExclude: '_source_exclude',
_sourceInclude: '_source_include', _sourceInclude: '_source_include',
versionType: 'version_type', versionType: 'version_type',
@ -93,10 +99,6 @@ function buildGet (opts) {
const err = new ConfigurationError('Missing required parameter: index') const err = new ConfigurationError('Missing required parameter: index')
return handleError(err, callback) return handleError(err, callback)
} }
if (params['type'] == null) {
const err = new ConfigurationError('Missing required parameter: type')
return handleError(err, callback)
}
if (params.body != null) { if (params.body != null) {
const err = new ConfigurationError('This API does not require a body') const err = new ConfigurationError('This API does not require a body')
return handleError(err, callback) return handleError(err, callback)
@ -108,22 +110,26 @@ function buildGet (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, id, index, type, ...querystring } = params var { method, body, id, index, type } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'id', 'index', 'type'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) + '/' + encodeURIComponent(id) if ((index) != null && (type) != null && (id) != null) {
path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) + '/' + encodeURIComponent(id)
} else {
path = '/' + encodeURIComponent(index) + '/' + '_doc' + '/' + encodeURIComponent(id)
}
// build request object // build request object
const request = { const request = {
@ -133,8 +139,34 @@ function buildGet (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,15 +24,16 @@
function buildGetScript (opts) { function buildGetScript (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [get_script](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/modules-scripting.html) request * Perform a [get_script](http://www.elastic.co/guide/en/elasticsearch/reference/master/modules-scripting.html) request
* *
* @param {string} id - Script ID * @param {string} id - Script ID
* @param {string} lang - Script language * @param {time} master_timeout - Specify timeout for connection to master
*/ */
const acceptedQuerystring = [ const acceptedQuerystring = [
'master_timeout',
'pretty', 'pretty',
'human', 'human',
'error_trace', 'error_trace',
@ -41,6 +42,7 @@ function buildGetScript (opts) {
] ]
const snakeCase = { const snakeCase = {
masterTimeout: 'master_timeout',
errorTrace: 'error_trace', errorTrace: 'error_trace',
filterPath: 'filter_path' filterPath: 'filter_path'
} }
@ -62,47 +64,33 @@ function buildGetScript (opts) {
const err = new ConfigurationError('Missing required parameter: id') const err = new ConfigurationError('Missing required parameter: id')
return handleError(err, callback) return handleError(err, callback)
} }
if (params['lang'] == null) {
const err = new ConfigurationError('Missing required parameter: lang')
return handleError(err, callback)
}
if (params.body != null) { if (params.body != null) {
const err = new ConfigurationError('This API does not require a body') const err = new ConfigurationError('This API does not require a body')
return handleError(err, callback) return handleError(err, callback)
} }
// check required url components
if (params['id'] != null && (params['lang'] == null)) {
const err = new ConfigurationError('Missing required parameter of the url: lang')
return handleError(err, callback)
}
// validate headers object // validate headers object
if (options.headers != null && typeof options.headers !== 'object') { if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`) const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, id, lang, ...querystring } = params var { method, body, id } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'id'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
if ((lang) != null && (id) != null) { path = '/' + '_scripts' + '/' + encodeURIComponent(id)
path = '/' + '_scripts' + '/' + encodeURIComponent(lang) + '/' + encodeURIComponent(id)
} else {
path = '/' + '_scripts' + '/' + encodeURIComponent(lang)
}
// build request object // build request object
const request = { const request = {
@ -112,8 +100,34 @@ function buildGetScript (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,21 +24,21 @@
function buildGetSource (opts) { function buildGetSource (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [get_source](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/docs-get.html) request * Perform a [get_source](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-get.html) request
* *
* @param {string} id - The document ID * @param {string} id - The document ID
* @param {string} index - The name of the index * @param {string} index - The name of the index
* @param {string} type - The type of the document; use `_all` to fetch the first document matching the ID across all types * @param {string} type - The type of the document; deprecated and optional starting with 7.0
* @param {string} parent - The ID of the parent document * @param {string} parent - The ID of the parent document
* @param {string} preference - Specify the node or shard the operation should be performed on (default: random) * @param {string} preference - Specify the node or shard the operation should be performed on (default: random)
* @param {boolean} realtime - Specify whether to perform the operation in realtime or search mode * @param {boolean} realtime - Specify whether to perform the operation in realtime or search mode
* @param {boolean} refresh - Refresh the shard containing the document before performing the operation * @param {boolean} refresh - Refresh the shard containing the document before performing the operation
* @param {string} routing - Specific routing value * @param {string} routing - Specific routing value
* @param {list} _source - True or false to return the _source field or not, or a list of fields to return * @param {list} _source - True or false to return the _source field or not, or a list of fields to return
* @param {list} _source_exclude - A list of fields to exclude from the returned _source field * @param {list} _source_excludes - A list of fields to exclude from the returned _source field
* @param {list} _source_include - A list of fields to extract and return from the _source field * @param {list} _source_includes - A list of fields to extract and return from the _source field
* @param {number} version - Explicit version number for concurrency control * @param {number} version - Explicit version number for concurrency control
* @param {enum} version_type - Specific version type * @param {enum} version_type - Specific version type
*/ */
@ -50,8 +50,8 @@ function buildGetSource (opts) {
'refresh', 'refresh',
'routing', 'routing',
'_source', '_source',
'_source_exclude', '_source_excludes',
'_source_include', '_source_includes',
'version', 'version',
'version_type', 'version_type',
'pretty', 'pretty',
@ -62,8 +62,8 @@ function buildGetSource (opts) {
] ]
const snakeCase = { const snakeCase = {
_sourceExclude: '_source_exclude', _sourceExcludes: '_source_excludes',
_sourceInclude: '_source_include', _sourceIncludes: '_source_includes',
versionType: 'version_type', versionType: 'version_type',
errorTrace: 'error_trace', errorTrace: 'error_trace',
filterPath: 'filter_path' filterPath: 'filter_path'
@ -90,10 +90,6 @@ function buildGetSource (opts) {
const err = new ConfigurationError('Missing required parameter: index') const err = new ConfigurationError('Missing required parameter: index')
return handleError(err, callback) return handleError(err, callback)
} }
if (params['type'] == null) {
const err = new ConfigurationError('Missing required parameter: type')
return handleError(err, callback)
}
if (params.body != null) { if (params.body != null) {
const err = new ConfigurationError('This API does not require a body') const err = new ConfigurationError('This API does not require a body')
return handleError(err, callback) return handleError(err, callback)
@ -105,22 +101,26 @@ function buildGetSource (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, id, index, type, ...querystring } = params var { method, body, id, index, type } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'id', 'index', 'type'])
if (method == null) { if (method == null) {
method = 'GET' method = 'GET'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) + '/' + encodeURIComponent(id) + '/' + '_source' if ((index) != null && (type) != null && (id) != null) {
path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) + '/' + encodeURIComponent(id) + '/' + '_source'
} else {
path = '/' + encodeURIComponent(index) + '/' + '_source' + '/' + encodeURIComponent(id)
}
// build request object // build request object
const request = { const request = {
@ -130,8 +130,34 @@ function buildGetSource (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

131
api/api/graph.explore.js Normal file
View File

@ -0,0 +1,131 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildGraphExplore (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts
/**
* Perform a [graph.explore](https://www.elastic.co/guide/en/elasticsearch/reference/current/graph-explore-api.html) request
*
* @param {list} index - A comma-separated list of index names to search; use `_all` or empty string to perform the operation on all indices
* @param {list} type - A comma-separated list of document types to search; leave empty to perform the operation on all types
* @param {string} routing - Specific routing value
* @param {time} timeout - Explicit operation timeout
* @param {object} body - Graph Query DSL
*/
const acceptedQuerystring = [
'routing',
'timeout'
]
const snakeCase = {
}
return function graphExplore (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required url components
if (params['type'] != null && (params['index'] == null)) {
const err = new ConfigurationError('Missing required parameter of the url: index')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = null
var { method, body, index, type } = params
var querystring = semicopy(params, ['method', 'body', 'index', 'type'])
if (method == null) {
method = body == null ? 'GET' : 'POST'
}
var ignore = options.ignore || null
if (typeof ignore === 'number') {
ignore = [ignore]
}
var path = ''
if ((index) != null && (type) != null) {
path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) + '/' + '_graph' + '/' + 'explore'
} else {
path = '/' + encodeURIComponent(index) + '/' + '_graph' + '/' + 'explore'
}
// build request object
const request = {
method,
path,
body: body || '',
querystring
}
const requestOptions = {
ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
}
}
module.exports = buildGraphExplore

View File

@ -0,0 +1,122 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildIlmDeleteLifecycle (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts
/**
* Perform a [ilm.delete_lifecycle](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-delete-lifecycle.html) request
*
* @param {string} policy - The name of the index lifecycle policy
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function ilmDeleteLifecycle (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params.body != null) {
const err = new ConfigurationError('This API does not require a body')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = null
var { method, body, policy } = params
var querystring = semicopy(params, ['method', 'body', 'policy'])
if (method == null) {
method = 'DELETE'
}
var ignore = options.ignore || null
if (typeof ignore === 'number') {
ignore = [ignore]
}
var path = ''
path = '/' + '_ilm' + '/' + 'policy' + '/' + encodeURIComponent(policy)
// build request object
const request = {
method,
path,
body: '',
querystring
}
const requestOptions = {
ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
}
}
module.exports = buildIlmDeleteLifecycle

View File

@ -0,0 +1,122 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildIlmExplainLifecycle (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts
/**
* Perform a [ilm.explain_lifecycle](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-explain-lifecycle.html) request
*
* @param {string} index - The name of the index to explain
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function ilmExplainLifecycle (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params.body != null) {
const err = new ConfigurationError('This API does not require a body')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = null
var { method, body, index } = params
var querystring = semicopy(params, ['method', 'body', 'index'])
if (method == null) {
method = 'GET'
}
var ignore = options.ignore || null
if (typeof ignore === 'number') {
ignore = [ignore]
}
var path = ''
path = '/' + encodeURIComponent(index) + '/' + '_ilm' + '/' + 'explain'
// build request object
const request = {
method,
path,
body: null,
querystring
}
const requestOptions = {
ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
}
}
module.exports = buildIlmExplainLifecycle

View File

@ -0,0 +1,126 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildIlmGetLifecycle (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts
/**
* Perform a [ilm.get_lifecycle](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-get-lifecycle.html) request
*
* @param {string} policy - The name of the index lifecycle policy
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function ilmGetLifecycle (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params.body != null) {
const err = new ConfigurationError('This API does not require a body')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = null
var { method, body, policy } = params
var querystring = semicopy(params, ['method', 'body', 'policy'])
if (method == null) {
method = 'GET'
}
var ignore = options.ignore || null
if (typeof ignore === 'number') {
ignore = [ignore]
}
var path = ''
if ((policy) != null) {
path = '/' + '_ilm' + '/' + 'policy' + '/' + encodeURIComponent(policy)
} else {
path = '/' + '_ilm' + '/' + 'policy'
}
// build request object
const request = {
method,
path,
body: null,
querystring
}
const requestOptions = {
ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
}
}
module.exports = buildIlmGetLifecycle

121
api/api/ilm.get_status.js Normal file
View File

@ -0,0 +1,121 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildIlmGetStatus (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts
/**
* Perform a [ilm.get_status](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-get-status.html) request
*
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function ilmGetStatus (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params.body != null) {
const err = new ConfigurationError('This API does not require a body')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = null
var { method, body } = params
var querystring = semicopy(params, ['method', 'body'])
if (method == null) {
method = 'GET'
}
var ignore = options.ignore || null
if (typeof ignore === 'number') {
ignore = [ignore]
}
var path = ''
path = '/' + '_ilm' + '/' + 'status'
// build request object
const request = {
method,
path,
body: null,
querystring
}
const requestOptions = {
ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
}
}
module.exports = buildIlmGetStatus

117
api/api/ilm.move_to_step.js Normal file
View File

@ -0,0 +1,117 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildIlmMoveToStep (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts
/**
* Perform a [ilm.move_to_step](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-move-to-step.html) request
*
* @param {string} index - The name of the index whose lifecycle step is to change
* @param {object} body - The new lifecycle step to move to
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function ilmMoveToStep (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = null
var { method, body, index } = params
var querystring = semicopy(params, ['method', 'body', 'index'])
if (method == null) {
method = 'POST'
}
var ignore = options.ignore || null
if (typeof ignore === 'number') {
ignore = [ignore]
}
var path = ''
path = '/' + '_ilm' + '/' + 'move' + '/' + encodeURIComponent(index)
// build request object
const request = {
method,
path,
body: body || '',
querystring
}
const requestOptions = {
ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
}
}
module.exports = buildIlmMoveToStep

View File

@ -0,0 +1,117 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildIlmPutLifecycle (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts
/**
* Perform a [ilm.put_lifecycle](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-put-lifecycle.html) request
*
* @param {string} policy - The name of the index lifecycle policy
* @param {object} body - The lifecycle policy definition to register
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function ilmPutLifecycle (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = null
var { method, body, policy } = params
var querystring = semicopy(params, ['method', 'body', 'policy'])
if (method == null) {
method = 'PUT'
}
var ignore = options.ignore || null
if (typeof ignore === 'number') {
ignore = [ignore]
}
var path = ''
path = '/' + '_ilm' + '/' + 'policy' + '/' + encodeURIComponent(policy)
// build request object
const request = {
method,
path,
body: body || '',
querystring
}
const requestOptions = {
ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
}
}
module.exports = buildIlmPutLifecycle

View File

@ -0,0 +1,122 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildIlmRemovePolicy (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts
/**
* Perform a [ilm.remove_policy](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-remove-policy.html) request
*
* @param {string} index - The name of the index to remove policy on
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function ilmRemovePolicy (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params.body != null) {
const err = new ConfigurationError('This API does not require a body')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = null
var { method, body, index } = params
var querystring = semicopy(params, ['method', 'body', 'index'])
if (method == null) {
method = 'POST'
}
var ignore = options.ignore || null
if (typeof ignore === 'number') {
ignore = [ignore]
}
var path = ''
path = '/' + encodeURIComponent(index) + '/' + '_ilm' + '/' + 'remove'
// build request object
const request = {
method,
path,
body: '',
querystring
}
const requestOptions = {
ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
}
}
module.exports = buildIlmRemovePolicy

122
api/api/ilm.retry.js Normal file
View File

@ -0,0 +1,122 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildIlmRetry (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts
/**
* Perform a [ilm.retry](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-retry-policy.html) request
*
* @param {string} index - The name of the indices (comma-separated) whose failed lifecycle step is to be retry
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function ilmRetry (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params.body != null) {
const err = new ConfigurationError('This API does not require a body')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = null
var { method, body, index } = params
var querystring = semicopy(params, ['method', 'body', 'index'])
if (method == null) {
method = 'POST'
}
var ignore = options.ignore || null
if (typeof ignore === 'number') {
ignore = [ignore]
}
var path = ''
path = '/' + encodeURIComponent(index) + '/' + '_ilm' + '/' + 'retry'
// build request object
const request = {
method,
path,
body: '',
querystring
}
const requestOptions = {
ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
}
}
module.exports = buildIlmRetry

121
api/api/ilm.start.js Normal file
View File

@ -0,0 +1,121 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildIlmStart (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts
/**
* Perform a [ilm.start](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-start.html) request
*
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function ilmStart (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params.body != null) {
const err = new ConfigurationError('This API does not require a body')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = null
var { method, body } = params
var querystring = semicopy(params, ['method', 'body'])
if (method == null) {
method = 'POST'
}
var ignore = options.ignore || null
if (typeof ignore === 'number') {
ignore = [ignore]
}
var path = ''
path = '/' + '_ilm' + '/' + 'start'
// build request object
const request = {
method,
path,
body: '',
querystring
}
const requestOptions = {
ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
}
}
module.exports = buildIlmStart

121
api/api/ilm.stop.js Normal file
View File

@ -0,0 +1,121 @@
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
'use strict'
/* eslint camelcase: 0 */
/* eslint no-unused-vars: 0 */
function buildIlmStop (opts) {
// eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError } = opts
/**
* Perform a [ilm.stop](https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-stop.html) request
*
*/
const acceptedQuerystring = [
]
const snakeCase = {
}
return function ilmStop (params, options, callback) {
options = options || {}
if (typeof options === 'function') {
callback = options
options = {}
}
if (typeof params === 'function' || params == null) {
callback = params
params = {}
options = {}
}
// check required parameters
if (params.body != null) {
const err = new ConfigurationError('This API does not require a body')
return handleError(err, callback)
}
// validate headers object
if (options.headers != null && typeof options.headers !== 'object') {
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
return handleError(err, callback)
}
var warnings = null
var { method, body } = params
var querystring = semicopy(params, ['method', 'body'])
if (method == null) {
method = 'POST'
}
var ignore = options.ignore || null
if (typeof ignore === 'number') {
ignore = [ignore]
}
var path = ''
path = '/' + '_ilm' + '/' + 'stop'
// build request object
const request = {
method,
path,
body: '',
querystring
}
const requestOptions = {
ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
}
}
module.exports = buildIlmStop

View File

@ -24,9 +24,9 @@
function buildIndex (opts) { function buildIndex (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [index](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/docs-index_.html) request * Perform a [index](http://www.elastic.co/guide/en/elasticsearch/reference/master/docs-index_.html) request
* *
* @param {string} id - Document ID * @param {string} id - Document ID
* @param {string} index - The name of the index * @param {string} index - The name of the index
@ -37,10 +37,10 @@ function buildIndex (opts) {
* @param {enum} refresh - If `true` then refresh the affected shards to make this operation visible to search, if `wait_for` then wait for a refresh to make this operation visible to search, if `false` (the default) then do nothing with refreshes. * @param {enum} refresh - If `true` then refresh the affected shards to make this operation visible to search, if `wait_for` then wait for a refresh to make this operation visible to search, if `false` (the default) then do nothing with refreshes.
* @param {string} routing - Specific routing value * @param {string} routing - Specific routing value
* @param {time} timeout - Explicit operation timeout * @param {time} timeout - Explicit operation timeout
* @param {time} timestamp - Explicit timestamp for the document
* @param {time} ttl - Expiration time for the document
* @param {number} version - Explicit version number for concurrency control * @param {number} version - Explicit version number for concurrency control
* @param {enum} version_type - Specific version type * @param {enum} version_type - Specific version type
* @param {number} if_seq_no - only perform the index operation if the last operation that has changed the document has the specified sequence number
* @param {number} if_primary_term - only perform the index operation if the last operation that has changed the document has the specified primary term
* @param {string} pipeline - The pipeline id to preprocess incoming documents with * @param {string} pipeline - The pipeline id to preprocess incoming documents with
* @param {object} body - The document * @param {object} body - The document
*/ */
@ -52,10 +52,10 @@ function buildIndex (opts) {
'refresh', 'refresh',
'routing', 'routing',
'timeout', 'timeout',
'timestamp',
'ttl',
'version', 'version',
'version_type', 'version_type',
'if_seq_no',
'if_primary_term',
'pipeline', 'pipeline',
'pretty', 'pretty',
'human', 'human',
@ -68,6 +68,8 @@ function buildIndex (opts) {
waitForActiveShards: 'wait_for_active_shards', waitForActiveShards: 'wait_for_active_shards',
opType: 'op_type', opType: 'op_type',
versionType: 'version_type', versionType: 'version_type',
ifSeqNo: 'if_seq_no',
ifPrimaryTerm: 'if_primary_term',
errorTrace: 'error_trace', errorTrace: 'error_trace',
filterPath: 'filter_path' filterPath: 'filter_path'
} }
@ -89,20 +91,13 @@ function buildIndex (opts) {
const err = new ConfigurationError('Missing required parameter: index') const err = new ConfigurationError('Missing required parameter: index')
return handleError(err, callback) return handleError(err, callback)
} }
if (params['type'] == null) {
const err = new ConfigurationError('Missing required parameter: type')
return handleError(err, callback)
}
if (params['body'] == null) { if (params['body'] == null) {
const err = new ConfigurationError('Missing required parameter: body') const err = new ConfigurationError('Missing required parameter: body')
return handleError(err, callback) return handleError(err, callback)
} }
// check required url components // check required url components
if (params['id'] != null && (params['type'] == null || params['index'] == null)) { if (params['id'] != null && (params['index'] == null)) {
const err = new ConfigurationError('Missing required parameter of the url: type, index')
return handleError(err, callback)
} else if (params['type'] != null && (params['index'] == null)) {
const err = new ConfigurationError('Missing required parameter of the url: index') const err = new ConfigurationError('Missing required parameter of the url: index')
return handleError(err, callback) return handleError(err, callback)
} }
@ -113,25 +108,29 @@ function buildIndex (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, id, index, type, ...querystring } = params var { method, body, id, index, type } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'id', 'index', 'type'])
if (method == null) { if (method == null) {
method = 'POST' method = 'POST'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
if ((index) != null && (type) != null && (id) != null) { if ((index) != null && (type) != null && (id) != null) {
path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) + '/' + encodeURIComponent(id) path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) + '/' + encodeURIComponent(id)
} else { } else if ((index) != null && (id) != null) {
path = '/' + encodeURIComponent(index) + '/' + '_doc' + '/' + encodeURIComponent(id)
} else if ((index) != null && (type) != null) {
path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type)
} else {
path = '/' + encodeURIComponent(index) + '/' + '_doc'
} }
// build request object // build request object
@ -142,8 +141,34 @@ function buildIndex (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,37 +24,17 @@
function buildIndicesAnalyze (opts) { function buildIndicesAnalyze (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [indices.analyze](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/indices-analyze.html) request * Perform a [indices.analyze](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-analyze.html) request
* *
* @param {string} index - The name of the index to scope the operation * @param {string} index - The name of the index to scope the operation
* @param {string} analyzer - The name of the analyzer to use
* @param {list} char_filter - A comma-separated list of character filters to use for the analysis
* @param {string} field - Use the analyzer configured for this field (instead of passing the analyzer name)
* @param {list} filter - A comma-separated list of filters to use for the analysis
* @param {string} index - The name of the index to scope the operation * @param {string} index - The name of the index to scope the operation
* @param {boolean} prefer_local - With `true`, specify that a local shard should be used if available, with `false`, use a random shard (default: true) * @param {object} body - Define analyzer/tokenizer parameters and the text on which the analysis should be performed
* @param {list} text - The text on which the analysis should be performed (when request body is not used)
* @param {string} tokenizer - The name of the tokenizer to use for the analysis
* @param {boolean} explain - With `true`, outputs more advanced details. (default: false)
* @param {list} attributes - A comma-separated list of token attributes to output, this parameter works only with `explain=true`
* @param {enum} format - Format of the output
* @param {object} body - The text on which the analysis should be performed
*/ */
const acceptedQuerystring = [ const acceptedQuerystring = [
'analyzer',
'char_filter',
'field',
'filter',
'index', 'index',
'prefer_local',
'text',
'tokenizer',
'explain',
'attributes',
'format',
'pretty', 'pretty',
'human', 'human',
'error_trace', 'error_trace',
@ -63,8 +43,6 @@ function buildIndicesAnalyze (opts) {
] ]
const snakeCase = { const snakeCase = {
charFilter: 'char_filter',
preferLocal: 'prefer_local',
errorTrace: 'error_trace', errorTrace: 'error_trace',
filterPath: 'filter_path' filterPath: 'filter_path'
} }
@ -87,17 +65,17 @@ function buildIndicesAnalyze (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, index, ...querystring } = params var { method, body, index } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'index'])
if (method == null) { if (method == null) {
method = body == null ? 'GET' : 'POST' method = body == null ? 'GET' : 'POST'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -116,8 +94,34 @@ function buildIndicesAnalyze (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,26 +24,22 @@
function buildIndicesClearCache (opts) { function buildIndicesClearCache (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [indices.clear_cache](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/indices-clearcache.html) request * Perform a [indices.clear_cache](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-clearcache.html) request
* *
* @param {list} index - A comma-separated list of index name to limit the operation * @param {list} index - A comma-separated list of index name to limit the operation
* @param {boolean} field_data - Clear field data
* @param {boolean} fielddata - Clear field data * @param {boolean} fielddata - Clear field data
* @param {list} fields - A comma-separated list of fields to clear when using the `field_data` parameter (default: all) * @param {list} fields - A comma-separated list of fields to clear when using the `fielddata` parameter (default: all)
* @param {boolean} query - Clear query caches * @param {boolean} query - Clear query caches
* @param {boolean} ignore_unavailable - Whether specified concrete indices should be ignored when unavailable (missing or closed) * @param {boolean} ignore_unavailable - Whether specified concrete indices should be ignored when unavailable (missing or closed)
* @param {boolean} allow_no_indices - Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified) * @param {boolean} allow_no_indices - Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified)
* @param {enum} expand_wildcards - Whether to expand wildcard expression to concrete indices that are open, closed or both. * @param {enum} expand_wildcards - Whether to expand wildcard expression to concrete indices that are open, closed or both.
* @param {list} index - A comma-separated list of index name to limit the operation * @param {list} index - A comma-separated list of index name to limit the operation
* @param {boolean} recycler - Clear the recycler cache
* @param {boolean} request_cache - Clear request cache
* @param {boolean} request - Clear request cache * @param {boolean} request - Clear request cache
*/ */
const acceptedQuerystring = [ const acceptedQuerystring = [
'field_data',
'fielddata', 'fielddata',
'fields', 'fields',
'query', 'query',
@ -51,8 +47,6 @@ function buildIndicesClearCache (opts) {
'allow_no_indices', 'allow_no_indices',
'expand_wildcards', 'expand_wildcards',
'index', 'index',
'recycler',
'request_cache',
'request', 'request',
'pretty', 'pretty',
'human', 'human',
@ -62,11 +56,9 @@ function buildIndicesClearCache (opts) {
] ]
const snakeCase = { const snakeCase = {
fieldData: 'field_data',
ignoreUnavailable: 'ignore_unavailable', ignoreUnavailable: 'ignore_unavailable',
allowNoIndices: 'allow_no_indices', allowNoIndices: 'allow_no_indices',
expandWildcards: 'expand_wildcards', expandWildcards: 'expand_wildcards',
requestCache: 'request_cache',
errorTrace: 'error_trace', errorTrace: 'error_trace',
filterPath: 'filter_path' filterPath: 'filter_path'
} }
@ -95,17 +87,17 @@ function buildIndicesClearCache (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, index, ...querystring } = params var { method, body, index } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'index'])
if (method == null) { if (method == null) {
method = body == null ? 'GET' : 'POST' method = 'POST'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -124,8 +116,34 @@ function buildIndicesClearCache (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildIndicesClose (opts) { function buildIndicesClose (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [indices.close](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/indices-open-close.html) request * Perform a [indices.close](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-open-close.html) request
* *
* @param {list} index - A comma separated list of indices to close * @param {list} index - A comma separated list of indices to close
* @param {time} timeout - Explicit operation timeout * @param {time} timeout - Explicit operation timeout
@ -86,17 +86,17 @@ function buildIndicesClose (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, index, ...querystring } = params var { method, body, index } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'index'])
if (method == null) { if (method == null) {
method = 'POST' method = 'POST'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -111,8 +111,34 @@ function buildIndicesClose (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,23 +24,23 @@
function buildIndicesCreate (opts) { function buildIndicesCreate (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [indices.create](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/indices-create-index.html) request * Perform a [indices.create](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-create-index.html) request
* *
* @param {string} index - The name of the index * @param {string} index - The name of the index
* @param {boolean} include_type_name - Whether a type should be expected in the body of the mappings.
* @param {string} wait_for_active_shards - Set the number of active shards to wait for before the operation returns. * @param {string} wait_for_active_shards - Set the number of active shards to wait for before the operation returns.
* @param {time} timeout - Explicit operation timeout * @param {time} timeout - Explicit operation timeout
* @param {time} master_timeout - Specify timeout for connection to master * @param {time} master_timeout - Specify timeout for connection to master
* @param {boolean} update_all_types - Whether to update the mapping for all fields with the same name across all types or not
* @param {object} body - The configuration for the index (`settings` and `mappings`) * @param {object} body - The configuration for the index (`settings` and `mappings`)
*/ */
const acceptedQuerystring = [ const acceptedQuerystring = [
'include_type_name',
'wait_for_active_shards', 'wait_for_active_shards',
'timeout', 'timeout',
'master_timeout', 'master_timeout',
'update_all_types',
'pretty', 'pretty',
'human', 'human',
'error_trace', 'error_trace',
@ -49,9 +49,9 @@ function buildIndicesCreate (opts) {
] ]
const snakeCase = { const snakeCase = {
includeTypeName: 'include_type_name',
waitForActiveShards: 'wait_for_active_shards', waitForActiveShards: 'wait_for_active_shards',
masterTimeout: 'master_timeout', masterTimeout: 'master_timeout',
updateAllTypes: 'update_all_types',
errorTrace: 'error_trace', errorTrace: 'error_trace',
filterPath: 'filter_path' filterPath: 'filter_path'
} }
@ -80,17 +80,17 @@ function buildIndicesCreate (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, index, ...querystring } = params var { method, body, index } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'index'])
if (method == null) { if (method == null) {
method = 'PUT' method = 'PUT'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -105,8 +105,34 @@ function buildIndicesCreate (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,18 +24,24 @@
function buildIndicesDelete (opts) { function buildIndicesDelete (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [indices.delete](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/indices-delete-index.html) request * Perform a [indices.delete](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-delete-index.html) request
* *
* @param {list} index - A comma-separated list of indices to delete; use `_all` or `*` string to delete all indices * @param {list} index - A comma-separated list of indices to delete; use `_all` or `*` string to delete all indices
* @param {time} timeout - Explicit operation timeout * @param {time} timeout - Explicit operation timeout
* @param {time} master_timeout - Specify timeout for connection to master * @param {time} master_timeout - Specify timeout for connection to master
* @param {boolean} ignore_unavailable - Ignore unavailable indexes (default: false)
* @param {boolean} allow_no_indices - Ignore if a wildcard expression resolves to no concrete indices (default: false)
* @param {enum} expand_wildcards - Whether wildcard expressions should get expanded to open or closed indices (default: open)
*/ */
const acceptedQuerystring = [ const acceptedQuerystring = [
'timeout', 'timeout',
'master_timeout', 'master_timeout',
'ignore_unavailable',
'allow_no_indices',
'expand_wildcards',
'pretty', 'pretty',
'human', 'human',
'error_trace', 'error_trace',
@ -45,6 +51,9 @@ function buildIndicesDelete (opts) {
const snakeCase = { const snakeCase = {
masterTimeout: 'master_timeout', masterTimeout: 'master_timeout',
ignoreUnavailable: 'ignore_unavailable',
allowNoIndices: 'allow_no_indices',
expandWildcards: 'expand_wildcards',
errorTrace: 'error_trace', errorTrace: 'error_trace',
filterPath: 'filter_path' filterPath: 'filter_path'
} }
@ -77,17 +86,17 @@ function buildIndicesDelete (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, index, ...querystring } = params var { method, body, index } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'index'])
if (method == null) { if (method == null) {
method = 'DELETE' method = 'DELETE'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -102,8 +111,34 @@ function buildIndicesDelete (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildIndicesDeleteAlias (opts) { function buildIndicesDeleteAlias (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [indices.delete_alias](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/indices-aliases.html) request * Perform a [indices.delete_alias](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-aliases.html) request
* *
* @param {list} index - A comma-separated list of index names (supports wildcards); use `_all` for all indices * @param {list} index - A comma-separated list of index names (supports wildcards); use `_all` for all indices
* @param {list} name - A comma-separated list of aliases to delete (supports wildcards); use `_all` to delete all aliases for the specified indices. * @param {list} name - A comma-separated list of aliases to delete (supports wildcards); use `_all` to delete all aliases for the specified indices.
@ -88,17 +88,17 @@ function buildIndicesDeleteAlias (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, index, name, ...querystring } = params var { method, body, index, name } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'index', 'name'])
if (method == null) { if (method == null) {
method = 'DELETE' method = 'DELETE'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -117,8 +117,34 @@ function buildIndicesDeleteAlias (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

View File

@ -24,9 +24,9 @@
function buildIndicesDeleteTemplate (opts) { function buildIndicesDeleteTemplate (opts) {
// eslint-disable-next-line no-unused-vars // eslint-disable-next-line no-unused-vars
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts const { makeRequest, ConfigurationError, handleError } = opts
/** /**
* Perform a [indices.delete_template](https://www.elastic.co/guide/en/elasticsearch/reference/5.x/indices-templates.html) request * Perform a [indices.delete_template](http://www.elastic.co/guide/en/elasticsearch/reference/master/indices-templates.html) request
* *
* @param {string} name - The name of the template * @param {string} name - The name of the template
* @param {time} timeout - Explicit operation timeout * @param {time} timeout - Explicit operation timeout
@ -77,17 +77,17 @@ function buildIndicesDeleteTemplate (opts) {
return handleError(err, callback) return handleError(err, callback)
} }
var warnings = [] var warnings = null
var { method, body, name, ...querystring } = params var { method, body, name } = params
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings) var querystring = semicopy(params, ['method', 'body', 'name'])
if (method == null) { if (method == null) {
method = 'DELETE' method = 'DELETE'
} }
var ignore = options.ignore var ignore = options.ignore || null
if (typeof ignore === 'number') { if (typeof ignore === 'number') {
options.ignore = [ignore] ignore = [ignore]
} }
var path = '' var path = ''
@ -102,8 +102,34 @@ function buildIndicesDeleteTemplate (opts) {
querystring querystring
} }
options.warnings = warnings.length === 0 ? null : warnings const requestOptions = {
return makeRequest(request, options, callback) ignore,
requestTimeout: options.requestTimeout || null,
maxRetries: options.maxRetries || null,
asStream: options.asStream || false,
headers: options.headers || null,
querystring: options.querystring || null,
compression: options.compression || false,
warnings
}
return makeRequest(request, requestOptions, callback)
function semicopy (obj, exclude) {
var target = {}
var keys = Object.keys(obj)
for (var i = 0, len = keys.length; i < len; i++) {
var key = keys[i]
if (exclude.indexOf(key) === -1) {
target[snakeCase[key] || key] = obj[key]
if (acceptedQuerystring.indexOf(snakeCase[key] || key) === -1) {
warnings = warnings || []
warnings.push('Client - Unknown parameter: "' + key + '", sending it as query parameter')
}
}
}
return target
}
} }
} }

Some files were not shown because too many files have changed in this diff Show More