Compare commits
58 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8de6f137de | |||
| 87c80b0a48 | |||
| 15a9479a81 | |||
| 11951fe8fc | |||
| c343302772 | |||
| f9f5d91332 | |||
| 51169d5efa | |||
| be6257380e | |||
| 5555ea5c7b | |||
| e2c68a0bd0 | |||
| a28f9c36e4 | |||
| a9a905409e | |||
| ca23e0b23a | |||
| db67c526e4 | |||
| cf5f3c55e0 | |||
| d18f877c77 | |||
| 917a4e338f | |||
| 9852906c23 | |||
| 711625edf2 | |||
| 372f91c76d | |||
| 53e29db80e | |||
| 8bd5c4c4ce | |||
| d19313a72c | |||
| 874b04f819 | |||
| a91e5375ac | |||
| b99654602a | |||
| 733070963b | |||
| 726d1824bd | |||
| e94eefe8a2 | |||
| cd61e30bb3 | |||
| 21683e6826 | |||
| 647546a4e5 | |||
| 1a6c36e291 | |||
| a34c6dd3a7 | |||
| 2a59c634f7 | |||
| 2d9bfd6730 | |||
| 68730dc0e6 | |||
| 0f60d78e5d | |||
| 0455b76fb8 | |||
| 63a68fb615 | |||
| d58365eb70 | |||
| 51568ed505 | |||
| be7c9f5e9d | |||
| 35b03aed17 | |||
| c51fbfaafd | |||
| 95847f030c | |||
| c0000aa207 | |||
| da7220ad8a | |||
| b52b96b95e | |||
| 79c9c8e03c | |||
| 0e1f526f55 | |||
| a4460b719d | |||
| 44698e5b44 | |||
| 077a13e39d | |||
| ed8caabf69 | |||
| c30e4cdb95 | |||
| 3eac66e47a | |||
| 2e9825808f |
224
.ci/Jenkinsfile
vendored
224
.ci/Jenkinsfile
vendored
@ -1,224 +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') {
|
|
||||||
failFast true
|
|
||||||
options { skipDefaultCheckout() }
|
|
||||||
parallel {
|
|
||||||
stage('OSS') {
|
|
||||||
agent { label 'docker && immutable' }
|
|
||||||
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")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
stage('xPack') {
|
|
||||||
agent { label 'docker && immutable' }
|
|
||||||
options { skipDefaultCheckout() }
|
|
||||||
environment {
|
|
||||||
TEST_ES_SERVER = 'https://elastic:changeme@elasticsearch:9200'
|
|
||||||
}
|
|
||||||
steps {
|
|
||||||
withGithubNotify(context: 'Integration test xPack') {
|
|
||||||
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-platinum.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")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@ -1,20 +1,20 @@
|
|||||||
-----BEGIN CERTIFICATE-----
|
-----BEGIN CERTIFICATE-----
|
||||||
MIIDSTCCAjGgAwIBAgIUIwN+0zglsexRKwE1RGHvlCcmrdwwDQYJKoZIhvcNAQEL
|
MIIDSjCCAjKgAwIBAgIVAJQLm8V2LcaCTHUcoIfO+KL63nG3MA0GCSqGSIb3DQEB
|
||||||
BQAwNDEyMDAGA1UEAxMpRWxhc3RpYyBDZXJ0aWZpY2F0ZSBUb29sIEF1dG9nZW5l
|
CwUAMDQxMjAwBgNVBAMTKUVsYXN0aWMgQ2VydGlmaWNhdGUgVG9vbCBBdXRvZ2Vu
|
||||||
cmF0ZWQgQ0EwHhcNMTkwMjEzMDcyMjQwWhcNMjIwMjEyMDcyMjQwWjA0MTIwMAYD
|
ZXJhdGVkIENBMB4XDTIwMDIyNjA1NTA1N1oXDTIzMDIyNTA1NTA1N1owNDEyMDAG
|
||||||
VQQDEylFbGFzdGljIENlcnRpZmljYXRlIFRvb2wgQXV0b2dlbmVyYXRlZCBDQTCC
|
A1UEAxMpRWxhc3RpYyBDZXJ0aWZpY2F0ZSBUb29sIEF1dG9nZW5lcmF0ZWQgQ0Ew
|
||||||
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANILs0JO0e7x29zeVx21qalK
|
ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDYyajkPvGtUOE5M1OowQfB
|
||||||
XKdX+AMlGJPH75wWO/Jq6YHtxt1wYIg762krOBXfG6JsFSOIwIv5VrzGGRGjSPt9
|
kWVrWjo1+LIxzgCeRHp0YztLtdVJ0sk2xoSrt2uZpxcPepdyOseLTjFJex1D2yCR
|
||||||
OXQyXrDDiQvsBT3rpzLNdDs7KMl2tZswwv7w9ujgud0cYnS1MOpn81rfPc73DvMg
|
AEniIqcFif4G72nDih2LlbhpUe/+/MTryj8ZTkFTzI+eMmbQi5FFMaH+kwufmdt/
|
||||||
xuhplofDx6fn3++PjVRU2FNiIVWyEoaxRjCeGPMBubKZYaYbQA6vYM4Z+ByG727B
|
5/w8YazO18SxxJUlzMqzfNUrhM8vvvVdxgboU7PWhk28wZHCMHQovomHmzclhRpF
|
||||||
AyAER3t7xmvYti/EoO2hv2HQk5zgcj/Oq3AJKhnt8LH8fnfm3TnYNM1htvXqhN05
|
N0FMktA98vHHeRjH19P7rNhifSd7hZzoH3H148HVAKoPgqnZ6vW2O2YfAWOP6ulq
|
||||||
vsvhvm2PHfnA5qLlSr/3W0aI/U/PqfsFDCgyRV097sMIaKkmavb0Ue7aQ7lgtp0C
|
cyszr57p8fS9B2wSdlWW7nVHU1JuKcYD67CxbBS23BeGFgCj4tiNrmxO8S5Yf85v
|
||||||
AwEAAaNTMFEwHQYDVR0OBBYEFDRKlCMowWR1rwxE0d1lTEQe5O71MB8GA1UdIwQY
|
AgMBAAGjUzBRMB0GA1UdDgQWBBSWAlip9eoPmnG4p4OFZeOUBlAbNDAfBgNVHSME
|
||||||
MBaAFDRKlCMowWR1rwxE0d1lTEQe5O71MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZI
|
GDAWgBSWAlip9eoPmnG4p4OFZeOUBlAbNDAPBgNVHRMBAf8EBTADAQH/MA0GCSqG
|
||||||
hvcNAQELBQADggEBAKbCJ95EBpeuvF70KEt6QU70k/SH1NRvM9YzKryV0D975Jvu
|
SIb3DQEBCwUAA4IBAQA19qqrMTWl7YyId+LR/QIHDrP4jfxmrEELrAL58q5Epc1k
|
||||||
HOSm9HgSTULeAUFZIa4oYyf3QUfVoI+2T/aQrfXA3gfrJWsHURkyNmiHOFAbYHqi
|
XxZLzOBSXoBfBrPdv+3XklWqXrZjKWfdkux0Xmjnl4qul+srrZDLJVZG3I7IrITh
|
||||||
xA6i249G2GTEjc1+le/M2N2CcDKAmurW6vSGK4upXQbPd6KmnhHREX74zkWjnOa+
|
AmQUmL9MuPiMnAcxoGZp1xpijtW8Qmd2qnambbljWfkuVaa4hcVRfrAX6TciIQ21
|
||||||
+tibbSSOCT4Tmja2DbBxAPuivU9IB1g/hIUmbYQqKffQrBJA0658tz6w63a/Q7xN
|
bS5aeLGrPqR14h30YzDp0RMmTujEa1o6ExN0+RSTkE9m89Q6WdM69az8JW7YkWqm
|
||||||
pCvvbSgiMZ6qcVIcJkBT2IooYie+ax45pQECHthgIUcQAzfmIfqlU0Qfl8rDgAmn
|
I+UCG3TcLd3TXmN1zNQkq4y2ObDK4Sxy/2p6yFPI1Fds5w/zLfBOvvPQY61vEqs8
|
||||||
0c1o6HQjKGU2aVGgSRuaaiHaSZjbPIZVS51sOoI=
|
SCCcQIe7f6NDpIRIBlty1C9IaEHj7edyHjF6rtYb
|
||||||
-----END CERTIFICATE-----
|
-----END CERTIFICATE-----
|
||||||
|
|||||||
27
.ci/certs/ca.key
Normal file
27
.ci/certs/ca.key
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
-----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-----
|
||||||
@ -1,19 +1,19 @@
|
|||||||
-----BEGIN CERTIFICATE-----
|
-----BEGIN CERTIFICATE-----
|
||||||
MIIDIjCCAgqgAwIBAgIUI4QU6jA1dYSCbdIA6oAb2TBEluowDQYJKoZIhvcNAQEL
|
MIIDIzCCAgugAwIBAgIVAMTO6uVx9dLox2t0lY4IcBKZXb5WMA0GCSqGSIb3DQEB
|
||||||
BQAwNDEyMDAGA1UEAxMpRWxhc3RpYyBDZXJ0aWZpY2F0ZSBUb29sIEF1dG9nZW5l
|
CwUAMDQxMjAwBgNVBAMTKUVsYXN0aWMgQ2VydGlmaWNhdGUgVG9vbCBBdXRvZ2Vu
|
||||||
cmF0ZWQgQ0EwHhcNMTkwMjEzMDcyMzEzWhcNMjIwMjEyMDcyMzEzWjATMREwDwYD
|
ZXJhdGVkIENBMB4XDTIwMDIyNjA1NTA1OVoXDTIzMDIyNTA1NTA1OVowEzERMA8G
|
||||||
VQQDEwhpbnN0YW5jZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJeT
|
A1UEAxMIaW5zdGFuY2UwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDK
|
||||||
yOy6EAScZxrULKjHePciiz38grivCrhFFV+dThaRCcl3DhDzb9Eny5q5iEw3WvLQ
|
YLTOikVENiN/qYupOsoXd7VYYnryyfCC/dK4FC2aozkbqjFzBdvPGAasoc4yEiH5
|
||||||
Rqmf01jncNIhaocTt66VqveXaMubbE8O0LcG6e4kpFO+JtnVF8JTARTc+ux/1uD6
|
CGeXMgJuOjk1maqetmdIsw00j4oHJviYsnGXzxxS5swhD7spcW4Uk4V4tAUzrbfT
|
||||||
hO1VG/HItM7WQrQxh4hfB2u1AX2YQtoqEtXXEC+UHWfl4QzuzXjBnKCkO/L9/6Tf
|
vW/2WW/yYCLe5phVb2chz0jL+WYb4bBmdfs/t6RtP9RqsplYAmVp3gZ6lt2YNtvE
|
||||||
yNFQWXxKnIiTs8Xm9sEhhSCBJPlLTQu+MX4vR2Uwj5XZmflDUr+ZTenl9qYxL6b3
|
k9gz0TVk3DuO1TquIClfRYUjuywS6xDSvxJ8Jl91EfDWM8QU+9F+YAtiv74xl2U3
|
||||||
SWhh/qEl4GAj1+tS7ZZOxE0237mUh3IIFYSWSaMm8K2m/BYHkLNWL5B1dMic0lsv
|
P0wwMqNvMxf9/3ak3lTQGsgO4L6cwbKpVLMMzxSVunZz/sgl19xy3qHHz1Qr2MjJ
|
||||||
osSoYrQuCef4HQMCitsCAwEAAaNNMEswHQYDVR0OBBYEFFMg4l1GLW8lYbwASY+r
|
/2c2J7vahUL4NPRkjJClAgMBAAGjTTBLMB0GA1UdDgQWBBS2Wn8E2VZv4oenY+pR
|
||||||
YeWYRzIiMB8GA1UdIwQYMBaAFDRKlCMowWR1rwxE0d1lTEQe5O71MAkGA1UdEwQC
|
O8G3zfQXhzAfBgNVHSMEGDAWgBSWAlip9eoPmnG4p4OFZeOUBlAbNDAJBgNVHRME
|
||||||
MAAwDQYJKoZIhvcNAQELBQADggEBAEQrgh1xALpumQTzsjxFRGque/vlKTgRs5Kh
|
AjAAMA0GCSqGSIb3DQEBCwUAA4IBAQAvwPvCiJJ6v9jYcyvYY8I3gP0oCwrylpRL
|
||||||
xtgapr6wjIbdq7dagee+4yNOKzS5lGVXCgwrJlHESv9qY0uumT/33vK2uduJ7NAd
|
n91UlgRSHUmuAObyOoVN5518gSV/bTU2SDrstcLkLFxHvnfpoGJoxsQEHuGxwDRI
|
||||||
fR2ZzyBnhMX+mkYhmGrGYCTUMUIwOIQYa4Evis4W+LHmCIDG03l7gLHfdIBe9VMO
|
nhYNd62EKLerehNM/F9ILKmvTh8f6QPCzjUuExTXv+63l2Sr6dBS7FHsGs6UKUYO
|
||||||
pDZum8f6ng0MM49s8/rXODNYKw8kFyUhnfChqMi/2yggb1uUIfKlJJIchkgYjE13
|
llM/y9wMZ1LCuZuBg9RhtgpFXRSgDM9Z7Begu0d/BPX9od/qAeZg9Arz4rwUiCN4
|
||||||
zuC+fjo029Pq1jeMIdxugLf/7I/8NiW1Yj9aCXevUXG1qzHFEuKAinBXYOZO/vWS
|
IJOMEBEPi5q1tgeS0Fb1Grpqd0Uz5tZKtEHNKzLG+zSMmkneL62Nk2HsmEFZKwzg
|
||||||
LaEqOhwrzNynwgGpYAr7Rfgv4AflltYIIav4PZT03P7fbyAAf8s=
|
u2pU42UaUE596G6o78s1aLn9ICcElPHTjiuZNSiyuu9IzvFDjGQw
|
||||||
-----END CERTIFICATE-----
|
-----END CERTIFICATE-----
|
||||||
|
|||||||
@ -1,27 +1,27 @@
|
|||||||
-----BEGIN RSA PRIVATE KEY-----
|
-----BEGIN RSA PRIVATE KEY-----
|
||||||
MIIEpQIBAAKCAQEAl5PI7LoQBJxnGtQsqMd49yKLPfyCuK8KuEUVX51OFpEJyXcO
|
MIIEogIBAAKCAQEAymC0zopFRDYjf6mLqTrKF3e1WGJ68snwgv3SuBQtmqM5G6ox
|
||||||
EPNv0SfLmrmITDda8tBGqZ/TWOdw0iFqhxO3rpWq95doy5tsTw7Qtwbp7iSkU74m
|
cwXbzxgGrKHOMhIh+QhnlzICbjo5NZmqnrZnSLMNNI+KByb4mLJxl88cUubMIQ+7
|
||||||
2dUXwlMBFNz67H/W4PqE7VUb8ci0ztZCtDGHiF8Ha7UBfZhC2ioS1dcQL5QdZ+Xh
|
KXFuFJOFeLQFM623071v9llv8mAi3uaYVW9nIc9Iy/lmG+GwZnX7P7ekbT/UarKZ
|
||||||
DO7NeMGcoKQ78v3/pN/I0VBZfEqciJOzxeb2wSGFIIEk+UtNC74xfi9HZTCPldmZ
|
WAJlad4GepbdmDbbxJPYM9E1ZNw7jtU6riApX0WFI7ssEusQ0r8SfCZfdRHw1jPE
|
||||||
+UNSv5lN6eX2pjEvpvdJaGH+oSXgYCPX61Ltlk7ETTbfuZSHcggVhJZJoybwrab8
|
FPvRfmALYr++MZdlNz9MMDKjbzMX/f92pN5U0BrIDuC+nMGyqVSzDM8Ulbp2c/7I
|
||||||
FgeQs1YvkHV0yJzSWy+ixKhitC4J5/gdAwKK2wIDAQABAoIBAQCRFTJna/xy/WUu
|
Jdfcct6hx89UK9jIyf9nNie72oVC+DT0ZIyQpQIDAQABAoIBADAh7f7NjgnaInlD
|
||||||
59FLR4qAOj8++JgCwACpue4oU7/vl6nffSYokWoAr2+RzG4qTX2vFi3cpA8+dGCn
|
ds8KB3SraPsbeQhzlPtiqRJU4j/MIFH/GYG03AGWQkget67a9y+GmzSvlTpoKKEh
|
||||||
sLZvTi8tWzKGxBTZdg2oakzaMzLr74SeZ052iCGyrZJGbvF6Ny7srr1XEXSq6+os
|
6h2TXl9BDpv4o6ht0WRn1HJ5tM/Wyqf2WNpTew3zxCPgFPikkXsPrChYPzLTQJfp
|
||||||
ZCb6pMHOhO7saBdiKMAsY8MdjTl/33AduuE6ztqv+L92xTr2g4QlbT1KvWlEgppU
|
GkP/mfTFmxfAOlPZSp4j41zVLYs53eDkAegFPVfKSr1XNNJ3QODLPcIBfxBYsiC9
|
||||||
k4Gy7zdETkPBTSH/17ZwyGJoJICIAhbL4IpmOM4dPIg8nFkVPPpy6p0z4uGjtgnK
|
oU+jRW8xYuj31cEl5k5UqrChJ1rm3mt6cguqXKbISuoSvi13gXI6DccqhuLAU+Kr
|
||||||
nreZ2EKMzCafBaHn7A77gpi0OrQdl6pe0fsGqv/323YjCJPbwwl5TsoNq44DzwiX
|
ib2XYrRP+pWocZo/pM9WUVoNGtFxfY88sAQtvG6gDKo2AURtFyq84Ow0h9mdixV/
|
||||||
3M7XiVJxAoGBAOCne56vdN4uZmCgLVGT2JSUNVPOu4bfjrxWH6cslzrPT2Zhp3lO
|
gRIDPcECgYEA5nEqE3OKuG9WuUFGXvjtn4C0F6JjflYWh7AbX51S4F6LKrW6/XHL
|
||||||
M4axZ3gmcervV252YEZXntXDHHCSfrECllRN1WFD63XmyQ/CkhuvZkkeRHfzL1TE
|
Rg4BtF+XReT7OQ6llsV8kZeUxsUckkgDLzSaA8lysNDV5KkhAWHfRqH//QKFbqZi
|
||||||
EdqHOTqs4sRETZ7+RITFC81DZQkWWOKeyXMjyPBqd7RnThQHijB1c8Y5AoGBAKy6
|
JL9t3x63Qt81US8s2hQk3khPYTRM8ZB3xHiXvZYSGC/0x/DxfEO3QJECgYEA4NK5
|
||||||
CVKBx+zz5crVD0tz4UhOmz1wRNN0CL0l+FXRuFSgbzMIvwpfiqe25crgeLHe2M2/
|
sxtrat8sFz6SK9nWEKimPjDVzxJ0hxdX4tRq/JdOO5RncawVqt6TNP9gTuxfBvhW
|
||||||
TogdWbjZ2nUZQTzoRsSkQ6cKHpj+G/gWurp/UcHHXFVwgLSPF7c3KHDtiYq7Vqw0
|
MhJYEsQj8iUoL1dxo9d1eP8HEANNV0iX5OBvJNmgBp+2OyRSyr+PA55+wAxYuAE7
|
||||||
bvmhM03LI6+ZIPRV7hLBr7WP7UmpAiREMF7tTnmzAoGBAIkx3w3WywFQxtblmyeB
|
QKaitOjW57fpArNRt2hQyiSzTuqUFRWTWJHCWNUCgYAEurPTXF6vdFGCUc2g61jt
|
||||||
qbd7F2IaE23XoxyjX+tBEQ4qQqwcoSE0v8TXHIBEwjceeX+NLVhn9ClJYVniLRq+
|
GhYYGhQSpq+lrz6Qksj9o9MVWE9zHh++21C7o+6V16I0RJGva3QoBMVf4vG4KtQt
|
||||||
oL3VVqVyzB4RleJZCc98e3PV1yyFx/b1Uo3pHOsXX9lKeTjKwV9v0rhFGzPEgP3M
|
5tV2WG8LI+4P2Ey+G4UajP6U8bVNVQrUmD0oBBhcvfn5JY+1Fg6/pRpD82/U0VMz
|
||||||
yOvXA8TG0FnM6OLUg/D6GX0JAoGAMuHS4TVOGeV3ahr9mHKYiN5vKNgrzka+VEod
|
7AmpMWhDqNBMPiymkTk0kQKBgCuWb05cSI0ly4SOKwS5bRk5uVFhYnKNH255hh6C
|
||||||
L9rJ/FQOrfADpyCiDen5I5ygsXU+VM3oanyK88NpcVlxOGoMft0M+OYoQVWKE7lO
|
FGP4acB/WzbcqC7CjEPAJ0nl5d6SExQOHmk1AcsWjR3wlCWxxiK5PwNJwJrlhh1n
|
||||||
ZKYhBX6fGqQ7pfUJPXXIOgwfmni5fZ0sm+j63g3bg10OsiumKGxaQJgXhL1+3gQg
|
reS1FKN0H36D4lFQpkeLWQOe4Sx7gKNeKzlr0w6Fx3Uwku0+Gju2tdTdAey8jB6l
|
||||||
Y7ZwibUCgYEAlZoFFvkMLjpOSaHk1z5ZZnt19X0QUIultBwkumSqMPm+Ks7+uDrx
|
08opAoGAEe1AuR/OFp2xw6V8TH9UHkkpGxy+OrXI6PX6tgk29PgB+uiMu4RwbjVz
|
||||||
thGUCoz4ecr/ci4bIUY7mB+zfAbqnBOMxreJqCRbAIuRypo1IlWkTp8DywoDOfMW
|
1di1KKq2XecAilVbnyqY+edADxYGbSnci9x5wQRIebfMi3VXKtV8NQBv2as6qwtW
|
||||||
NfzjVmzJ7EJu44nGmVAi1jw4Pbseivvi1ujMCoPgaE8I1uSh144bwN8=
|
JDcQUWotOHjpdvmfJWWkcBhbAKrgX8ukww00ZI/lC3/rmkGnBBg=
|
||||||
-----END RSA PRIVATE KEY-----
|
-----END RSA PRIVATE KEY-----
|
||||||
|
|||||||
20
.ci/certs/testnode_san.crt
Normal file
20
.ci/certs/testnode_san.crt
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
-----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-----
|
||||||
27
.ci/certs/testnode_san.key
Normal file
27
.ci/certs/testnode_san.key
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
-----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-----
|
||||||
@ -1,94 +0,0 @@
|
|||||||
version: '3.2'
|
|
||||||
services:
|
|
||||||
client-oss:
|
|
||||||
image: docker.elastic.co/clients/elasticsearch-js:${NODE_JS_VERSION:-10}
|
|
||||||
build:
|
|
||||||
context: ..
|
|
||||||
dockerfile: .ci/Dockerfile
|
|
||||||
args:
|
|
||||||
NODE_JS_VERSION: ${NODE_JS_VERSION:-10}
|
|
||||||
CODECOV_TOKEN: ${CODECOV_TOKEN}
|
|
||||||
environment:
|
|
||||||
- "TEST_ES_SERVER=http://elasticsearch-oss: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-oss
|
|
||||||
depends_on:
|
|
||||||
- elasticsearch-oss
|
|
||||||
|
|
||||||
elasticsearch-oss:
|
|
||||||
image: docker.elastic.co/elasticsearch/elasticsearch:${ELASTICSEARCH_VERSION:-8.0.0-SNAPSHOT}
|
|
||||||
volumes:
|
|
||||||
- esvol:/tmp
|
|
||||||
networks:
|
|
||||||
- esnet-oss
|
|
||||||
environment:
|
|
||||||
- path.repo=/tmp
|
|
||||||
- "repositories.url.allowed_urls=http://snapshot.*"
|
|
||||||
- node.attr.testattr=test
|
|
||||||
- bootstrap.memory_lock=false
|
|
||||||
- "discovery.type=single-node"
|
|
||||||
- "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:-8.0.0-SNAPSHOT}
|
|
||||||
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:
|
|
||||||
# we need two networks otherwise the two ES instances will join each other
|
|
||||||
esnet-oss:
|
|
||||||
esnet-platinum:
|
|
||||||
volumes:
|
|
||||||
esvol:
|
|
||||||
67
.ci/functions/cleanup.sh
Normal file
67
.ci/functions/cleanup.sh
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
#!/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"
|
||||||
|
};
|
||||||
60
.ci/functions/imports.sh
Normal file
60
.ci/functions/imports.sh
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
#!/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"
|
||||||
|
|
||||||
36
.ci/functions/wait-for-container.sh
Normal file
36
.ci/functions/wait-for-container.sh
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
#!/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
|
||||||
|
}
|
||||||
74
.ci/jobs/defaults.yml
Normal file
74
.ci/jobs/defaults.yml
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
|
||||||
|
|
||||||
|
##### GLOBAL METADATA
|
||||||
|
|
||||||
|
- meta:
|
||||||
|
cluster: clients-ci
|
||||||
|
|
||||||
|
##### JOB DEFAULTS
|
||||||
|
|
||||||
|
- job:
|
||||||
|
project-type: matrix
|
||||||
|
logrotate:
|
||||||
|
daysToKeep: 30
|
||||||
|
numToKeep: 100
|
||||||
|
properties:
|
||||||
|
- github:
|
||||||
|
url: https://github.com/elastic/elasticsearch-js/
|
||||||
|
- inject:
|
||||||
|
properties-content: HOME=$JENKINS_HOME
|
||||||
|
concurrent: true
|
||||||
|
node: flyweight
|
||||||
|
scm:
|
||||||
|
- git:
|
||||||
|
name: origin
|
||||||
|
credentials-id: f6c7695a-671e-4f4f-a331-acdce44ff9ba
|
||||||
|
reference-repo: /var/lib/jenkins/.git-references/elasticsearch-js.git
|
||||||
|
branches:
|
||||||
|
- ${branch_specifier}
|
||||||
|
url: https://github.com/elastic/elasticsearch-js.git
|
||||||
|
wipe-workspace: 'True'
|
||||||
|
triggers:
|
||||||
|
- github
|
||||||
|
vault:
|
||||||
|
# vault read auth/approle/role/clients-ci/role-id
|
||||||
|
role_id: ddbd0d44-0e51-105b-177a-c8fdfd445126
|
||||||
|
axes:
|
||||||
|
- axis:
|
||||||
|
type: slave
|
||||||
|
name: label
|
||||||
|
values:
|
||||||
|
- linux
|
||||||
|
- axis:
|
||||||
|
type: yaml
|
||||||
|
filename: .ci/test-matrix.yml
|
||||||
|
name: STACK_VERSION
|
||||||
|
- axis:
|
||||||
|
type: yaml
|
||||||
|
filename: .ci/test-matrix.yml
|
||||||
|
name: NODE_JS_VERSION
|
||||||
|
- axis:
|
||||||
|
type: yaml
|
||||||
|
filename: .ci/test-matrix.yml
|
||||||
|
name: TEST_SUITE
|
||||||
|
yaml-strategy:
|
||||||
|
exclude-key: exclude
|
||||||
|
filename: .ci/test-matrix.yml
|
||||||
|
wrappers:
|
||||||
|
- ansicolor
|
||||||
|
- timeout:
|
||||||
|
type: absolute
|
||||||
|
timeout: 120
|
||||||
|
fail: true
|
||||||
|
- timestamps
|
||||||
|
- workspace-cleanup
|
||||||
|
builders:
|
||||||
|
- shell: |-
|
||||||
|
#!/usr/local/bin/runbld
|
||||||
|
.ci/run-tests
|
||||||
|
publishers:
|
||||||
|
- email:
|
||||||
|
recipients: infra-root+build@elastic.co
|
||||||
|
# - junit:
|
||||||
|
# results: "*-junit.xml"
|
||||||
|
# allow-empty-results: true
|
||||||
14
.ci/jobs/elastic+elasticsearch-js+5.x.yml
Normal file
14
.ci/jobs/elastic+elasticsearch-js+5.x.yml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
- job:
|
||||||
|
name: elastic+elasticsearch-js+5.x
|
||||||
|
display-name: 'elastic / elasticsearch-js # 5.x'
|
||||||
|
description: Testing the elasticsearch-js 5.x branch.
|
||||||
|
parameters:
|
||||||
|
- string:
|
||||||
|
name: branch_specifier
|
||||||
|
default: refs/heads/5.x
|
||||||
|
description: the Git branch specifier to build (<branchName>, <tagName>,
|
||||||
|
<commitId>, etc.)
|
||||||
|
triggers:
|
||||||
|
- github
|
||||||
|
- timed: '@weekly'
|
||||||
14
.ci/jobs/elastic+elasticsearch-js+6.x.yml
Normal file
14
.ci/jobs/elastic+elasticsearch-js+6.x.yml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
- job:
|
||||||
|
name: elastic+elasticsearch-js+6.x
|
||||||
|
display-name: 'elastic / elasticsearch-js # 6.x'
|
||||||
|
description: Testing the elasticsearch-js 6.x branch.
|
||||||
|
parameters:
|
||||||
|
- string:
|
||||||
|
name: branch_specifier
|
||||||
|
default: refs/heads/6.x
|
||||||
|
description: the Git branch specifier to build (<branchName>, <tagName>,
|
||||||
|
<commitId>, etc.)
|
||||||
|
triggers:
|
||||||
|
- github
|
||||||
|
- timed: '@weekly'
|
||||||
14
.ci/jobs/elastic+elasticsearch-js+7.x.yml
Normal file
14
.ci/jobs/elastic+elasticsearch-js+7.x.yml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
- job:
|
||||||
|
name: elastic+elasticsearch-js+7.x
|
||||||
|
display-name: 'elastic / elasticsearch-js # 7.x'
|
||||||
|
description: Testing the elasticsearch-js 7.x branch.
|
||||||
|
parameters:
|
||||||
|
- string:
|
||||||
|
name: branch_specifier
|
||||||
|
default: refs/heads/7.x
|
||||||
|
description: the Git branch specifier to build (<branchName>, <tagName>,
|
||||||
|
<commitId>, etc.)
|
||||||
|
triggers:
|
||||||
|
- github
|
||||||
|
- timed: '@weekly'
|
||||||
14
.ci/jobs/elastic+elasticsearch-js+master.yml
Normal file
14
.ci/jobs/elastic+elasticsearch-js+master.yml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
---
|
||||||
|
- job:
|
||||||
|
name: elastic+elasticsearch-js+master
|
||||||
|
display-name: 'elastic / elasticsearch-js # master'
|
||||||
|
description: Testing the elasticsearch-js master branch.
|
||||||
|
parameters:
|
||||||
|
- string:
|
||||||
|
name: branch_specifier
|
||||||
|
default: refs/heads/master
|
||||||
|
description: the Git branch specifier to build (<branchName>, <tagName>,
|
||||||
|
<commitId>, etc.)
|
||||||
|
triggers:
|
||||||
|
- github
|
||||||
|
- timed: '@daily'
|
||||||
@ -1,54 +0,0 @@
|
|||||||
---
|
|
||||||
- job:
|
|
||||||
name: elastic+elasticsearch-js+jenkins-pipelines
|
|
||||||
display-name: 'elastic / elasticsearch-js # jenkins-pipelines'
|
|
||||||
description: Testing the elasticsearch-js jenkins-pipelines branch.
|
|
||||||
project-type: multibranch
|
|
||||||
logrotate:
|
|
||||||
daysToKeep: 30
|
|
||||||
numToKeep: 100
|
|
||||||
number-to-keep: '5'
|
|
||||||
days-to-keep: '1'
|
|
||||||
concurrent: true
|
|
||||||
node: linux
|
|
||||||
script-path: Jenkinsfile
|
|
||||||
scm:
|
|
||||||
- github:
|
|
||||||
branch-discovery: all
|
|
||||||
discover-pr-forks-strategy: merge-current
|
|
||||||
discover-pr-forks-trust: permission
|
|
||||||
discover-pr-origin: merge-current
|
|
||||||
discover-tags: true
|
|
||||||
repo: elasticsearch-js
|
|
||||||
repo-owner: elastic
|
|
||||||
credentials-id: 2a9602aa-ab9f-4e52-baf3-b71ca88469c7-UserAndToken
|
|
||||||
ssh-checkout:
|
|
||||||
credentials: f6c7695a-671e-4f4f-a331-acdce44ff9ba
|
|
||||||
build-strategies:
|
|
||||||
- tags:
|
|
||||||
ignore-tags-older-than: -1
|
|
||||||
ignore-tags-newer-than: -1
|
|
||||||
- regular-branches: true
|
|
||||||
- change-request:
|
|
||||||
ignore-target-only-changes: false
|
|
||||||
clean:
|
|
||||||
after: true
|
|
||||||
before: true
|
|
||||||
prune: true
|
|
||||||
shallow-clone: true
|
|
||||||
depth: 3
|
|
||||||
do-not-fetch-tags: true
|
|
||||||
submodule:
|
|
||||||
disable: false
|
|
||||||
recursive: true
|
|
||||||
parent-credentials: true
|
|
||||||
timeout: 100
|
|
||||||
timeout: '15'
|
|
||||||
use-author: true
|
|
||||||
wipe-workspace: 'True'
|
|
||||||
periodic-folder-trigger: 1d
|
|
||||||
prune-dead-branches: true
|
|
||||||
publishers:
|
|
||||||
- email:
|
|
||||||
recipients: infra-root+build@elastic.co
|
|
||||||
|
|
||||||
19
.ci/jobs/elastic+elasticsearch-js+pull-request.yml
Normal file
19
.ci/jobs/elastic+elasticsearch-js+pull-request.yml
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
---
|
||||||
|
- job:
|
||||||
|
name: elastic+elasticsearch-js+pull-request
|
||||||
|
display-name: 'elastic / elasticsearch-js # pull-request'
|
||||||
|
description: Testing of elasticsearch-js pull requests.
|
||||||
|
scm:
|
||||||
|
- git:
|
||||||
|
branches:
|
||||||
|
- ${ghprbActualCommit}
|
||||||
|
refspec: +refs/pull/*:refs/remotes/origin/pr/*
|
||||||
|
triggers:
|
||||||
|
- github-pull-request:
|
||||||
|
org-list:
|
||||||
|
- elastic
|
||||||
|
allow-whitelist-orgs-as-admins: true
|
||||||
|
github-hooks: true
|
||||||
|
status-context: clients-ci
|
||||||
|
cancel-builds-on-update: true
|
||||||
|
publishers: []
|
||||||
@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
source /usr/local/bin/bash_standard_lib.sh
|
source /usr/local/bin/bash_standard_lib.sh
|
||||||
|
|
||||||
DOCKER_IMAGES="node:12-alpine
|
DOCKER_IMAGES="node:14-alpine
|
||||||
|
node:12-alpine
|
||||||
node:10-alpine
|
node:10-alpine
|
||||||
node:8-alpine
|
node:8-alpine
|
||||||
"
|
"
|
||||||
|
|||||||
115
.ci/run-elasticsearch.sh
Executable file
115
.ci/run-elasticsearch.sh
Executable file
@ -0,0 +1,115 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Launch one or more Elasticsearch nodes via the Docker image,
|
||||||
|
# to form a cluster suitable for running the REST API tests.
|
||||||
|
#
|
||||||
|
# Export the STACK_VERSION variable, eg. '8.0.0-SNAPSHOT'.
|
||||||
|
# Export the TEST_SUITE variable, eg. 'oss' or 'xpack' defaults to 'oss'.
|
||||||
|
# Export the NUMBER_OF_NODES variable to start more than 1 node
|
||||||
|
|
||||||
|
# Version 1.1.0
|
||||||
|
# - Initial version of the run-elasticsearch.sh script
|
||||||
|
# - Deleting the volume should not dependent on the container still running
|
||||||
|
# - Fixed `ES_JAVA_OPTS` config
|
||||||
|
# - Moved to STACK_VERSION and TEST_VERSION
|
||||||
|
# - Refactored into functions and imports
|
||||||
|
# - Support NUMBER_OF_NODES
|
||||||
|
|
||||||
|
script_path=$(dirname $(realpath -s $0))
|
||||||
|
source $script_path/functions/imports.sh
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
echo -e "\033[34;1mINFO:\033[0m Take down node if called twice with the same arguments (DETACH=true) or on seperate terminals \033[0m"
|
||||||
|
cleanup_node $es_node_name
|
||||||
|
|
||||||
|
master_node_name=${es_node_name}
|
||||||
|
cluster_name=${moniker}${suffix}
|
||||||
|
|
||||||
|
declare -a volumes
|
||||||
|
environment=($(cat <<-END
|
||||||
|
--env node.name=$es_node_name
|
||||||
|
--env cluster.name=$cluster_name
|
||||||
|
--env cluster.initial_master_nodes=$master_node_name
|
||||||
|
--env discovery.seed_hosts=$master_node_name
|
||||||
|
--env cluster.routing.allocation.disk.threshold_enabled=false
|
||||||
|
--env bootstrap.memory_lock=true
|
||||||
|
--env node.attr.testattr=test
|
||||||
|
--env path.repo=/tmp
|
||||||
|
--env repositories.url.allowed_urls=http://snapshot.test*
|
||||||
|
END
|
||||||
|
))
|
||||||
|
if [[ "$TEST_SUITE" == "xpack" ]]; then
|
||||||
|
environment+=($(cat <<-END
|
||||||
|
--env ELASTIC_PASSWORD=$elastic_password
|
||||||
|
--env xpack.license.self_generated.type=trial
|
||||||
|
--env xpack.security.enabled=true
|
||||||
|
--env xpack.security.http.ssl.enabled=true
|
||||||
|
--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
|
||||||
|
END
|
||||||
|
))
|
||||||
|
volumes+=($(cat <<-END
|
||||||
|
--volume $ssl_cert:/usr/share/elasticsearch/config/certs/testnode.crt
|
||||||
|
--volume $ssl_key:/usr/share/elasticsearch/config/certs/testnode.key
|
||||||
|
--volume $ssl_ca:/usr/share/elasticsearch/config/certs/ca.crt
|
||||||
|
END
|
||||||
|
))
|
||||||
|
fi
|
||||||
|
|
||||||
|
cert_validation_flags=""
|
||||||
|
if [[ "$TEST_SUITE" == "xpack" ]]; then
|
||||||
|
cert_validation_flags="--insecure --cacert /usr/share/elasticsearch/config/certs/ca.crt --resolve ${es_node_name}:443:127.0.0.1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
NUMBER_OF_NODES=${NUMBER_OF_NODES-1}
|
||||||
|
http_port=9200
|
||||||
|
for (( i=0; i<$NUMBER_OF_NODES; i++, http_port++ )); do
|
||||||
|
node_name=${es_node_name}$i
|
||||||
|
node_url=${external_elasticsearch_url/9200/${http_port}}$i
|
||||||
|
if [[ "$i" == "0" ]]; then node_name=$es_node_name; fi
|
||||||
|
environment+=($(cat <<-END
|
||||||
|
--env node.name=$node_name
|
||||||
|
END
|
||||||
|
))
|
||||||
|
echo "$i: $http_port $node_url "
|
||||||
|
volume_name=${node_name}-${suffix}-data
|
||||||
|
volumes+=($(cat <<-END
|
||||||
|
--volume $volume_name:/usr/share/elasticsearch/data${i}
|
||||||
|
END
|
||||||
|
))
|
||||||
|
|
||||||
|
# make sure we detach for all but the last node if DETACH=false (default) so all nodes are started
|
||||||
|
local_detach="true"
|
||||||
|
if [[ "$i" == "$((NUMBER_OF_NODES-1))" ]]; then local_detach=$DETACH; fi
|
||||||
|
echo -e "\033[34;1mINFO:\033[0m Starting container $node_name \033[0m"
|
||||||
|
set -x
|
||||||
|
docker run \
|
||||||
|
--name "$node_name" \
|
||||||
|
--network "$network_name" \
|
||||||
|
--env "ES_JAVA_OPTS=-Xms1g -Xmx1g" \
|
||||||
|
"${environment[@]}" \
|
||||||
|
"${volumes[@]}" \
|
||||||
|
--publish "$http_port":9200 \
|
||||||
|
--ulimit nofile=65536:65536 \
|
||||||
|
--ulimit memlock=-1:-1 \
|
||||||
|
--detach="$local_detach" \
|
||||||
|
--health-cmd="curl $cert_validation_flags --fail $elasticsearch_url/_cluster/health || exit 1" \
|
||||||
|
--health-interval=2s \
|
||||||
|
--health-retries=20 \
|
||||||
|
--health-timeout=2s \
|
||||||
|
--rm \
|
||||||
|
docker.elastic.co/elasticsearch/"$elasticsearch_container";
|
||||||
|
|
||||||
|
set +x
|
||||||
|
if wait_for_container "$es_node_name" "$network_name"; then
|
||||||
|
echo -e "\033[32;1mSUCCESS:\033[0m Running on: $node_url\033[0m"
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
||||||
|
|
||||||
46
.ci/run-repository.sh
Executable file
46
.ci/run-repository.sh
Executable file
@ -0,0 +1,46 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# parameters are available to this script
|
||||||
|
|
||||||
|
# STACK_VERSION -- version e.g Major.Minor.Patch(-Prelease)
|
||||||
|
# TEST_SUITE -- which test suite to run: oss or xpack
|
||||||
|
# ELASTICSEARCH_URL -- The url at which elasticsearch is reachable, a default is composed based on STACK_VERSION and TEST_SUITE
|
||||||
|
# NODE_JS_VERSION -- node js version (defined in test-matrix.yml, a default is hardcoded here)
|
||||||
|
script_path=$(dirname $(realpath -s $0))
|
||||||
|
source $script_path/functions/imports.sh
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
NODE_JS_VERSION=${NODE_JS_VERSION-12}
|
||||||
|
ELASTICSEARCH_URL=${ELASTICSEARCH_URL-"$elasticsearch_url"}
|
||||||
|
elasticsearch_container=${elasticsearch_container-}
|
||||||
|
|
||||||
|
echo -e "\033[34;1mINFO:\033[0m VERSION ${STACK_VERSION}\033[0m"
|
||||||
|
echo -e "\033[34;1mINFO:\033[0m TEST_SUITE ${TEST_SUITE}\033[0m"
|
||||||
|
echo -e "\033[34;1mINFO:\033[0m URL ${ELASTICSEARCH_URL}\033[0m"
|
||||||
|
echo -e "\033[34;1mINFO:\033[0m CONTAINER ${elasticsearch_container}\033[0m"
|
||||||
|
echo -e "\033[34;1mINFO:\033[0m NODE_JS_VERSION ${NODE_JS_VERSION}\033[0m"
|
||||||
|
|
||||||
|
echo -e "\033[1m>>>>> Build docker container >>>>>>>>>>>>>>>>>>>>>>>>>>>>>\033[0m"
|
||||||
|
|
||||||
|
docker build \
|
||||||
|
--file .ci/Dockerfile \
|
||||||
|
--tag elastic/elasticsearch-js \
|
||||||
|
--build-arg NODE_JS_VERSION=${NODE_JS_VERSION} \
|
||||||
|
.
|
||||||
|
|
||||||
|
echo -e "\033[1m>>>>> NPM run test:integration >>>>>>>>>>>>>>>>>>>>>>>>>>>>>\033[0m"
|
||||||
|
|
||||||
|
repo=$(realpath $(dirname $(realpath -s $0))/../)
|
||||||
|
run_script_args=""
|
||||||
|
if [[ "$NODE_JS_VERSION" == "8" ]]; then
|
||||||
|
run_script_args="--harmony-async-iteration"
|
||||||
|
fi
|
||||||
|
|
||||||
|
docker run \
|
||||||
|
--network=${network_name} \
|
||||||
|
--env "TEST_ES_SERVER=${ELASTICSEARCH_URL}" \
|
||||||
|
--volume $repo:/usr/src/app \
|
||||||
|
--volume /usr/src/app/node_modules \
|
||||||
|
--name elasticsearch-js \
|
||||||
|
--rm \
|
||||||
|
elastic/elasticsearch-js \
|
||||||
|
node ${run_script_args} test/integration/index.js
|
||||||
123
.ci/run-tests
123
.ci/run-tests
@ -1,110 +1,23 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
#
|
|
||||||
# Runs the client tests via Docker with the expectation that the required
|
|
||||||
# environment variables have already been exported before running this script.
|
|
||||||
#
|
|
||||||
# The required environment variables include:
|
|
||||||
#
|
|
||||||
# - $ELASTICSEARCH_VERSION
|
|
||||||
# - $NODE_JS_VERSION
|
|
||||||
#
|
#
|
||||||
|
# Version 1.1
|
||||||
|
# - Moved to .ci folder and seperated out `run-repository.sh`
|
||||||
|
# - Add `$RUNSCRIPTS` env var for running Elasticsearch dependent products
|
||||||
|
script_path=$(dirname $(realpath -s $0))
|
||||||
|
source $script_path/functions/imports.sh
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
set -eo pipefail
|
echo -e "\033[1m>>>>> Start [$STACK_VERSION container] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>\033[0m"
|
||||||
|
DETACH=true bash .ci/run-elasticsearch.sh
|
||||||
|
|
||||||
set +x
|
if [[ -n "$RUNSCRIPTS" ]]; then
|
||||||
export VAULT_TOKEN=$(vault write -field=token auth/approle/login role_id="$VAULT_ROLE_ID" secret_id="$VAULT_SECRET_ID")
|
for RUNSCRIPT in ${RUNSCRIPTS//,/ } ; do
|
||||||
export CODECOV_TOKEN=$(vault read -field=token secret/clients-ci/elasticsearch-js/codecov)
|
echo -e "\033[1m>>>>> Running run-$RUNSCRIPT.sh >>>>>>>>>>>>>>>>>>>>>>>>>>>>>\033[0m"
|
||||||
unset VAULT_ROLE_ID VAULT_SECRET_ID VAULT_TOKEN
|
CONTAINER_NAME=${RUNSCRIPT} \
|
||||||
set -x
|
DETACH=true \
|
||||||
|
bash .ci/run-${RUNSCRIPT}.sh
|
||||||
function cleanup {
|
done
|
||||||
docker container rm --force --volumes elasticsearch-oss > /dev/null 2>&1 || true
|
fi
|
||||||
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 \
|
|
||||||
--file .ci/Dockerfile \
|
|
||||||
--tag elastic/elasticsearch-js \
|
|
||||||
--build-arg NODE_JS_VERSION=${NODE_JS_VERSION} \
|
|
||||||
.
|
|
||||||
|
|
||||||
# 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)
|
|
||||||
testnodecrt="/.ci/certs/testnode.crt"
|
|
||||||
testnodekey="/.ci/certs/testnode.key"
|
|
||||||
cacrt="/.ci/certs/ca.crt"
|
|
||||||
|
|
||||||
docker run \
|
|
||||||
--rm \
|
|
||||||
--env "node.attr.testattr=test" \
|
|
||||||
--env "path.repo=/tmp" \
|
|
||||||
--env "repositories.url.allowed_urls=http://snapshot.*" \
|
|
||||||
--env "discovery.type=single-node" \
|
|
||||||
--env "ES_JAVA_OPTS=-Xms1g -Xmx1g" \
|
|
||||||
--env "ELASTIC_PASSWORD=changeme" \
|
|
||||||
--env "xpack.security.enabled=true" \
|
|
||||||
--env "xpack.license.self_generated.type=trial" \
|
|
||||||
--env "xpack.security.http.ssl.enabled=true" \
|
|
||||||
--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 \
|
|
||||||
docker.elastic.co/elasticsearch/elasticsearch:${ELASTICSEARCH_VERSION}
|
|
||||||
|
|
||||||
# run the client unit and oss integration test
|
|
||||||
docker run \
|
|
||||||
--network=esnet-oss \
|
|
||||||
--env "TEST_ES_SERVER=http://elasticsearch-oss:9200" \
|
|
||||||
--env "CODECOV_TOKEN" \
|
|
||||||
--volume $repo:/usr/src/app \
|
|
||||||
--volume /usr/src/app/node_modules \
|
|
||||||
--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 \
|
|
||||||
elastic/elasticsearch-js \
|
|
||||||
npm run test:integration
|
|
||||||
|
|
||||||
|
echo -e "\033[1m>>>>> Repository specific tests >>>>>>>>>>>>>>>>>>>>>>>>>>>>>\033[0m"
|
||||||
|
bash .ci/run-repository.sh
|
||||||
|
|||||||
@ -1,10 +1,15 @@
|
|||||||
---
|
---
|
||||||
ELASTICSEARCH_VERSION:
|
STACK_VERSION:
|
||||||
- 7.3.0
|
- 7.7.0-SNAPSHOT
|
||||||
|
|
||||||
NODE_JS_VERSION:
|
NODE_JS_VERSION:
|
||||||
|
- 14
|
||||||
- 12
|
- 12
|
||||||
- 10
|
- 10
|
||||||
- 8
|
- 8
|
||||||
|
|
||||||
|
TEST_SUITE:
|
||||||
|
- oss
|
||||||
|
- xpack
|
||||||
|
|
||||||
exclude: ~
|
exclude: ~
|
||||||
|
|||||||
16
.github/workflows/backport.yml
vendored
Normal file
16
.github/workflows/backport.yml
vendored
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
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 }}
|
||||||
156
.github/workflows/nodejs.yml
vendored
Normal file
156
.github/workflows/nodejs.yml
vendored
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
name: Node CI
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
test:
|
||||||
|
name: Test
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
node-version: [10.x, 12.x, 14.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:node8
|
||||||
|
|
||||||
|
helpers-integration-test:
|
||||||
|
name: Helpers integration test
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
node-version: [10.x, 12.x, 14.x]
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Configure sysctl limits
|
||||||
|
run: |
|
||||||
|
sudo swapoff -a
|
||||||
|
sudo sysctl -w vm.swappiness=1
|
||||||
|
sudo sysctl -w fs.file-max=262144
|
||||||
|
sudo sysctl -w vm.max_map_count=262144
|
||||||
|
|
||||||
|
- name: Runs Elasticsearch
|
||||||
|
uses: elastic/elastic-github-actions/elasticsearch@master
|
||||||
|
with:
|
||||||
|
stack-version: 7.7.0-SNAPSHOT
|
||||||
|
|
||||||
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
|
uses: actions/setup-node@v1
|
||||||
|
with:
|
||||||
|
node-version: ${{ matrix.node-version }}
|
||||||
|
|
||||||
|
- name: Install
|
||||||
|
run: |
|
||||||
|
npm install
|
||||||
|
|
||||||
|
- name: Integration test
|
||||||
|
run: |
|
||||||
|
npm run test:integration:helpers
|
||||||
|
|
||||||
|
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
|
||||||
3
.gitignore
vendored
3
.gitignore
vendored
@ -45,6 +45,9 @@ jspm_packages
|
|||||||
# vim swap files
|
# vim swap files
|
||||||
*.swp
|
*.swp
|
||||||
|
|
||||||
|
#Jetbrains editor folder
|
||||||
|
.idea
|
||||||
|
|
||||||
package-lock.json
|
package-lock.json
|
||||||
|
|
||||||
# elasticsearch repo or binary files
|
# elasticsearch repo or binary files
|
||||||
|
|||||||
27
.travis.yml
27
.travis.yml
@ -1,27 +0,0 @@
|
|||||||
language: node_js
|
|
||||||
|
|
||||||
node_js:
|
|
||||||
- "12"
|
|
||||||
- "10"
|
|
||||||
- "8"
|
|
||||||
|
|
||||||
cache:
|
|
||||||
npm: false
|
|
||||||
|
|
||||||
os:
|
|
||||||
- windows
|
|
||||||
- linux
|
|
||||||
|
|
||||||
install:
|
|
||||||
- npm install
|
|
||||||
|
|
||||||
script:
|
|
||||||
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then npm run license-checker; fi
|
|
||||||
- npm run lint
|
|
||||||
- npm run test:coverage
|
|
||||||
- npm run test:types
|
|
||||||
|
|
||||||
notifications:
|
|
||||||
email:
|
|
||||||
on_success: never
|
|
||||||
on_failure: always
|
|
||||||
2
LICENSE
2
LICENSE
@ -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 [yyyy] [name of copyright owner]
|
Copyright 2020 Elastic and contributors
|
||||||
|
|
||||||
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.
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
# Elasticsearch Node.js client
|
# Elasticsearch Node.js client
|
||||||
|
|
||||||
[](http://standardjs.com/) [](https://clients-ci.elastic.co/job/elastic+elasticsearch-js+master/) [](https://codecov.io/gh/elastic/elasticsearch-js) [](https://www.npmjs.com/package/@elastic/elasticsearch)
|
[](http://standardjs.com/) [](https://clients-ci.elastic.co/view/Javascript/job/elastic+elasticsearch-js+master/) [](https://codecov.io/gh/elastic/elasticsearch-js) [](https://www.npmjs.com/package/@elastic/elasticsearch)
|
||||||
|
|
||||||
The official Node.js client for Elasticsearch.
|
The official Node.js client for Elasticsearch.
|
||||||
|
|
||||||
@ -52,6 +52,7 @@ We recommend that you write a lightweight proxy that uses this client instead.
|
|||||||
## Documentation
|
## Documentation
|
||||||
|
|
||||||
- [Introduction](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/introduction.html)
|
- [Introduction](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/introduction.html)
|
||||||
|
- [Changelog](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/changelog-client.html)
|
||||||
- [Usage](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/client-usage.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)
|
- [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)
|
- [API reference](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/api-reference.html)
|
||||||
@ -60,7 +61,9 @@ We recommend that you write a lightweight proxy that uses this client instead.
|
|||||||
- [Observability](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/observability.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)
|
- [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)
|
- [Extend the client](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/extend-client.html)
|
||||||
|
- [Client helpers](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/client-helpers.html)
|
||||||
- [Typescript support](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/typescript.html)
|
- [Typescript support](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/typescript.html)
|
||||||
|
- [Testing](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/client-testing.html)
|
||||||
- [Examples](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/examples.html)
|
- [Examples](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/examples.html)
|
||||||
|
|
||||||
## Quick start
|
## Quick start
|
||||||
|
|||||||
78
api/api/async_search.delete.js
Normal file
78
api/api/async_search.delete.js
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildAsyncSearchDelete (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a async_search.delete request
|
||||||
|
* Deletes an async search by ID. If the search is still running, the search request will be cancelled. Otherwise, the saved search results are deleted.
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/async-search.html
|
||||||
|
*/
|
||||||
|
return function asyncSearchDelete (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['id'] == null) {
|
||||||
|
const err = new ConfigurationError('Missing required parameter: id')
|
||||||
|
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, id, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if (method == null) method = 'DELETE'
|
||||||
|
path = '/' + '_async_search' + '/' + encodeURIComponent(id)
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: body || '',
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildAsyncSearchDelete
|
||||||
82
api/api/async_search.get.js
Normal file
82
api/api/async_search.get.js
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildAsyncSearchGet (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
'wait_for_completion_timeout',
|
||||||
|
'keep_alive',
|
||||||
|
'typed_keys'
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
waitForCompletionTimeout: 'wait_for_completion_timeout',
|
||||||
|
keepAlive: 'keep_alive',
|
||||||
|
typedKeys: 'typed_keys'
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a async_search.get request
|
||||||
|
* Retrieves the results of a previously submitted async search request given its ID.
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/async-search.html
|
||||||
|
*/
|
||||||
|
return function asyncSearchGet (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['id'] == null) {
|
||||||
|
const err = new ConfigurationError('Missing required parameter: id')
|
||||||
|
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, id, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if (method == null) method = 'GET'
|
||||||
|
path = '/' + '_async_search' + '/' + encodeURIComponent(id)
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: null,
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildAsyncSearchGet
|
||||||
147
api/api/async_search.submit.js
Normal file
147
api/api/async_search.submit.js
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildAsyncSearchSubmit (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
'wait_for_completion_timeout',
|
||||||
|
'keep_on_completion',
|
||||||
|
'keep_alive',
|
||||||
|
'batched_reduce_size',
|
||||||
|
'request_cache',
|
||||||
|
'analyzer',
|
||||||
|
'analyze_wildcard',
|
||||||
|
'default_operator',
|
||||||
|
'df',
|
||||||
|
'explain',
|
||||||
|
'stored_fields',
|
||||||
|
'docvalue_fields',
|
||||||
|
'from',
|
||||||
|
'ignore_unavailable',
|
||||||
|
'ignore_throttled',
|
||||||
|
'allow_no_indices',
|
||||||
|
'expand_wildcards',
|
||||||
|
'lenient',
|
||||||
|
'preference',
|
||||||
|
'q',
|
||||||
|
'routing',
|
||||||
|
'search_type',
|
||||||
|
'size',
|
||||||
|
'sort',
|
||||||
|
'_source',
|
||||||
|
'_source_excludes',
|
||||||
|
'_source_exclude',
|
||||||
|
'_source_includes',
|
||||||
|
'_source_include',
|
||||||
|
'terminate_after',
|
||||||
|
'stats',
|
||||||
|
'suggest_field',
|
||||||
|
'suggest_mode',
|
||||||
|
'suggest_size',
|
||||||
|
'suggest_text',
|
||||||
|
'timeout',
|
||||||
|
'track_scores',
|
||||||
|
'track_total_hits',
|
||||||
|
'allow_partial_search_results',
|
||||||
|
'typed_keys',
|
||||||
|
'version',
|
||||||
|
'seq_no_primary_term',
|
||||||
|
'max_concurrent_shard_requests'
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
waitForCompletionTimeout: 'wait_for_completion_timeout',
|
||||||
|
keepOnCompletion: 'keep_on_completion',
|
||||||
|
keepAlive: 'keep_alive',
|
||||||
|
batchedReduceSize: 'batched_reduce_size',
|
||||||
|
requestCache: 'request_cache',
|
||||||
|
analyzeWildcard: 'analyze_wildcard',
|
||||||
|
defaultOperator: 'default_operator',
|
||||||
|
storedFields: 'stored_fields',
|
||||||
|
docvalueFields: 'docvalue_fields',
|
||||||
|
ignoreUnavailable: 'ignore_unavailable',
|
||||||
|
ignoreThrottled: 'ignore_throttled',
|
||||||
|
allowNoIndices: 'allow_no_indices',
|
||||||
|
expandWildcards: 'expand_wildcards',
|
||||||
|
searchType: 'search_type',
|
||||||
|
_sourceExcludes: '_source_excludes',
|
||||||
|
_sourceExclude: '_source_exclude',
|
||||||
|
_sourceIncludes: '_source_includes',
|
||||||
|
_sourceInclude: '_source_include',
|
||||||
|
terminateAfter: 'terminate_after',
|
||||||
|
suggestField: 'suggest_field',
|
||||||
|
suggestMode: 'suggest_mode',
|
||||||
|
suggestSize: 'suggest_size',
|
||||||
|
suggestText: 'suggest_text',
|
||||||
|
trackScores: 'track_scores',
|
||||||
|
trackTotalHits: 'track_total_hits',
|
||||||
|
allowPartialSearchResults: 'allow_partial_search_results',
|
||||||
|
typedKeys: 'typed_keys',
|
||||||
|
seqNoPrimaryTerm: 'seq_no_primary_term',
|
||||||
|
maxConcurrentShardRequests: 'max_concurrent_shard_requests'
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a async_search.submit request
|
||||||
|
* Executes a search request asynchronously.
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/async-search.html
|
||||||
|
*/
|
||||||
|
return function asyncSearchSubmit (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)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if ((index) != null) {
|
||||||
|
if (method == null) method = 'POST'
|
||||||
|
path = '/' + encodeURIComponent(index) + '/' + '_async_search'
|
||||||
|
} else {
|
||||||
|
if (method == null) method = 'POST'
|
||||||
|
path = '/' + '_async_search'
|
||||||
|
}
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: body || '',
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildAsyncSearchSubmit
|
||||||
72
api/api/autoscaling.get_autoscaling_decision.js
Normal file
72
api/api/autoscaling.get_autoscaling_decision.js
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildAutoscalingGetAutoscalingDecision (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a autoscaling.get_autoscaling_decision request
|
||||||
|
* Gets the current autoscaling decision based on the configured autoscaling policy, indicating whether or not autoscaling is needed.
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/autoscaling-get-autoscaling-decision.html
|
||||||
|
*/
|
||||||
|
return function autoscalingGetAutoscalingDecision (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, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if (method == null) method = 'GET'
|
||||||
|
path = '/' + '_autoscaling' + '/' + 'decision'
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: null,
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildAutoscalingGetAutoscalingDecision
|
||||||
@ -14,11 +14,11 @@ function buildCatAliases (opts) {
|
|||||||
const acceptedQuerystring = [
|
const acceptedQuerystring = [
|
||||||
'format',
|
'format',
|
||||||
'local',
|
'local',
|
||||||
'master_timeout',
|
|
||||||
'h',
|
'h',
|
||||||
'help',
|
'help',
|
||||||
's',
|
's',
|
||||||
'v',
|
'v',
|
||||||
|
'expand_wildcards',
|
||||||
'pretty',
|
'pretty',
|
||||||
'human',
|
'human',
|
||||||
'error_trace',
|
'error_trace',
|
||||||
@ -27,7 +27,7 @@ function buildCatAliases (opts) {
|
|||||||
]
|
]
|
||||||
|
|
||||||
const snakeCase = {
|
const snakeCase = {
|
||||||
masterTimeout: 'master_timeout',
|
expandWildcards: 'expand_wildcards',
|
||||||
errorTrace: 'error_trace',
|
errorTrace: 'error_trace',
|
||||||
filterPath: 'filter_path'
|
filterPath: 'filter_path'
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,8 +13,6 @@ function buildCatCount (opts) {
|
|||||||
|
|
||||||
const acceptedQuerystring = [
|
const acceptedQuerystring = [
|
||||||
'format',
|
'format',
|
||||||
'local',
|
|
||||||
'master_timeout',
|
|
||||||
'h',
|
'h',
|
||||||
'help',
|
'help',
|
||||||
's',
|
's',
|
||||||
@ -27,7 +25,6 @@ function buildCatCount (opts) {
|
|||||||
]
|
]
|
||||||
|
|
||||||
const snakeCase = {
|
const snakeCase = {
|
||||||
masterTimeout: 'master_timeout',
|
|
||||||
errorTrace: 'error_trace',
|
errorTrace: 'error_trace',
|
||||||
filterPath: 'filter_path'
|
filterPath: 'filter_path'
|
||||||
}
|
}
|
||||||
|
|||||||
@ -14,8 +14,6 @@ function buildCatFielddata (opts) {
|
|||||||
const acceptedQuerystring = [
|
const acceptedQuerystring = [
|
||||||
'format',
|
'format',
|
||||||
'bytes',
|
'bytes',
|
||||||
'local',
|
|
||||||
'master_timeout',
|
|
||||||
'h',
|
'h',
|
||||||
'help',
|
'help',
|
||||||
's',
|
's',
|
||||||
@ -29,7 +27,6 @@ function buildCatFielddata (opts) {
|
|||||||
]
|
]
|
||||||
|
|
||||||
const snakeCase = {
|
const snakeCase = {
|
||||||
masterTimeout: 'master_timeout',
|
|
||||||
errorTrace: 'error_trace',
|
errorTrace: 'error_trace',
|
||||||
filterPath: 'filter_path'
|
filterPath: 'filter_path'
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,11 +13,10 @@ function buildCatHealth (opts) {
|
|||||||
|
|
||||||
const acceptedQuerystring = [
|
const acceptedQuerystring = [
|
||||||
'format',
|
'format',
|
||||||
'local',
|
|
||||||
'master_timeout',
|
|
||||||
'h',
|
'h',
|
||||||
'help',
|
'help',
|
||||||
's',
|
's',
|
||||||
|
'time',
|
||||||
'ts',
|
'ts',
|
||||||
'v',
|
'v',
|
||||||
'pretty',
|
'pretty',
|
||||||
@ -28,7 +27,6 @@ function buildCatHealth (opts) {
|
|||||||
]
|
]
|
||||||
|
|
||||||
const snakeCase = {
|
const snakeCase = {
|
||||||
masterTimeout: 'master_timeout',
|
|
||||||
errorTrace: 'error_trace',
|
errorTrace: 'error_trace',
|
||||||
filterPath: 'filter_path'
|
filterPath: 'filter_path'
|
||||||
}
|
}
|
||||||
|
|||||||
@ -21,8 +21,10 @@ function buildCatIndices (opts) {
|
|||||||
'help',
|
'help',
|
||||||
'pri',
|
'pri',
|
||||||
's',
|
's',
|
||||||
|
'time',
|
||||||
'v',
|
'v',
|
||||||
'include_unloaded_segments',
|
'include_unloaded_segments',
|
||||||
|
'expand_wildcards',
|
||||||
'pretty',
|
'pretty',
|
||||||
'human',
|
'human',
|
||||||
'error_trace',
|
'error_trace',
|
||||||
@ -33,6 +35,7 @@ function buildCatIndices (opts) {
|
|||||||
const snakeCase = {
|
const snakeCase = {
|
||||||
masterTimeout: 'master_timeout',
|
masterTimeout: 'master_timeout',
|
||||||
includeUnloadedSegments: 'include_unloaded_segments',
|
includeUnloadedSegments: 'include_unloaded_segments',
|
||||||
|
expandWildcards: 'expand_wildcards',
|
||||||
errorTrace: 'error_trace',
|
errorTrace: 'error_trace',
|
||||||
filterPath: 'filter_path'
|
filterPath: 'filter_path'
|
||||||
}
|
}
|
||||||
|
|||||||
85
api/api/cat.ml_data_frame_analytics.js
Normal file
85
api/api/cat.ml_data_frame_analytics.js
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildCatMlDataFrameAnalytics (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
'allow_no_match',
|
||||||
|
'bytes',
|
||||||
|
'format',
|
||||||
|
'h',
|
||||||
|
'help',
|
||||||
|
's',
|
||||||
|
'time',
|
||||||
|
'v'
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
allowNoMatch: 'allow_no_match'
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a cat.ml_data_frame_analytics request
|
||||||
|
* Gets configuration and usage information about data frame analytics jobs.
|
||||||
|
* http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-dfanalytics.html
|
||||||
|
*/
|
||||||
|
return function catMlDataFrameAnalytics (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, id, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if ((id) != null) {
|
||||||
|
if (method == null) method = 'GET'
|
||||||
|
path = '/' + '_cat' + '/' + 'ml' + '/' + 'data_frame' + '/' + 'analytics' + '/' + encodeURIComponent(id)
|
||||||
|
} else {
|
||||||
|
if (method == null) method = 'GET'
|
||||||
|
path = '/' + '_cat' + '/' + 'ml' + '/' + 'data_frame' + '/' + 'analytics'
|
||||||
|
}
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: null,
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildCatMlDataFrameAnalytics
|
||||||
84
api/api/cat.ml_datafeeds.js
Normal file
84
api/api/cat.ml_datafeeds.js
Normal file
@ -0,0 +1,84 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildCatMlDatafeeds (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
'allow_no_datafeeds',
|
||||||
|
'format',
|
||||||
|
'h',
|
||||||
|
'help',
|
||||||
|
's',
|
||||||
|
'time',
|
||||||
|
'v'
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
allowNoDatafeeds: 'allow_no_datafeeds'
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a cat.ml_datafeeds request
|
||||||
|
* Gets configuration and usage information about datafeeds.
|
||||||
|
* http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-datafeeds.html
|
||||||
|
*/
|
||||||
|
return function catMlDatafeeds (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, datafeedId, datafeed_id, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if ((datafeed_id || datafeedId) != null) {
|
||||||
|
if (method == null) method = 'GET'
|
||||||
|
path = '/' + '_cat' + '/' + 'ml' + '/' + 'datafeeds' + '/' + encodeURIComponent(datafeed_id || datafeedId)
|
||||||
|
} else {
|
||||||
|
if (method == null) method = 'GET'
|
||||||
|
path = '/' + '_cat' + '/' + 'ml' + '/' + 'datafeeds'
|
||||||
|
}
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: null,
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildCatMlDatafeeds
|
||||||
85
api/api/cat.ml_jobs.js
Normal file
85
api/api/cat.ml_jobs.js
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildCatMlJobs (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
'allow_no_jobs',
|
||||||
|
'bytes',
|
||||||
|
'format',
|
||||||
|
'h',
|
||||||
|
'help',
|
||||||
|
's',
|
||||||
|
'time',
|
||||||
|
'v'
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
allowNoJobs: 'allow_no_jobs'
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a cat.ml_jobs request
|
||||||
|
* Gets configuration and usage information about anomaly detection jobs.
|
||||||
|
* http://www.elastic.co/guide/en/elasticsearch/reference/current/cat-anomaly-detectors.html
|
||||||
|
*/
|
||||||
|
return function catMlJobs (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, jobId, job_id, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if ((job_id || jobId) != null) {
|
||||||
|
if (method == null) method = 'GET'
|
||||||
|
path = '/' + '_cat' + '/' + 'ml' + '/' + 'anomaly_detectors' + '/' + encodeURIComponent(job_id || jobId)
|
||||||
|
} else {
|
||||||
|
if (method == null) method = 'GET'
|
||||||
|
path = '/' + '_cat' + '/' + 'ml' + '/' + 'anomaly_detectors'
|
||||||
|
}
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: null,
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildCatMlJobs
|
||||||
87
api/api/cat.ml_trained_models.js
Normal file
87
api/api/cat.ml_trained_models.js
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildCatMlTrainedModels (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
'allow_no_match',
|
||||||
|
'from',
|
||||||
|
'size',
|
||||||
|
'bytes',
|
||||||
|
'format',
|
||||||
|
'h',
|
||||||
|
'help',
|
||||||
|
's',
|
||||||
|
'time',
|
||||||
|
'v'
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
allowNoMatch: 'allow_no_match'
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a cat.ml_trained_models request
|
||||||
|
* Gets configuration and usage information about inference trained models.
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-trained-model.html
|
||||||
|
*/
|
||||||
|
return function catMlTrainedModels (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, modelId, model_id, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if ((model_id || modelId) != null) {
|
||||||
|
if (method == null) method = 'GET'
|
||||||
|
path = '/' + '_cat' + '/' + 'ml' + '/' + 'trained_models' + '/' + encodeURIComponent(model_id || modelId)
|
||||||
|
} else {
|
||||||
|
if (method == null) method = 'GET'
|
||||||
|
path = '/' + '_cat' + '/' + 'ml' + '/' + 'trained_models'
|
||||||
|
}
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: null,
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildCatMlTrainedModels
|
||||||
@ -12,6 +12,7 @@ function buildCatNodes (opts) {
|
|||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
const acceptedQuerystring = [
|
||||||
|
'bytes',
|
||||||
'format',
|
'format',
|
||||||
'full_id',
|
'full_id',
|
||||||
'local',
|
'local',
|
||||||
@ -19,6 +20,7 @@ function buildCatNodes (opts) {
|
|||||||
'h',
|
'h',
|
||||||
'help',
|
'help',
|
||||||
's',
|
's',
|
||||||
|
'time',
|
||||||
'v',
|
'v',
|
||||||
'pretty',
|
'pretty',
|
||||||
'human',
|
'human',
|
||||||
|
|||||||
@ -18,6 +18,7 @@ function buildCatPendingTasks (opts) {
|
|||||||
'h',
|
'h',
|
||||||
'help',
|
'help',
|
||||||
's',
|
's',
|
||||||
|
'time',
|
||||||
'v',
|
'v',
|
||||||
'pretty',
|
'pretty',
|
||||||
'human',
|
'human',
|
||||||
|
|||||||
@ -13,11 +13,14 @@ function buildCatRecovery (opts) {
|
|||||||
|
|
||||||
const acceptedQuerystring = [
|
const acceptedQuerystring = [
|
||||||
'format',
|
'format',
|
||||||
|
'active_only',
|
||||||
'bytes',
|
'bytes',
|
||||||
'master_timeout',
|
'detailed',
|
||||||
'h',
|
'h',
|
||||||
'help',
|
'help',
|
||||||
|
'index',
|
||||||
's',
|
's',
|
||||||
|
'time',
|
||||||
'v',
|
'v',
|
||||||
'pretty',
|
'pretty',
|
||||||
'human',
|
'human',
|
||||||
@ -27,7 +30,7 @@ function buildCatRecovery (opts) {
|
|||||||
]
|
]
|
||||||
|
|
||||||
const snakeCase = {
|
const snakeCase = {
|
||||||
masterTimeout: 'master_timeout',
|
activeOnly: 'active_only',
|
||||||
errorTrace: 'error_trace',
|
errorTrace: 'error_trace',
|
||||||
filterPath: 'filter_path'
|
filterPath: 'filter_path'
|
||||||
}
|
}
|
||||||
|
|||||||
@ -19,6 +19,7 @@ function buildCatShards (opts) {
|
|||||||
'h',
|
'h',
|
||||||
'help',
|
'help',
|
||||||
's',
|
's',
|
||||||
|
'time',
|
||||||
'v',
|
'v',
|
||||||
'pretty',
|
'pretty',
|
||||||
'human',
|
'human',
|
||||||
|
|||||||
@ -18,6 +18,7 @@ function buildCatSnapshots (opts) {
|
|||||||
'h',
|
'h',
|
||||||
'help',
|
'help',
|
||||||
's',
|
's',
|
||||||
|
'time',
|
||||||
'v',
|
'v',
|
||||||
'pretty',
|
'pretty',
|
||||||
'human',
|
'human',
|
||||||
|
|||||||
@ -20,6 +20,7 @@ function buildCatTasks (opts) {
|
|||||||
'h',
|
'h',
|
||||||
'help',
|
'help',
|
||||||
's',
|
's',
|
||||||
|
'time',
|
||||||
'v',
|
'v',
|
||||||
'pretty',
|
'pretty',
|
||||||
'human',
|
'human',
|
||||||
|
|||||||
86
api/api/cat.transforms.js
Normal file
86
api/api/cat.transforms.js
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildCatTransforms (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
'from',
|
||||||
|
'size',
|
||||||
|
'allow_no_match',
|
||||||
|
'format',
|
||||||
|
'h',
|
||||||
|
'help',
|
||||||
|
's',
|
||||||
|
'time',
|
||||||
|
'v'
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
allowNoMatch: 'allow_no_match'
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a cat.transforms request
|
||||||
|
* Gets configuration and usage information about transforms.
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/cat-transforms.html
|
||||||
|
*/
|
||||||
|
return function catTransforms (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, transformId, transform_id, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if ((transform_id || transformId) != null) {
|
||||||
|
if (method == null) method = 'GET'
|
||||||
|
path = '/' + '_cat' + '/' + 'transforms' + '/' + encodeURIComponent(transform_id || transformId)
|
||||||
|
} else {
|
||||||
|
if (method == null) method = 'GET'
|
||||||
|
path = '/' + '_cat' + '/' + 'transforms'
|
||||||
|
}
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: null,
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildCatTransforms
|
||||||
@ -21,6 +21,7 @@ function buildCcrDeleteAutoFollowPattern (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a ccr.delete_auto_follow_pattern request
|
* Perform a ccr.delete_auto_follow_pattern request
|
||||||
|
* Deletes auto-follow patterns.
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-delete-auto-follow-pattern.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-delete-auto-follow-pattern.html
|
||||||
*/
|
*/
|
||||||
return function ccrDeleteAutoFollowPattern (params, options, callback) {
|
return function ccrDeleteAutoFollowPattern (params, options, callback) {
|
||||||
|
|||||||
@ -21,6 +21,7 @@ function buildCcrFollow (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a ccr.follow request
|
* Perform a ccr.follow request
|
||||||
|
* Creates a new follower index configured to follow the referenced leader index.
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-put-follow.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-put-follow.html
|
||||||
*/
|
*/
|
||||||
return function ccrFollow (params, options, callback) {
|
return function ccrFollow (params, options, callback) {
|
||||||
|
|||||||
@ -21,6 +21,7 @@ function buildCcrFollowInfo (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a ccr.follow_info request
|
* Perform a ccr.follow_info request
|
||||||
|
* Retrieves information about all follower indices, including parameters and status for each follower index
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-follow-info.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-follow-info.html
|
||||||
*/
|
*/
|
||||||
return function ccrFollowInfo (params, options, callback) {
|
return function ccrFollowInfo (params, options, callback) {
|
||||||
|
|||||||
@ -21,6 +21,7 @@ function buildCcrFollowStats (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a ccr.follow_stats request
|
* Perform a ccr.follow_stats request
|
||||||
|
* Retrieves follower stats. return shard-level stats about the following tasks associated with each shard for the specified indices.
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-follow-stats.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-follow-stats.html
|
||||||
*/
|
*/
|
||||||
return function ccrFollowStats (params, options, callback) {
|
return function ccrFollowStats (params, options, callback) {
|
||||||
|
|||||||
@ -21,7 +21,8 @@ function buildCcrForgetFollower (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a ccr.forget_follower request
|
* Perform a ccr.forget_follower request
|
||||||
* http://www.elastic.co/guide/en/elasticsearch/reference/current
|
* Removes the follower retention leases from the leader.
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-forget-follower.html
|
||||||
*/
|
*/
|
||||||
return function ccrForgetFollower (params, options, callback) {
|
return function ccrForgetFollower (params, options, callback) {
|
||||||
options = options || {}
|
options = options || {}
|
||||||
|
|||||||
@ -21,6 +21,7 @@ function buildCcrGetAutoFollowPattern (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a ccr.get_auto_follow_pattern request
|
* Perform a ccr.get_auto_follow_pattern request
|
||||||
|
* Gets configured auto-follow patterns. Returns the specified auto-follow pattern collection.
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-auto-follow-pattern.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-auto-follow-pattern.html
|
||||||
*/
|
*/
|
||||||
return function ccrGetAutoFollowPattern (params, options, callback) {
|
return function ccrGetAutoFollowPattern (params, options, callback) {
|
||||||
|
|||||||
78
api/api/ccr.pause_auto_follow_pattern.js
Normal file
78
api/api/ccr.pause_auto_follow_pattern.js
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildCcrPauseAutoFollowPattern (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a ccr.pause_auto_follow_pattern request
|
||||||
|
* Pauses an auto-follow pattern
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-pause-auto-follow-pattern.html
|
||||||
|
*/
|
||||||
|
return function ccrPauseAutoFollowPattern (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 = []
|
||||||
|
var { method, body, name, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if (method == null) method = 'POST'
|
||||||
|
path = '/' + '_ccr' + '/' + 'auto_follow' + '/' + encodeURIComponent(name) + '/' + 'pause'
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: body || '',
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildCcrPauseAutoFollowPattern
|
||||||
@ -21,6 +21,7 @@ function buildCcrPauseFollow (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a ccr.pause_follow request
|
* Perform a ccr.pause_follow request
|
||||||
|
* Pauses a follower index. The follower index will not fetch any additional operations from the leader index.
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-pause-follow.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-pause-follow.html
|
||||||
*/
|
*/
|
||||||
return function ccrPauseFollow (params, options, callback) {
|
return function ccrPauseFollow (params, options, callback) {
|
||||||
|
|||||||
@ -21,6 +21,7 @@ function buildCcrPutAutoFollowPattern (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a ccr.put_auto_follow_pattern request
|
* Perform a ccr.put_auto_follow_pattern request
|
||||||
|
* Creates a new named collection of auto-follow patterns against a specified remote cluster. Newly created indices on the remote cluster matching any of the specified patterns will be automatically configured as follower indices.
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-put-auto-follow-pattern.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-put-auto-follow-pattern.html
|
||||||
*/
|
*/
|
||||||
return function ccrPutAutoFollowPattern (params, options, callback) {
|
return function ccrPutAutoFollowPattern (params, options, callback) {
|
||||||
|
|||||||
78
api/api/ccr.resume_auto_follow_pattern.js
Normal file
78
api/api/ccr.resume_auto_follow_pattern.js
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildCcrResumeAutoFollowPattern (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a ccr.resume_auto_follow_pattern request
|
||||||
|
* Resumes an auto-follow pattern that has been paused
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-resume-auto-follow-pattern.html
|
||||||
|
*/
|
||||||
|
return function ccrResumeAutoFollowPattern (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 = []
|
||||||
|
var { method, body, name, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if (method == null) method = 'POST'
|
||||||
|
path = '/' + '_ccr' + '/' + 'auto_follow' + '/' + encodeURIComponent(name) + '/' + 'resume'
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: body || '',
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildCcrResumeAutoFollowPattern
|
||||||
@ -21,6 +21,7 @@ function buildCcrResumeFollow (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a ccr.resume_follow request
|
* Perform a ccr.resume_follow request
|
||||||
|
* Resumes a follower index that has been paused
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-resume-follow.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-resume-follow.html
|
||||||
*/
|
*/
|
||||||
return function ccrResumeFollow (params, options, callback) {
|
return function ccrResumeFollow (params, options, callback) {
|
||||||
|
|||||||
@ -21,6 +21,7 @@ function buildCcrStats (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a ccr.stats request
|
* Perform a ccr.stats request
|
||||||
|
* Gets all stats related to cross-cluster replication.
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-stats.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-get-stats.html
|
||||||
*/
|
*/
|
||||||
return function ccrStats (params, options, callback) {
|
return function ccrStats (params, options, callback) {
|
||||||
|
|||||||
@ -21,7 +21,8 @@ function buildCcrUnfollow (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a ccr.unfollow request
|
* Perform a ccr.unfollow request
|
||||||
* http://www.elastic.co/guide/en/elasticsearch/reference/current
|
* Stops the following task associated with a follower index and removes index metadata and settings associated with cross-cluster replication.
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ccr-post-unfollow.html
|
||||||
*/
|
*/
|
||||||
return function ccrUnfollow (params, options, callback) {
|
return function ccrUnfollow (params, options, callback) {
|
||||||
options = options || {}
|
options = options || {}
|
||||||
|
|||||||
86
api/api/cluster.delete_component_template.js
Normal file
86
api/api/cluster.delete_component_template.js
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildClusterDeleteComponentTemplate (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
'timeout',
|
||||||
|
'master_timeout',
|
||||||
|
'pretty',
|
||||||
|
'human',
|
||||||
|
'error_trace',
|
||||||
|
'source',
|
||||||
|
'filter_path'
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
masterTimeout: 'master_timeout',
|
||||||
|
errorTrace: 'error_trace',
|
||||||
|
filterPath: 'filter_path'
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a cluster.delete_component_template request
|
||||||
|
* Deletes a component template
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-component-templates.html
|
||||||
|
*/
|
||||||
|
return function clusterDeleteComponentTemplate (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 = []
|
||||||
|
var { method, body, name, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if (method == null) method = 'DELETE'
|
||||||
|
path = '/' + '_component_template' + '/' + encodeURIComponent(name)
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: body || '',
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildClusterDeleteComponentTemplate
|
||||||
85
api/api/cluster.get_component_template.js
Normal file
85
api/api/cluster.get_component_template.js
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildClusterGetComponentTemplate (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
'master_timeout',
|
||||||
|
'local',
|
||||||
|
'pretty',
|
||||||
|
'human',
|
||||||
|
'error_trace',
|
||||||
|
'source',
|
||||||
|
'filter_path'
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
masterTimeout: 'master_timeout',
|
||||||
|
errorTrace: 'error_trace',
|
||||||
|
filterPath: 'filter_path'
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a cluster.get_component_template request
|
||||||
|
* Returns one or more component templates
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-component-templates.html
|
||||||
|
*/
|
||||||
|
return function clusterGetComponentTemplate (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, name, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if ((name) != null) {
|
||||||
|
if (method == null) method = 'GET'
|
||||||
|
path = '/' + '_component_template' + '/' + encodeURIComponent(name)
|
||||||
|
} else {
|
||||||
|
if (method == null) method = 'GET'
|
||||||
|
path = '/' + '_component_template'
|
||||||
|
}
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: null,
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildClusterGetComponentTemplate
|
||||||
91
api/api/cluster.put_component_template.js
Normal file
91
api/api/cluster.put_component_template.js
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildClusterPutComponentTemplate (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
'create',
|
||||||
|
'timeout',
|
||||||
|
'master_timeout',
|
||||||
|
'pretty',
|
||||||
|
'human',
|
||||||
|
'error_trace',
|
||||||
|
'source',
|
||||||
|
'filter_path'
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
masterTimeout: 'master_timeout',
|
||||||
|
errorTrace: 'error_trace',
|
||||||
|
filterPath: 'filter_path'
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a cluster.put_component_template request
|
||||||
|
* Creates or updates a component template
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-component-templates.html
|
||||||
|
*/
|
||||||
|
return function clusterPutComponentTemplate (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 = []
|
||||||
|
var { method, body, name, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if (method == null) method = 'PUT'
|
||||||
|
path = '/' + '_component_template' + '/' + encodeURIComponent(name)
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: body || '',
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildClusterPutComponentTemplate
|
||||||
@ -12,6 +12,7 @@ function buildDeleteByQuery (opts) {
|
|||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
const acceptedQuerystring = [
|
||||||
|
'analyzer',
|
||||||
'analyze_wildcard',
|
'analyze_wildcard',
|
||||||
'default_operator',
|
'default_operator',
|
||||||
'df',
|
'df',
|
||||||
|
|||||||
78
api/api/enrich.delete_policy.js
Normal file
78
api/api/enrich.delete_policy.js
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildEnrichDeletePolicy (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a enrich.delete_policy request
|
||||||
|
* Deletes an existing enrich policy and its enrich index.
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/delete-enrich-policy-api.html
|
||||||
|
*/
|
||||||
|
return function enrichDeletePolicy (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 = []
|
||||||
|
var { method, body, name, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if (method == null) method = 'DELETE'
|
||||||
|
path = '/' + '_enrich' + '/' + 'policy' + '/' + encodeURIComponent(name)
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: body || '',
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildEnrichDeletePolicy
|
||||||
78
api/api/enrich.execute_policy.js
Normal file
78
api/api/enrich.execute_policy.js
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildEnrichExecutePolicy (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
'wait_for_completion'
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
waitForCompletion: 'wait_for_completion'
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a enrich.execute_policy request
|
||||||
|
* Creates the enrich index for an existing enrich policy.
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/execute-enrich-policy-api.html
|
||||||
|
*/
|
||||||
|
return function enrichExecutePolicy (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 = []
|
||||||
|
var { method, body, name, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if (method == null) method = 'PUT'
|
||||||
|
path = '/' + '_enrich' + '/' + 'policy' + '/' + encodeURIComponent(name) + '/' + '_execute'
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: body || '',
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildEnrichExecutePolicy
|
||||||
77
api/api/enrich.get_policy.js
Normal file
77
api/api/enrich.get_policy.js
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildEnrichGetPolicy (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a enrich.get_policy request
|
||||||
|
* Gets information about an enrich policy.
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/get-enrich-policy-api.html
|
||||||
|
*/
|
||||||
|
return function enrichGetPolicy (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, name, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if ((name) != null) {
|
||||||
|
if (method == null) method = 'GET'
|
||||||
|
path = '/' + '_enrich' + '/' + 'policy' + '/' + encodeURIComponent(name)
|
||||||
|
} else {
|
||||||
|
if (method == null) method = 'GET'
|
||||||
|
path = '/' + '_enrich' + '/' + 'policy'
|
||||||
|
}
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: null,
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildEnrichGetPolicy
|
||||||
82
api/api/enrich.put_policy.js
Normal file
82
api/api/enrich.put_policy.js
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildEnrichPutPolicy (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a enrich.put_policy request
|
||||||
|
* Creates a new enrich policy.
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/put-enrich-policy-api.html
|
||||||
|
*/
|
||||||
|
return function enrichPutPolicy (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 = []
|
||||||
|
var { method, body, name, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if (method == null) method = 'PUT'
|
||||||
|
path = '/' + '_enrich' + '/' + 'policy' + '/' + encodeURIComponent(name)
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: body || '',
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildEnrichPutPolicy
|
||||||
72
api/api/enrich.stats.js
Normal file
72
api/api/enrich.stats.js
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildEnrichStats (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a enrich.stats request
|
||||||
|
* Gets enrich coordinator statistics and information about enrich policies that are currently executing.
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/enrich-stats-api.html
|
||||||
|
*/
|
||||||
|
return function enrichStats (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, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if (method == null) method = 'GET'
|
||||||
|
path = '/' + '_enrich' + '/' + '_stats'
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: null,
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildEnrichStats
|
||||||
82
api/api/eql.search.js
Normal file
82
api/api/eql.search.js
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildEqlSearch (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a eql.search request
|
||||||
|
* Returns results matching a query expressed in Event Query Language (EQL)
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/eql.html
|
||||||
|
*/
|
||||||
|
return function eqlSearch (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 = []
|
||||||
|
var { method, body, index, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if (method == null) method = body == null ? 'GET' : 'POST'
|
||||||
|
path = '/' + encodeURIComponent(index) + '/' + '_eql' + '/' + 'search'
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: body || '',
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildEqlSearch
|
||||||
77
api/api/get_script_context.js
Normal file
77
api/api/get_script_context.js
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildGetScriptContext (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
'pretty',
|
||||||
|
'human',
|
||||||
|
'error_trace',
|
||||||
|
'source',
|
||||||
|
'filter_path'
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
errorTrace: 'error_trace',
|
||||||
|
filterPath: 'filter_path'
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a get_script_context request
|
||||||
|
* Returns all script contexts.
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/painless/master/painless-contexts.html
|
||||||
|
*/
|
||||||
|
return function getScriptContext (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, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if (method == null) method = 'GET'
|
||||||
|
path = '/' + '_script_context'
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: null,
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildGetScriptContext
|
||||||
77
api/api/get_script_languages.js
Normal file
77
api/api/get_script_languages.js
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildGetScriptLanguages (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
'pretty',
|
||||||
|
'human',
|
||||||
|
'error_trace',
|
||||||
|
'source',
|
||||||
|
'filter_path'
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
errorTrace: 'error_trace',
|
||||||
|
filterPath: 'filter_path'
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a get_script_languages request
|
||||||
|
* Returns available script types, languages and contexts
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/master/modules-scripting.html
|
||||||
|
*/
|
||||||
|
return function getScriptLanguages (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, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if (method == null) method = 'GET'
|
||||||
|
path = '/' + '_script_language'
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: null,
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildGetScriptLanguages
|
||||||
@ -22,6 +22,7 @@ function buildGraphExplore (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a graph.explore request
|
* Perform a graph.explore request
|
||||||
|
* Explore extracted and summarized information about the documents and terms in an index.
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/graph-explore-api.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/graph-explore-api.html
|
||||||
*/
|
*/
|
||||||
return function graphExplore (params, options, callback) {
|
return function graphExplore (params, options, callback) {
|
||||||
|
|||||||
@ -21,6 +21,7 @@ function buildIlmDeleteLifecycle (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a ilm.delete_lifecycle request
|
* Perform a ilm.delete_lifecycle request
|
||||||
|
* Deletes the specified lifecycle policy definition. A currently used policy cannot be deleted.
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-delete-lifecycle.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-delete-lifecycle.html
|
||||||
*/
|
*/
|
||||||
return function ilmDeleteLifecycle (params, options, callback) {
|
return function ilmDeleteLifecycle (params, options, callback) {
|
||||||
|
|||||||
@ -23,6 +23,7 @@ function buildIlmExplainLifecycle (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a ilm.explain_lifecycle request
|
* Perform a ilm.explain_lifecycle request
|
||||||
|
* Retrieves information about the index's current lifecycle state, such as the currently executing phase, action, and step.
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-explain-lifecycle.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-explain-lifecycle.html
|
||||||
*/
|
*/
|
||||||
return function ilmExplainLifecycle (params, options, callback) {
|
return function ilmExplainLifecycle (params, options, callback) {
|
||||||
|
|||||||
@ -21,6 +21,7 @@ function buildIlmGetLifecycle (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a ilm.get_lifecycle request
|
* Perform a ilm.get_lifecycle request
|
||||||
|
* Returns the specified policy definition. Includes the policy version and last modified date.
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-get-lifecycle.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-get-lifecycle.html
|
||||||
*/
|
*/
|
||||||
return function ilmGetLifecycle (params, options, callback) {
|
return function ilmGetLifecycle (params, options, callback) {
|
||||||
|
|||||||
@ -21,6 +21,7 @@ function buildIlmGetStatus (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a ilm.get_status request
|
* Perform a ilm.get_status request
|
||||||
|
* Retrieves the current index lifecycle management (ILM) status.
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-get-status.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-get-status.html
|
||||||
*/
|
*/
|
||||||
return function ilmGetStatus (params, options, callback) {
|
return function ilmGetStatus (params, options, callback) {
|
||||||
|
|||||||
@ -21,6 +21,7 @@ function buildIlmMoveToStep (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a ilm.move_to_step request
|
* Perform a ilm.move_to_step request
|
||||||
|
* Manually moves an index into the specified step and executes that step.
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-move-to-step.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-move-to-step.html
|
||||||
*/
|
*/
|
||||||
return function ilmMoveToStep (params, options, callback) {
|
return function ilmMoveToStep (params, options, callback) {
|
||||||
|
|||||||
@ -21,6 +21,7 @@ function buildIlmPutLifecycle (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a ilm.put_lifecycle request
|
* Perform a ilm.put_lifecycle request
|
||||||
|
* Creates a lifecycle policy
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-put-lifecycle.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-put-lifecycle.html
|
||||||
*/
|
*/
|
||||||
return function ilmPutLifecycle (params, options, callback) {
|
return function ilmPutLifecycle (params, options, callback) {
|
||||||
|
|||||||
@ -21,6 +21,7 @@ function buildIlmRemovePolicy (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a ilm.remove_policy request
|
* Perform a ilm.remove_policy request
|
||||||
|
* Removes the assigned lifecycle policy and stops managing the specified index
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-remove-policy.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-remove-policy.html
|
||||||
*/
|
*/
|
||||||
return function ilmRemovePolicy (params, options, callback) {
|
return function ilmRemovePolicy (params, options, callback) {
|
||||||
|
|||||||
@ -21,6 +21,7 @@ function buildIlmRetry (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a ilm.retry request
|
* Perform a ilm.retry request
|
||||||
|
* Retries executing the policy for an index that is in the ERROR step.
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-retry-policy.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-retry-policy.html
|
||||||
*/
|
*/
|
||||||
return function ilmRetry (params, options, callback) {
|
return function ilmRetry (params, options, callback) {
|
||||||
|
|||||||
@ -21,6 +21,7 @@ function buildIlmStart (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a ilm.start request
|
* Perform a ilm.start request
|
||||||
|
* Start the index lifecycle management (ILM) plugin.
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-start.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-start.html
|
||||||
*/
|
*/
|
||||||
return function ilmStart (params, options, callback) {
|
return function ilmStart (params, options, callback) {
|
||||||
|
|||||||
@ -21,6 +21,7 @@ function buildIlmStop (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a ilm.stop request
|
* Perform a ilm.stop request
|
||||||
|
* Halts all lifecycle management operations and stops the index lifecycle management (ILM) plugin
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-stop.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/ilm-stop.html
|
||||||
*/
|
*/
|
||||||
return function ilmStop (params, options, callback) {
|
return function ilmStop (params, options, callback) {
|
||||||
|
|||||||
@ -84,10 +84,10 @@ function buildIndex (opts) {
|
|||||||
var path = ''
|
var path = ''
|
||||||
|
|
||||||
if ((index) != null && (type) != null && (id) != null) {
|
if ((index) != null && (type) != null && (id) != null) {
|
||||||
if (method == null) method = 'POST'
|
if (method == null) method = 'PUT'
|
||||||
path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) + '/' + encodeURIComponent(id)
|
path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) + '/' + encodeURIComponent(id)
|
||||||
} else if ((index) != null && (id) != null) {
|
} else if ((index) != null && (id) != null) {
|
||||||
if (method == null) method = 'POST'
|
if (method == null) method = 'PUT'
|
||||||
path = '/' + encodeURIComponent(index) + '/' + '_doc' + '/' + encodeURIComponent(id)
|
path = '/' + encodeURIComponent(index) + '/' + '_doc' + '/' + encodeURIComponent(id)
|
||||||
} else if ((index) != null && (type) != null) {
|
} else if ((index) != null && (type) != null) {
|
||||||
if (method == null) method = 'POST'
|
if (method == null) method = 'POST'
|
||||||
|
|||||||
87
api/api/indices.create_data_stream.js
Normal file
87
api/api/indices.create_data_stream.js
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildIndicesCreateDataStream (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
'pretty',
|
||||||
|
'human',
|
||||||
|
'error_trace',
|
||||||
|
'source',
|
||||||
|
'filter_path'
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
errorTrace: 'error_trace',
|
||||||
|
filterPath: 'filter_path'
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a indices.create_data_stream request
|
||||||
|
* Creates or updates a data stream
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/master/data-streams.html
|
||||||
|
*/
|
||||||
|
return function indicesCreateDataStream (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 = []
|
||||||
|
var { method, body, name, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if (method == null) method = 'PUT'
|
||||||
|
path = '/' + '_data_stream' + '/' + encodeURIComponent(name)
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: body || '',
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildIndicesCreateDataStream
|
||||||
@ -79,10 +79,10 @@ function buildIndicesDeleteAlias (opts) {
|
|||||||
|
|
||||||
if ((index) != null && (name) != null) {
|
if ((index) != null && (name) != null) {
|
||||||
if (method == null) method = 'DELETE'
|
if (method == null) method = 'DELETE'
|
||||||
path = '/' + encodeURIComponent(index) + '/' + '_aliases' + '/' + encodeURIComponent(name)
|
path = '/' + encodeURIComponent(index) + '/' + '_alias' + '/' + encodeURIComponent(name)
|
||||||
} else {
|
} else {
|
||||||
if (method == null) method = 'DELETE'
|
if (method == null) method = 'DELETE'
|
||||||
path = '/' + encodeURIComponent(index) + '/' + '_alias' + '/' + encodeURIComponent(name)
|
path = '/' + encodeURIComponent(index) + '/' + '_aliases' + '/' + encodeURIComponent(name)
|
||||||
}
|
}
|
||||||
|
|
||||||
// build request object
|
// build request object
|
||||||
|
|||||||
83
api/api/indices.delete_data_stream.js
Normal file
83
api/api/indices.delete_data_stream.js
Normal file
@ -0,0 +1,83 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildIndicesDeleteDataStream (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
'pretty',
|
||||||
|
'human',
|
||||||
|
'error_trace',
|
||||||
|
'source',
|
||||||
|
'filter_path'
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
errorTrace: 'error_trace',
|
||||||
|
filterPath: 'filter_path'
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a indices.delete_data_stream request
|
||||||
|
* Deletes a data stream.
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/master/data-streams.html
|
||||||
|
*/
|
||||||
|
return function indicesDeleteDataStream (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 = []
|
||||||
|
var { method, body, name, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if (method == null) method = 'DELETE'
|
||||||
|
path = '/' + '_data_stream' + '/' + encodeURIComponent(name)
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: body || '',
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildIndicesDeleteDataStream
|
||||||
@ -32,7 +32,7 @@ function buildIndicesFlushSynced (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a indices.flush_synced request
|
* Perform a indices.flush_synced request
|
||||||
* Performs a synced flush operation on one or more indices.
|
* Performs a synced flush operation on one or more indices. Synced flush is deprecated and will be removed in 8.0. Use flush instead
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-synced-flush-api.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-synced-flush-api.html
|
||||||
*/
|
*/
|
||||||
return function indicesFlushSynced (params, options, callback) {
|
return function indicesFlushSynced (params, options, callback) {
|
||||||
|
|||||||
@ -30,7 +30,8 @@ function buildIndicesFreeze (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a indices.freeze request
|
* Perform a indices.freeze request
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/frozen.html
|
* Freezes an index. A frozen index has almost no overhead on the cluster (except for maintaining its metadata in memory) and is read-only.
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/freeze-index-api.html
|
||||||
*/
|
*/
|
||||||
return function indicesFreeze (params, options, callback) {
|
return function indicesFreeze (params, options, callback) {
|
||||||
options = options || {}
|
options = options || {}
|
||||||
|
|||||||
82
api/api/indices.get_data_streams.js
Normal file
82
api/api/indices.get_data_streams.js
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
// Licensed to Elasticsearch B.V under one or more agreements.
|
||||||
|
// Elasticsearch B.V licenses this file to you under the Apache 2.0 License.
|
||||||
|
// See the LICENSE file in the project root for more information
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
/* eslint camelcase: 0 */
|
||||||
|
/* eslint no-unused-vars: 0 */
|
||||||
|
|
||||||
|
function buildIndicesGetDataStreams (opts) {
|
||||||
|
// eslint-disable-next-line no-unused-vars
|
||||||
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
|
const acceptedQuerystring = [
|
||||||
|
'pretty',
|
||||||
|
'human',
|
||||||
|
'error_trace',
|
||||||
|
'source',
|
||||||
|
'filter_path'
|
||||||
|
]
|
||||||
|
|
||||||
|
const snakeCase = {
|
||||||
|
errorTrace: 'error_trace',
|
||||||
|
filterPath: 'filter_path'
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Perform a indices.get_data_streams request
|
||||||
|
* Returns data streams.
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/master/data-streams.html
|
||||||
|
*/
|
||||||
|
return function indicesGetDataStreams (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, name, ...querystring } = params
|
||||||
|
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
||||||
|
|
||||||
|
var ignore = options.ignore
|
||||||
|
if (typeof ignore === 'number') {
|
||||||
|
options.ignore = [ignore]
|
||||||
|
}
|
||||||
|
|
||||||
|
var path = ''
|
||||||
|
|
||||||
|
if ((name) != null) {
|
||||||
|
if (method == null) method = 'GET'
|
||||||
|
path = '/' + '_data_streams' + '/' + encodeURIComponent(name)
|
||||||
|
} else {
|
||||||
|
if (method == null) method = 'GET'
|
||||||
|
path = '/' + '_data_streams'
|
||||||
|
}
|
||||||
|
|
||||||
|
// build request object
|
||||||
|
const request = {
|
||||||
|
method,
|
||||||
|
path,
|
||||||
|
body: null,
|
||||||
|
querystring
|
||||||
|
}
|
||||||
|
|
||||||
|
options.warnings = warnings.length === 0 ? null : warnings
|
||||||
|
return makeRequest(request, options, callback)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = buildIndicesGetDataStreams
|
||||||
@ -79,10 +79,10 @@ function buildIndicesPutAlias (opts) {
|
|||||||
|
|
||||||
if ((index) != null && (name) != null) {
|
if ((index) != null && (name) != null) {
|
||||||
if (method == null) method = 'PUT'
|
if (method == null) method = 'PUT'
|
||||||
path = '/' + encodeURIComponent(index) + '/' + '_aliases' + '/' + encodeURIComponent(name)
|
path = '/' + encodeURIComponent(index) + '/' + '_alias' + '/' + encodeURIComponent(name)
|
||||||
} else {
|
} else {
|
||||||
if (method == null) method = 'PUT'
|
if (method == null) method = 'PUT'
|
||||||
path = '/' + encodeURIComponent(index) + '/' + '_alias' + '/' + encodeURIComponent(name)
|
path = '/' + encodeURIComponent(index) + '/' + '_aliases' + '/' + encodeURIComponent(name)
|
||||||
}
|
}
|
||||||
|
|
||||||
// build request object
|
// build request object
|
||||||
|
|||||||
@ -15,9 +15,7 @@ function buildIndicesPutTemplate (opts) {
|
|||||||
'include_type_name',
|
'include_type_name',
|
||||||
'order',
|
'order',
|
||||||
'create',
|
'create',
|
||||||
'timeout',
|
|
||||||
'master_timeout',
|
'master_timeout',
|
||||||
'flat_settings',
|
|
||||||
'pretty',
|
'pretty',
|
||||||
'human',
|
'human',
|
||||||
'error_trace',
|
'error_trace',
|
||||||
@ -28,7 +26,6 @@ function buildIndicesPutTemplate (opts) {
|
|||||||
const snakeCase = {
|
const snakeCase = {
|
||||||
includeTypeName: 'include_type_name',
|
includeTypeName: 'include_type_name',
|
||||||
masterTimeout: 'master_timeout',
|
masterTimeout: 'master_timeout',
|
||||||
flatSettings: 'flat_settings',
|
|
||||||
errorTrace: 'error_trace',
|
errorTrace: 'error_trace',
|
||||||
filterPath: 'filter_path'
|
filterPath: 'filter_path'
|
||||||
}
|
}
|
||||||
|
|||||||
@ -25,6 +25,7 @@ function buildIndicesReloadSearchAnalyzers (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a indices.reload_search_analyzers request
|
* Perform a indices.reload_search_analyzers request
|
||||||
|
* Reloads an index's search analyzers and their resources.
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-reload-analyzers.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-reload-analyzers.html
|
||||||
*/
|
*/
|
||||||
return function indicesReloadSearchAnalyzers (params, options, callback) {
|
return function indicesReloadSearchAnalyzers (params, options, callback) {
|
||||||
|
|||||||
@ -30,7 +30,8 @@ function buildIndicesUnfreeze (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a indices.unfreeze request
|
* Perform a indices.unfreeze request
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/frozen.html
|
* Unfreezes an index. When a frozen index is unfrozen, the index goes through the normal recovery process and becomes writeable again.
|
||||||
|
* https://www.elastic.co/guide/en/elasticsearch/reference/current/unfreeze-index-api.html
|
||||||
*/
|
*/
|
||||||
return function indicesUnfreeze (params, options, callback) {
|
return function indicesUnfreeze (params, options, callback) {
|
||||||
options = options || {}
|
options = options || {}
|
||||||
|
|||||||
@ -21,6 +21,7 @@ function buildLicenseDelete (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a license.delete request
|
* Perform a license.delete request
|
||||||
|
* Deletes licensing information for the cluster
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/delete-license.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/master/delete-license.html
|
||||||
*/
|
*/
|
||||||
return function licenseDelete (params, options, callback) {
|
return function licenseDelete (params, options, callback) {
|
||||||
|
|||||||
@ -12,15 +12,17 @@ function buildLicenseGet (opts) {
|
|||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
const acceptedQuerystring = [
|
||||||
'local'
|
'local',
|
||||||
|
'accept_enterprise'
|
||||||
]
|
]
|
||||||
|
|
||||||
const snakeCase = {
|
const snakeCase = {
|
||||||
|
acceptEnterprise: 'accept_enterprise'
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a license.get request
|
* Perform a license.get request
|
||||||
|
* Retrieves licensing information for the cluster
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/get-license.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/master/get-license.html
|
||||||
*/
|
*/
|
||||||
return function licenseGet (params, options, callback) {
|
return function licenseGet (params, options, callback) {
|
||||||
|
|||||||
@ -21,6 +21,7 @@ function buildLicenseGetBasicStatus (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a license.get_basic_status request
|
* Perform a license.get_basic_status request
|
||||||
|
* Retrieves information about the status of the basic license.
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/get-basic-status.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/master/get-basic-status.html
|
||||||
*/
|
*/
|
||||||
return function licenseGetBasicStatus (params, options, callback) {
|
return function licenseGetBasicStatus (params, options, callback) {
|
||||||
|
|||||||
@ -21,6 +21,7 @@ function buildLicenseGetTrialStatus (opts) {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform a license.get_trial_status request
|
* Perform a license.get_trial_status request
|
||||||
|
* Retrieves information about the status of the trial license.
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/get-trial-status.html
|
* https://www.elastic.co/guide/en/elasticsearch/reference/master/get-trial-status.html
|
||||||
*/
|
*/
|
||||||
return function licenseGetTrialStatus (params, options, callback) {
|
return function licenseGetTrialStatus (params, options, callback) {
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user