Compare commits
742 Commits
7.7
...
backport-2
| Author | SHA1 | Date | |
|---|---|---|---|
| ca3b25c929 | |||
| 424cc94458 | |||
| 7aca5cf652 | |||
| a8927727b1 | |||
| 15a450eba4 | |||
| 8f028a522a | |||
| 411f379006 | |||
| 242b4227ee | |||
| 78332da539 | |||
| 62b2d78b15 | |||
| 599d7e6e07 | |||
| 6116909a9b | |||
| f609271107 | |||
| b4eb8e5441 | |||
| ccf9fcbd93 | |||
| 0c6f323745 | |||
| 04a9eb462d | |||
| 05eaa9fc61 | |||
| 30c6793383 | |||
| 6df75b6a92 | |||
| 383206ef19 | |||
| 069103612a | |||
| db911746a0 | |||
| 7b255bed98 | |||
| 74be52ebb1 | |||
| 0e5beddd65 | |||
| bd89ab5dd7 | |||
| c202a6bbc5 | |||
| 8e162dd8b8 | |||
| 2b0eebc8fa | |||
| f97ba5b02a | |||
| 72a1114186 | |||
| 542585a5dc | |||
| e1de2bd53d | |||
| 4be14a1f6c | |||
| a71ebb5f68 | |||
| 05f7078534 | |||
| b250049ee7 | |||
| fe2d8c1915 | |||
| b9ea8f8906 | |||
| 896216860f | |||
| 45e3c0657a | |||
| b65e468b95 | |||
| 768ba3d8ae | |||
| 2da30cd4cd | |||
| a13992ec7d | |||
| 95fd81a883 | |||
| 6f2aaa5c7c | |||
| b857d8ee71 | |||
| 4aa00e03e1 | |||
| e2974b0747 | |||
| 3bd7ba95f8 | |||
| f96aa32345 | |||
| 628254df2d | |||
| 1ef318aded | |||
| ec9a4dc960 | |||
| f3d9dfb48e | |||
| 7f7942e207 | |||
| d584836399 | |||
| c7cbe941db | |||
| 113b32258d | |||
| 6e63530801 | |||
| 38c17fd7f3 | |||
| 63eb92b42a | |||
| 7475dba8b9 | |||
| 3ad00b4a9f | |||
| 2721008867 | |||
| c106146d30 | |||
| 78dab89db8 | |||
| af2dbc01d3 | |||
| 3ac5a1cc65 | |||
| fba3e41862 | |||
| 6a821583c0 | |||
| 86d89a47a0 | |||
| 1d84468762 | |||
| 8afdec052a | |||
| b77bdf2a79 | |||
| d61d54a811 | |||
| d430aecdbd | |||
| 29a0e53978 | |||
| 05e3139f80 | |||
| 8b9ca79d5b | |||
| 24e1f4fb26 | |||
| fa33037b86 | |||
| c2fb0a294f | |||
| abd15eb111 | |||
| 352f73e7c2 | |||
| 1d8da99d5b | |||
| 8df91fce7c | |||
| 1607a0d3f7 | |||
| 57ee5cf6c2 | |||
| 6eabf37097 | |||
| 5413eb5f35 | |||
| 4aaf49b6ea | |||
| d3f22f1e14 | |||
| 51323e769d | |||
| 1fb789862d | |||
| c2c417a9fd | |||
| 06e3b05077 | |||
| 426919709f | |||
| b7b16d81ee | |||
| 845ddaaf34 | |||
| abd5018cfe | |||
| b47747007b | |||
| 5fb65d07af | |||
| 99bcff02d5 | |||
| ab10e462e7 | |||
| 3c5178c7ae | |||
| 9e2ff66564 | |||
| 1adc8c356a | |||
| 2d139e512b | |||
| 96d0adb715 | |||
| f1e83ae853 | |||
| a6392ebe07 | |||
| dc7d603f47 | |||
| 84a93c2ebf | |||
| f7ed0394bf | |||
| d194a220ea | |||
| a28a6a3654 | |||
| 78cc262939 | |||
| f7f1d7c52e | |||
| 186692c4b6 | |||
| 85fe814f79 | |||
| 65580b0a2d | |||
| 29960d84a8 | |||
| 1a9f1003fb | |||
| 10f7ba75a3 | |||
| 59caa7be59 | |||
| 57e84a9114 | |||
| 9e47fe2d3e | |||
| ff0fb27ebe | |||
| beaee47ca0 | |||
| 63b4b4c08a | |||
| a4be77425e | |||
| 516da3a720 | |||
| 49eccfbd00 | |||
| f72d146b0a | |||
| 13923b353b | |||
| 6e1c20989e | |||
| 9da7c44bb0 | |||
| 56b4a380c1 | |||
| 8d5e75d795 | |||
| ad86306a47 | |||
| c4c3be17a5 | |||
| a9bed7eacb | |||
| 787b3b03ef | |||
| 9aaf7585d3 | |||
| 7320868f62 | |||
| 33aae3c99a | |||
| 1049a0ffa0 | |||
| 80ba91645b | |||
| 6b4cdee53c | |||
| 5072e4afc3 | |||
| 296c4d432e | |||
| 6fef22d387 | |||
| 2375059aa3 | |||
| 53d3b4a83b | |||
| b223d8597c | |||
| 3bf69c370e | |||
| 960dff37f2 | |||
| 0b9be7c179 | |||
| b717de8f3f | |||
| ac694d3ede | |||
| a2b5e66a46 | |||
| f30d06b794 | |||
| 83c3f0c880 | |||
| 0ab63df567 | |||
| a89f714900 | |||
| de17dc050c | |||
| 5c4c29f51c | |||
| 10039d9b8f | |||
| 5d37ca6489 | |||
| e73eef084b | |||
| 89f7d54398 | |||
| 84c3de1850 | |||
| c55ba915fb | |||
| e8d69cf667 | |||
| 4f9f09cbd4 | |||
| 4b74e4136e | |||
| c9f31d22fd | |||
| bdb44d6d9a | |||
| b2b54f1ffe | |||
| 4011f0153f | |||
| 19d2ee324f | |||
| 583b80bdfa | |||
| 41cc5fa4dd | |||
| 0d4a29171a | |||
| 230cb77419 | |||
| a927c5c14c | |||
| c82005855f | |||
| 2c277ee2ba | |||
| a4ceb47e8d | |||
| 398a8fd0f1 | |||
| 996f818b1a | |||
| ce37b0fdf1 | |||
| 948f44a7a0 | |||
| 43ecba4dfa | |||
| f90f4306c2 | |||
| c5da6683f7 | |||
| 09d802a0ac | |||
| 096ef47d6a | |||
| 38e4b23831 | |||
| 04634af552 | |||
| f79f4e8f25 | |||
| 560dfd3763 | |||
| ebbc2961e0 | |||
| 6ccdab5280 | |||
| 8f9ed67fda | |||
| 4ebffbc0e8 | |||
| 282c76fb6a | |||
| 0a510b15f9 | |||
| 24890fd11d | |||
| be54dcd301 | |||
| 33e0873ecf | |||
| 27748779c6 | |||
| 697b594ea2 | |||
| 911af982b2 | |||
| 651165d842 | |||
| c58e93a77a | |||
| c4e793ca71 | |||
| 8604da555f | |||
| 57426c968b | |||
| 96b5b8eaba | |||
| eac00e1200 | |||
| 77c1ef36aa | |||
| 720b5b449b | |||
| a298517692 | |||
| 53ccd17dbf | |||
| f6c14b7268 | |||
| 4f1713c894 | |||
| af97ece807 | |||
| 46b2c99b7c | |||
| e0f54c789b | |||
| 6d2774d2a0 | |||
| 25d9afbc0b | |||
| d7e5ff5191 | |||
| 904c3bb28c | |||
| 33c4630a34 | |||
| 3e79c8e825 | |||
| d01582803c | |||
| e7c5b3dafa | |||
| 10277e217c | |||
| 03ecf707c9 | |||
| ca6948fb82 | |||
| 82cf15097d | |||
| 759138c375 | |||
| a0c5c98a99 | |||
| 451a805ecd | |||
| 071a6ba4bb | |||
| 7985aab860 | |||
| 4643a359fe | |||
| e915e4b9af | |||
| 048ad273b2 | |||
| 0fbdf10a68 | |||
| 16cefd8383 | |||
| f718b22e9b | |||
| b3c24659d8 | |||
| 3cfc31902e | |||
| 85d1968ce5 | |||
| 7e84827593 | |||
| 4ad5daeaf4 | |||
| dbfc8fc4d1 | |||
| 194614564a | |||
| 748b45e2ca | |||
| fbaee7f54f | |||
| e9b905f042 | |||
| ae3ea3013f | |||
| d6fb2ca569 | |||
| 288f377dae | |||
| 76659b604f | |||
| 88933ad39e | |||
| bf317be2a7 | |||
| 853fe27505 | |||
| f53c74e1a2 | |||
| a5a0a1c589 | |||
| 185697b6fe | |||
| 78c038d307 | |||
| a397d708a3 | |||
| 2a2fa720e4 | |||
| 8db750d1b0 | |||
| 529742ac1f | |||
| 66222f0111 | |||
| 702e71ec18 | |||
| 57608103fb | |||
| 0ad96fb921 | |||
| a761539ee5 | |||
| 5af2d6cd4d | |||
| 8c1504ff01 | |||
| 9af0ea8e1b | |||
| 3418c2ee6c | |||
| 5fc8dd9f59 | |||
| 4cf1fc6cd4 | |||
| 79b0a2f13c | |||
| 0b965c8c4d | |||
| 6dfd66ad06 | |||
| 63542d807f | |||
| 87ce166df1 | |||
| 4ae687416b | |||
| 1e1ac6a203 | |||
| 6aeeb48928 | |||
| 898fac2ec1 | |||
| 875f969ef8 | |||
| 0e35840e1b | |||
| dc74a80402 | |||
| 23633a1802 | |||
| 4492532727 | |||
| 070b9d75b9 | |||
| 8fffae2f76 | |||
| dfddfecfb2 | |||
| a26692c7e4 | |||
| 1a227459f0 | |||
| 4c72b981cd | |||
| 3feda5d9f6 | |||
| f28c93fe13 | |||
| de99b80816 | |||
| 212c3c4ffe | |||
| f7b653dff6 | |||
| b67d42cb5f | |||
| f981c273d6 | |||
| acb77fa3d1 | |||
| 470bc84eb7 | |||
| 8156252598 | |||
| ee50a8e770 | |||
| a7658b2a66 | |||
| a9b62049cd | |||
| 5447acb534 | |||
| a0dcace7cd | |||
| f161946984 | |||
| 77bf94a500 | |||
| f891fd53a2 | |||
| 4ae38ca7f0 | |||
| 969decde28 | |||
| 08b80844da | |||
| 5dab5d0abd | |||
| 2e70f7ba81 | |||
| 7814527439 | |||
| def28e33d1 | |||
| 498199ca60 | |||
| c100edcca2 | |||
| 7c59eda3db | |||
| 516f52e303 | |||
| 2d1505eb2b | |||
| b0a7a21f72 | |||
| 728868f3ea | |||
| 6686316433 | |||
| 28e57dd2e4 | |||
| 34571a94f8 | |||
| 304d251c3f | |||
| ff98e6310c | |||
| 17c744ed80 | |||
| 76f5845ac1 | |||
| 3137780d6b | |||
| d2ce46b8e0 | |||
| cab8d8be38 | |||
| 4073d60b97 | |||
| 101a13f63e | |||
| f2d8cf7d34 | |||
| 9bf3fdf8f1 | |||
| 4933e3b9be | |||
| 249118fac6 | |||
| 102520c304 | |||
| 894a33ce86 | |||
| 4e6ae5d2e8 | |||
| 5292fcae03 | |||
| c64152b9b3 | |||
| 507ed99e74 | |||
| c34a6690ba | |||
| b4b45459c8 | |||
| 728215f3c0 | |||
| 12ce270239 | |||
| c8851b86f4 | |||
| bf02b3d0e5 | |||
| 8d7136241a | |||
| 52d68a0e83 | |||
| 791f2168a3 | |||
| 7b87db49ae | |||
| 623bd72910 | |||
| ce6c459eab | |||
| d5f61c7833 | |||
| dc2de57bd3 | |||
| 147560ba44 | |||
| 0d1e1c2613 | |||
| 265eb2b225 | |||
| d1a5fc7cfa | |||
| 04c56fe269 | |||
| d2f77e9944 | |||
| d188e24626 | |||
| e3c15d39de | |||
| 6a6d8bc566 | |||
| 6464fc69f1 | |||
| cb78bb408b | |||
| b22558f047 | |||
| d7d55e1146 | |||
| 4102a28a0b | |||
| 7fdfa4834f | |||
| 052e138fbd | |||
| 226d0e3498 | |||
| 9fa1e12bd3 | |||
| 7a3cfe7e23 | |||
| f86a79cb26 | |||
| 430de17007 | |||
| 609da06fef | |||
| c96c41dc43 | |||
| ab3e809fc2 | |||
| 6a30cd9955 | |||
| 36eaed6466 | |||
| 22ece32c5c | |||
| f2204c5722 | |||
| 059a2c91ce | |||
| f150872726 | |||
| ab5d8997b8 | |||
| 7801b2cc13 | |||
| 8311a4ad04 | |||
| 973a98180a | |||
| 2b084dbadc | |||
| 79658b1784 | |||
| 19acc4f9d0 | |||
| 2409bd09e4 | |||
| 9e3072f621 | |||
| 2494f08ad2 | |||
| 883ef386e3 | |||
| 618b244473 | |||
| b0769bec11 | |||
| a91c55b1f8 | |||
| 5ed2548433 | |||
| 8aedb79419 | |||
| 61eee69424 | |||
| 4cace4c234 | |||
| 33035901cf | |||
| 9fea1aedc0 | |||
| 1398086f76 | |||
| 16901798f9 | |||
| 8cbb54016a | |||
| 502509cabc | |||
| 959aee5903 | |||
| 2cf3438cca | |||
| 90f6003dd7 | |||
| 66a4739018 | |||
| edd4f78bad | |||
| a62e26e901 | |||
| 797ef471f1 | |||
| cf48d9a690 | |||
| fc3883a181 | |||
| 87805fc17f | |||
| 3d664def25 | |||
| 505f748dba | |||
| 580364392e | |||
| 8ec40547fb | |||
| ea009da3b6 | |||
| 5682e680d1 | |||
| aaeadee940 | |||
| b8940533a9 | |||
| f5ea8ff5cd | |||
| 37983cba99 | |||
| 4792203b8f | |||
| 772fad09cc | |||
| 93990b88fb | |||
| 88ef53b0ef | |||
| 7b11152a12 | |||
| a064f0f357 | |||
| 19f570f067 | |||
| d211a9cb11 | |||
| 2894f14b7c | |||
| d6d7aeffb3 | |||
| 147ec0155d | |||
| 009ecc442f | |||
| 7f317d3321 | |||
| 96a54d0539 | |||
| f15ecd8477 | |||
| e86d38087e | |||
| 02ed45f76b | |||
| 858616d6c6 | |||
| ba39e8a440 | |||
| cf172d7937 | |||
| a4370cb28d | |||
| 26238634a7 | |||
| 629894adba | |||
| 51ab5b0b00 | |||
| 944dee219a | |||
| 58117792de | |||
| e6a4050b0b | |||
| 1e8bcbebfe | |||
| 5572939268 | |||
| 530f50be95 | |||
| 1592c4d575 | |||
| 39cf023426 | |||
| 1a7727588e | |||
| 9d30778614 | |||
| fa760f44b5 | |||
| 1a7968aba3 | |||
| d6c84f1a5d | |||
| 34a9176fbf | |||
| 8d7859d2e2 | |||
| 8c4042d913 | |||
| aa7d7b02ad | |||
| 71a74be321 | |||
| 33a4e4dc31 | |||
| 4711cf6d70 | |||
| 4b2cbdb809 | |||
| d16781e379 | |||
| 148f2fd864 | |||
| 83e5147d9d | |||
| b4d0dc87d3 | |||
| 04d082cb49 | |||
| 8e077b46a7 | |||
| b0e96f9644 | |||
| 59ab125f48 | |||
| 3efb63b34e | |||
| 7dfaa6c5b4 | |||
| 3751f50774 | |||
| 1d9238b432 | |||
| 80817a00f9 | |||
| dbbee273d9 | |||
| 1a25b623b0 | |||
| 84217fc737 | |||
| d1ad7bd22b | |||
| ac2d1dad53 | |||
| 803739b4cb | |||
| 4659b9849c | |||
| 8835d5af64 | |||
| 6f4127d87d | |||
| e3e4be3a5e | |||
| 191b8fb9fb | |||
| 22de806b67 | |||
| b109f60763 | |||
| 0d5c7a880f | |||
| 5db574a576 | |||
| 292218f946 | |||
| 9b4d2c13b0 | |||
| 5cd67ddbe2 | |||
| 50ffb5592f | |||
| dc998fdd87 | |||
| 3ab7712a8b | |||
| ae8ac21060 | |||
| 17959a41e1 | |||
| fd8f02b9df | |||
| 203bab278d | |||
| cfc21f56c2 | |||
| 0e659031e3 | |||
| 7717799ca6 | |||
| 8522f303ee | |||
| f6677c05cf | |||
| 6779f3b11a | |||
| e67b55d163 | |||
| d10e8bb9f3 | |||
| 27a8e2a9bf | |||
| 953a8033ab | |||
| df17fb99d0 | |||
| bdd38597d8 | |||
| bb28276553 | |||
| 1d24147ada | |||
| 2963fa6e0b | |||
| da35f71f2d | |||
| f913f7d2d2 | |||
| 85616b07ef | |||
| f99fe71b67 | |||
| 8de88b0154 | |||
| 153bc26b39 | |||
| d7836a16af | |||
| 6c82a4967e | |||
| a80f510a9a | |||
| 1b638d6992 | |||
| 354c13c033 | |||
| ed74570bc2 | |||
| 87579e4ca9 | |||
| 7f19628907 | |||
| b374fe9967 | |||
| 7e51d4cd8c | |||
| f1fcf4746d | |||
| 9a9057db9e | |||
| 6bf04473c9 | |||
| 41cc8a6d04 | |||
| 5445f0b22b | |||
| 030c5e8c43 | |||
| 94d4ac7525 | |||
| 58a2618f4c | |||
| 54ec923491 | |||
| 1c03ccc7af | |||
| 43ee0445fc | |||
| 0f2b79159e | |||
| db89df7b5c | |||
| 508aa362e6 | |||
| 7b7c9130f3 | |||
| 6d50c9fa30 | |||
| 32f3fef14f | |||
| 15ba60a0ec | |||
| fec4e837ac | |||
| 18a87fca82 | |||
| 6261dd7909 | |||
| d621d31d39 | |||
| b2c85f7797 | |||
| 0c4875aa6d | |||
| 6e7385a478 | |||
| 28205e97cf | |||
| 41927914bb | |||
| d701516dda | |||
| 4b54013248 | |||
| d2bc399d9b | |||
| 87ccc196a0 | |||
| 93d24dcc5b | |||
| 7945b68693 | |||
| ebb96e95bf | |||
| 5f1edbb199 | |||
| 416ace2e30 | |||
| 01b233428f | |||
| bc970a75f3 | |||
| acff983fc0 | |||
| b18cc25a0f | |||
| f3ccf7baa3 | |||
| 3953a2c542 | |||
| ec81ee40f8 | |||
| daf30653f1 | |||
| 2e33680047 | |||
| 7478913d6c | |||
| 436f1c891d | |||
| c548055886 | |||
| fc5156dbff | |||
| 8e113271b5 | |||
| 2abd2a8e7f | |||
| 8215327a03 | |||
| 185cfa394b | |||
| 6cef0aff18 | |||
| 59559f7200 | |||
| 01e045f491 | |||
| c69db0ba08 | |||
| e2ba0634bf | |||
| a174ea4721 | |||
| bb4b40b3fd | |||
| 0f1746014c | |||
| 1e1252383d | |||
| 177aae20e6 | |||
| c40eaab038 | |||
| e8aebeef57 | |||
| f3b044e60c | |||
| b439b6cb5a | |||
| def4be92c6 | |||
| 850a40b116 | |||
| 7ab9813995 | |||
| 28c3cd6f49 | |||
| 9866153ae7 | |||
| 99ba31df84 | |||
| e098f77a23 | |||
| 7ab5894331 | |||
| 5263c56fda | |||
| 82b6c2005b | |||
| c13d7c7847 | |||
| 7fef37cf90 | |||
| 90ad163151 | |||
| ce584b3211 | |||
| 69247496ce | |||
| 4ff1bd5110 | |||
| f7be49f2ba | |||
| ce90db86cf | |||
| dde40511cc | |||
| af6ea76a13 | |||
| 57ef613d9c | |||
| 34e440b9f8 | |||
| 4c1eaa5a54 | |||
| 2d2aea25ac | |||
| aab74299b4 | |||
| 9142b27d9e | |||
| 2e77a7d042 | |||
| 1f1b4c29fa | |||
| a948a98be6 | |||
| fa07de3284 | |||
| dd8491d723 | |||
| 032ec73dbd | |||
| 0039fad487 | |||
| 7c5992131b | |||
| db3ff14680 | |||
| 36a1666cc8 | |||
| 35b54bb673 | |||
| e93f94521c | |||
| 0ebbd71e9a | |||
| 24e674469e | |||
| 62e7ba5653 | |||
| 2bd1c66e6d | |||
| a752ea7403 | |||
| 45672e89f7 | |||
| b66064358a | |||
| 56931a426b | |||
| 6e3f88906b | |||
| ce16f28e8f | |||
| 33bc37b34c | |||
| 6c8b99f78a | |||
| ea3cd7dd58 | |||
| a3eb4d2874 | |||
| 1a3dbeb94b | |||
| d00564722e | |||
| eadf9a77e8 | |||
| 2186396570 | |||
| ca50f580f4 | |||
| a1ca9cdda0 | |||
| 097ecc5159 | |||
| f037e8115e | |||
| ff9904da03 | |||
| 930703b9eb | |||
| 95007b8c9d | |||
| 844206ec9d | |||
| ea1ecad13c | |||
| 7f77250ed5 | |||
| c76d0249c0 | |||
| 2f92b28bce | |||
| 37f11281aa | |||
| bde19d604d | |||
| 24bfff5e69 | |||
| 82a0a110b5 | |||
| 4fc4699a4d | |||
| 27610a76de | |||
| 802f7902a4 | |||
| 215cc036c3 | |||
| 269c0fc96a | |||
| 1261e60d41 | |||
| 6f4fb16200 | |||
| 9320ef939d | |||
| 8e8b7fbdee | |||
| 2f76b366ce | |||
| 349b832d2b | |||
| 928746d19f | |||
| e3a0e9ed56 | |||
| c35eb421cb | |||
| 2f665054f1 | |||
| c6ce062822 | |||
| 72fda2bdd5 | |||
| 28c0f2eeae | |||
| a21281fc48 | |||
| 2919f93b73 | |||
| 0d65274de3 | |||
| 5af9ec1040 | |||
| 5794ad54e4 | |||
| aea1ecfe15 | |||
| 52cd07eca3 | |||
| 373957c55c | |||
| 02e24ea981 | |||
| 0073756d3a | |||
| c92b156473 | |||
| e98edffd02 | |||
| 22d65e54ac | |||
| fb73b4b08d | |||
| f260549a4f | |||
| 5bc57b03bf | |||
| ad6f56c3f1 |
16
.buildkite/Dockerfile
Normal file
16
.buildkite/Dockerfile
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
ARG NODE_VERSION=${NODE_VERSION:-18}
|
||||||
|
FROM node:$NODE_VERSION
|
||||||
|
|
||||||
|
# Install required tools
|
||||||
|
RUN apt-get clean -y && \
|
||||||
|
apt-get -qy update && \
|
||||||
|
apt-get -y install zip && \
|
||||||
|
apt-get clean && \
|
||||||
|
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
|
||||||
|
|
||||||
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
|
COPY package.json .
|
||||||
|
RUN npm install --production=false
|
||||||
|
|
||||||
|
COPY . .
|
||||||
30
.buildkite/Dockerfile-make
Normal file
30
.buildkite/Dockerfile-make
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
ARG NODE_JS_VERSION=${NODE_JS_VERSION:-18}
|
||||||
|
FROM node:${NODE_JS_VERSION}
|
||||||
|
|
||||||
|
ARG BUILDER_UID=1000
|
||||||
|
ARG BUILDER_GID=1000
|
||||||
|
ENV BUILDER_USER elastic
|
||||||
|
ENV BUILDER_GROUP elastic
|
||||||
|
|
||||||
|
# install zip util
|
||||||
|
RUN apt-get clean -y && \
|
||||||
|
apt-get update -y && \
|
||||||
|
apt-get install -y zip
|
||||||
|
|
||||||
|
# Set user permissions and directory
|
||||||
|
RUN (id -g ${BUILDER_GID} || groupadd --system -g ${BUILDER_GID} ${BUILDER_GROUP}) \
|
||||||
|
&& (id -u ${BUILDER_UID} || useradd --system --shell /bin/bash -u ${BUILDER_UID} -g ${BUILDER_GID} -m elastic) \
|
||||||
|
&& mkdir -p /usr/src/elasticsearch-js \
|
||||||
|
&& chown -R ${BUILDER_UID}:${BUILDER_GID} /usr/src/
|
||||||
|
|
||||||
|
WORKDIR /usr/src/elasticsearch-js
|
||||||
|
|
||||||
|
# run remainder of commands as non-root user
|
||||||
|
USER ${BUILDER_UID}:${BUILDER_GID}
|
||||||
|
|
||||||
|
# install dependencies
|
||||||
|
COPY package.json .
|
||||||
|
RUN npm install --production=false
|
||||||
|
|
||||||
|
# copy project files
|
||||||
|
COPY . .
|
||||||
21
.buildkite/certs/testnode.crt
Executable file
21
.buildkite/certs/testnode.crt
Executable file
@ -0,0 +1,21 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIDYjCCAkqgAwIBAgIVAIClHav09e9XGWJrnshywAjUHTnXMA0GCSqGSIb3DQEB
|
||||||
|
CwUAMDQxMjAwBgNVBAMTKUVsYXN0aWMgQ2VydGlmaWNhdGUgVG9vbCBBdXRvZ2Vu
|
||||||
|
ZXJhdGVkIENBMB4XDTIzMDMyODE3MDIzOVoXDTI2MDMyNzE3MDIzOVowEzERMA8G
|
||||||
|
A1UEAxMIaW5zdGFuY2UwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCV
|
||||||
|
+t5/g6u2r3awCtzqp17KG0hRxzkVoJoF8DYzVh+Rv9ymxQW0C/U8dQihAjkZHaIA
|
||||||
|
n49lSyNLkwWtmqQgPcimV4d6XuTYx2ahDixXYtjmoOSwH5dRtovKPCNKDPkUj9Vq
|
||||||
|
NwMW0uB1VxniMKI4DnYFqBgHL9kQKhQqvas6Gx0X6ptGRCLYCtVxeFcau6nnkZJt
|
||||||
|
urb+HNV5waOh0uTmsqnnslK3NjCQ/f030vPKxM5fOqOU5ajUHpZFJ6ZFmS32074H
|
||||||
|
l+mZoRT/GtbnVtIg+CJXsWThF3/L4iBImv+rkY9MKX5fyMLJgmIJG68S90IQGR8c
|
||||||
|
Z2lZYzC0J7zjMsYlODbDAgMBAAGjgYswgYgwHQYDVR0OBBYEFIDIcECn3AVHc3jk
|
||||||
|
MpQ4r7Kc3WCsMB8GA1UdIwQYMBaAFJYCWKn16g+acbing4Vl45QGUBs0MDsGA1Ud
|
||||||
|
EQQ0MDKCCWxvY2FsaG9zdIIIaW5zdGFuY2WHBH8AAAGHEAAAAAAAAAAAAAAAAAAA
|
||||||
|
AAGCA2VzMTAJBgNVHRMEAjAAMA0GCSqGSIb3DQEBCwUAA4IBAQBtX3RQ5ATpfORM
|
||||||
|
lrnhaUPGOWkjnb3p3BrdAWUaWoh136QhaXqxKiALQQhTtTerkXOcuquy9MmAyYvS
|
||||||
|
9fDdGvLCAO8pPCXjnzonCHerCLGdS7f/eqvSFWCdy7LPHzTAFYfVWVvbZed+83TL
|
||||||
|
bDY63AMwIexj34vJEStMapuFwWx05fstE8qZWIbYCL87sF5H/MRhzlz3ScAhQ1N7
|
||||||
|
tODH7zvLzSxFGGEzCIKZ0iPFKbd3Y0wE6SptDSKhOqlnC8kkNeI2GjWsqVfHKsoF
|
||||||
|
pDFmri7IfOucuvalXJ6xiHPr9RDbuxEXs0u8mteT5nFQo7EaEGdHpg1pNGbfBOzP
|
||||||
|
lmj/dRS9
|
||||||
|
-----END CERTIFICATE-----
|
||||||
27
.buildkite/certs/testnode.key
Executable file
27
.buildkite/certs/testnode.key
Executable file
@ -0,0 +1,27 @@
|
|||||||
|
-----BEGIN RSA PRIVATE KEY-----
|
||||||
|
MIIEowIBAAKCAQEAlfref4Ortq92sArc6qdeyhtIUcc5FaCaBfA2M1Yfkb/cpsUF
|
||||||
|
tAv1PHUIoQI5GR2iAJ+PZUsjS5MFrZqkID3IpleHel7k2MdmoQ4sV2LY5qDksB+X
|
||||||
|
UbaLyjwjSgz5FI/VajcDFtLgdVcZ4jCiOA52BagYBy/ZECoUKr2rOhsdF+qbRkQi
|
||||||
|
2ArVcXhXGrup55GSbbq2/hzVecGjodLk5rKp57JStzYwkP39N9LzysTOXzqjlOWo
|
||||||
|
1B6WRSemRZkt9tO+B5fpmaEU/xrW51bSIPgiV7Fk4Rd/y+IgSJr/q5GPTCl+X8jC
|
||||||
|
yYJiCRuvEvdCEBkfHGdpWWMwtCe84zLGJTg2wwIDAQABAoIBAAEP7HYNNnDWdYMD
|
||||||
|
+WAtYM12X/W5s/wUP94juaBI4u4iZH2EZodlixEdZUCTXgq43WsDUhxX05s7cE+p
|
||||||
|
H5DuSCHtoo2WHvGKAposwRDm2f3YVWQ2Xyb2ahNt69LYHHWrO+XQ60YYTa3r8Gn3
|
||||||
|
7dFR3I016/jyn5DeEVaglvS1dfj2UG4ybR4KkMfcKd94X0rKvz3wzAhHIh+hwMtv
|
||||||
|
sVk7V4vSnKf2mJXwIVECTolnEJEkCjWjjymgUJYKT8yN7JnAsHRcvMa6kWwIGrLp
|
||||||
|
oQCEaJwYM6ynCRS989pLt3vA2iu5VkYhiHXJ9Ds/5b5yzhzmj+ymzKbFKrrUUrmn
|
||||||
|
+2Jp1K0CgYEAw8BchALsD/+JuoXjinA14MH7PZjIsXyhtPk+c4pk42iMNyg1J8XF
|
||||||
|
Y/ITepLYsl2bZqQI1jOJdDqsTwIsva9r749lsmkYI3VOxhi7+qBK0sThR66C87lX
|
||||||
|
iU2QpnZ9NloC6ort4a3MEvZ/gRQcXdBrNlNoza2p7PHAVDTnsdSrNKUCgYEAxCQV
|
||||||
|
uo85oZyfnMufn/gcI9IeYOgiB0tO3a8cAFX2wQW1y935t6Z13ApUQc4EnCOH7ZBc
|
||||||
|
td5kT+xGdRWnfPZ38FM1dd5MBdGE69s3q8pJDUExSgNLqaF6/5bD32qui66L3ugu
|
||||||
|
eMjxrzqJsc2uQTPCs18SGsyRmf54DpY8HglOmUcCgYAGRDgx+a347SNJl1OrcOAo
|
||||||
|
q80RMbzrAaRjmL8JD9se9I/YjC73cPtasbsx51WMkDaTWJj30nqJ//7YIKeyAtWf
|
||||||
|
u6Vzyq19JRo6eTw7T7pVePwFQW7rwnks6hDBY3WqscL6IyxuVxP7X2zBgxVNY4ir
|
||||||
|
Gox2WSLhdPPFPlRUewxoCQKBgAJvqE1u5fpZ5ame5dao0ECppXLyrymEB/C88g4X
|
||||||
|
Az+WgJGNqkJbsO8QuccvdeMylcefmWcw4fIULzPZFwF4VjkH74wNPMh9t7buPBzI
|
||||||
|
IGwnuSMAM3ph5RMzni8yNgTKIDaej6U0abwRcBBjS5zHtc1giusGS3CsNnWH7Cs7
|
||||||
|
VlyVAoGBAK+prq9t9x3tC3NfCZH8/Wfs/X0T1qm11RiL5+tOhmbguWAqSSBy8OjX
|
||||||
|
Yh8AOXrFuMGldcaTXxMeiKvI2cyybnls1MFsPoeV/fSMJbex7whdeJeTi66NOSKr
|
||||||
|
oftUHvkHS0Vv/LicMEOufFGslb4T9aPJ7oyhoSlz9CfAutDWk/q/
|
||||||
|
-----END RSA PRIVATE KEY-----
|
||||||
2
.ci/functions/cleanup.sh → .buildkite/functions/cleanup.sh
Normal file → Executable file
2
.ci/functions/cleanup.sh → .buildkite/functions/cleanup.sh
Normal file → Executable file
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Shared cleanup routines between different steps
|
# Shared cleanup routines between different steps
|
||||||
#
|
#
|
||||||
# Please source .ci/functions/imports.sh as a whole not just this file
|
# Please source .buildkite/functions/imports.sh as a whole not just this file
|
||||||
#
|
#
|
||||||
# Version 1.0.0
|
# Version 1.0.0
|
||||||
# - Initial version after refactor
|
# - Initial version after refactor
|
||||||
10
.ci/functions/imports.sh → .buildkite/functions/imports.sh
Normal file → Executable file
10
.ci/functions/imports.sh → .buildkite/functions/imports.sh
Normal file → Executable file
@ -18,7 +18,7 @@ require_stack_version
|
|||||||
if [[ -z $es_node_name ]]; then
|
if [[ -z $es_node_name ]]; then
|
||||||
# only set these once
|
# only set these once
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
export TEST_SUITE=${TEST_SUITE-oss}
|
export TEST_SUITE=${TEST_SUITE-free}
|
||||||
export RUNSCRIPTS=${RUNSCRIPTS-}
|
export RUNSCRIPTS=${RUNSCRIPTS-}
|
||||||
export DETACH=${DETACH-false}
|
export DETACH=${DETACH-false}
|
||||||
export CLEANUP=${CLEANUP-false}
|
export CLEANUP=${CLEANUP-false}
|
||||||
@ -26,11 +26,11 @@ if [[ -z $es_node_name ]]; then
|
|||||||
export es_node_name=instance
|
export es_node_name=instance
|
||||||
export elastic_password=changeme
|
export elastic_password=changeme
|
||||||
export elasticsearch_image=elasticsearch
|
export elasticsearch_image=elasticsearch
|
||||||
export elasticsearch_url=https://elastic:${elastic_password}@${es_node_name}:9200
|
export elasticsearch_scheme="https"
|
||||||
if [[ $TEST_SUITE != "xpack" ]]; then
|
if [[ $TEST_SUITE != "platinum" ]]; then
|
||||||
export elasticsearch_image=elasticsearch-${TEST_SUITE}
|
export elasticsearch_scheme="http"
|
||||||
export elasticsearch_url=http://${es_node_name}:9200
|
|
||||||
fi
|
fi
|
||||||
|
export elasticsearch_url=${elasticsearch_scheme}://elastic:${elastic_password}@${es_node_name}:9200
|
||||||
export external_elasticsearch_url=${elasticsearch_url/$es_node_name/localhost}
|
export external_elasticsearch_url=${elasticsearch_url/$es_node_name/localhost}
|
||||||
export elasticsearch_container="${elasticsearch_image}:${STACK_VERSION}"
|
export elasticsearch_container="${elasticsearch_image}:${STACK_VERSION}"
|
||||||
|
|
||||||
2
.ci/functions/wait-for-container.sh → .buildkite/functions/wait-for-container.sh
Normal file → Executable file
2
.ci/functions/wait-for-container.sh → .buildkite/functions/wait-for-container.sh
Normal file → Executable file
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# Exposes a routine scripts can call to wait for a container if that container set up a health command
|
# 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
|
# Please source .buildkite/functions/imports.sh as a whole not just this file
|
||||||
#
|
#
|
||||||
# Version 1.0.1
|
# Version 1.0.1
|
||||||
# - Initial version after refactor
|
# - Initial version after refactor
|
||||||
140
.buildkite/make.mjs
Normal file
140
.buildkite/make.mjs
Normal file
@ -0,0 +1,140 @@
|
|||||||
|
/*
|
||||||
|
* Licensed to Elasticsearch B.V. under one or more contributor
|
||||||
|
* license agreements. See the NOTICE file distributed with
|
||||||
|
* this work for additional information regarding copyright
|
||||||
|
* ownership. Elasticsearch B.V. licenses this file to you under
|
||||||
|
* the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
* not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing,
|
||||||
|
* software distributed under the License is distributed on an
|
||||||
|
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
||||||
|
* KIND, either express or implied. See the License for the
|
||||||
|
* specific language governing permissions and limitations
|
||||||
|
* under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* global $ argv */
|
||||||
|
|
||||||
|
'use strict'
|
||||||
|
|
||||||
|
import 'zx/globals'
|
||||||
|
|
||||||
|
import { readFile, writeFile } from 'fs/promises'
|
||||||
|
import assert from 'assert'
|
||||||
|
import { join } from 'desm'
|
||||||
|
import semver from 'semver'
|
||||||
|
|
||||||
|
// xz/globals loads minimist-parsed args as a global `argv`, but it
|
||||||
|
// interprets args like '8.10' as numbers and shortens them to '8.1'.
|
||||||
|
// so we have to import and configure minimist ourselves.
|
||||||
|
import minimist from 'minimist'
|
||||||
|
const argv = minimist(process.argv.slice(2), { string: ['_', 'task'] })
|
||||||
|
assert(typeof argv.task === 'string', 'Missing task parameter')
|
||||||
|
|
||||||
|
switch (argv.task) {
|
||||||
|
case 'release':
|
||||||
|
release(argv._).catch(onError)
|
||||||
|
break
|
||||||
|
case 'bump':
|
||||||
|
bump(argv._).catch(onError)
|
||||||
|
break
|
||||||
|
case 'codegen':
|
||||||
|
codegen(argv._).catch(onError)
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
console.log(`Unknown task: ${argv.task}`)
|
||||||
|
process.exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
async function release (args) {
|
||||||
|
assert(args.length === 2, 'Release task expects two parameters')
|
||||||
|
let [version, outputFolder] = args
|
||||||
|
|
||||||
|
if (process.env.WORKFLOW === 'snapshot' && !version.endsWith('SNAPSHOT')) {
|
||||||
|
version = `${version}-SNAPSHOT`
|
||||||
|
}
|
||||||
|
|
||||||
|
await bump([version])
|
||||||
|
|
||||||
|
const packageJson = JSON.parse(await readFile(
|
||||||
|
join(import.meta.url, '..', 'package.json'),
|
||||||
|
'utf8'
|
||||||
|
))
|
||||||
|
|
||||||
|
await $`npm run build`
|
||||||
|
await $`npm pack`
|
||||||
|
await $`zip elasticsearch-js-${version}.zip elastic-elasticsearch-${packageJson.version}.tgz`
|
||||||
|
await $`rm elastic-elasticsearch-${packageJson.version}.tgz`
|
||||||
|
await $`mv ${join(import.meta.url, '..', `elasticsearch-js-${version}.zip`)} ${join(import.meta.url, '..', outputFolder, `elasticsearch-js-${version}.zip`)}`
|
||||||
|
}
|
||||||
|
|
||||||
|
async function bump (args) {
|
||||||
|
assert(args.length === 1, 'Bump task expects one parameter')
|
||||||
|
let [version] = args
|
||||||
|
const packageJson = JSON.parse(await readFile(
|
||||||
|
join(import.meta.url, '..', 'package.json'),
|
||||||
|
'utf8'
|
||||||
|
))
|
||||||
|
|
||||||
|
if (version.split('.').length === 2) version = `${version}.0`
|
||||||
|
const cleanVersion = semver.clean(version.includes('SNAPSHOT') ? version.split('-')[0] : version)
|
||||||
|
assert(semver.valid(cleanVersion), `${cleanVersion} is not seen as a valid semver version. raw version: ${version}`)
|
||||||
|
packageJson.version = cleanVersion
|
||||||
|
packageJson.versionCanary = `${cleanVersion}-canary.0`
|
||||||
|
|
||||||
|
await writeFile(
|
||||||
|
join(import.meta.url, '..', 'package.json'),
|
||||||
|
JSON.stringify(packageJson, null, 2),
|
||||||
|
'utf8'
|
||||||
|
)
|
||||||
|
|
||||||
|
const pipeline = await readFile(join(import.meta.url, '..', '.buildkite', 'pipeline.yml'), 'utf8')
|
||||||
|
await writeFile(
|
||||||
|
join(import.meta.url, '..', '.buildkite', 'pipeline.yml'),
|
||||||
|
pipeline.replace(/STACK_VERSION: [0-9]+[0-9\.]*[0-9](?:\-SNAPSHOT)?/, `STACK_VERSION: ${cleanVersion}`),
|
||||||
|
'utf8'
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// this command can only be executed locally for now
|
||||||
|
async function codegen (args) {
|
||||||
|
assert(args.length === 1, 'Codegen task expects one parameter')
|
||||||
|
const version = args[0].toString()
|
||||||
|
|
||||||
|
const clientGeneratorPath = join(import.meta.url, '..', '..', 'elastic-client-generator-js')
|
||||||
|
const isGeneratorCloned = await $`[[ -d ${clientGeneratorPath} ]]`.exitCode === 0
|
||||||
|
assert(isGeneratorCloned, 'You must clone the elastic-client-generator-js first')
|
||||||
|
|
||||||
|
await $`npm install --prefix ${clientGeneratorPath}`
|
||||||
|
|
||||||
|
// generate elasticsearch client. this command will take a while!
|
||||||
|
if (version === 'main') {
|
||||||
|
await $`npm run elasticsearch --prefix ${clientGeneratorPath} -- --version main`
|
||||||
|
} else {
|
||||||
|
await $`npm run elasticsearch --prefix ${clientGeneratorPath} -- --version ${version.split('.').slice(0, 2).join('.')}`
|
||||||
|
}
|
||||||
|
// clean up fixable linter issues
|
||||||
|
await $`npm run fix --prefix ${clientGeneratorPath}`
|
||||||
|
|
||||||
|
await $`rm -rf ${join(import.meta.url, '..', 'src', 'api')}`
|
||||||
|
await $`mkdir ${join(import.meta.url, '..', 'src', 'api')}`
|
||||||
|
await $`cp -R ${join(import.meta.url, '..', '..', 'elastic-client-generator-js', 'output')}/* ${join(import.meta.url, '..', 'src', 'api')}`
|
||||||
|
await $`mv ${join(import.meta.url, '..', 'src', 'api', 'reference.asciidoc')} ${join(import.meta.url, '..', 'docs', 'reference.asciidoc')}`
|
||||||
|
await $`npm run build`
|
||||||
|
|
||||||
|
// run docs example generation
|
||||||
|
if (version === 'main') {
|
||||||
|
await $`node ./scripts/generate-docs-examples.js`
|
||||||
|
} else {
|
||||||
|
await $`node ./scripts/generate-docs-examples.js ${version.split('.').slice(0, 2).join('.')}`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function onError (err) {
|
||||||
|
console.log(err)
|
||||||
|
process.exit(1)
|
||||||
|
}
|
||||||
32
.buildkite/pipeline.yml
Normal file
32
.buildkite/pipeline.yml
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
---
|
||||||
|
steps:
|
||||||
|
- label: ":elasticsearch: :javascript: ES JavaScript ({{ matrix.nodejs }}) Test Suite: {{ matrix.suite }}"
|
||||||
|
agents:
|
||||||
|
provider: "gcp"
|
||||||
|
env:
|
||||||
|
NODE_VERSION: "{{ matrix.nodejs }}"
|
||||||
|
TEST_SUITE: "{{ matrix.suite }}"
|
||||||
|
STACK_VERSION: 8.15.0
|
||||||
|
matrix:
|
||||||
|
setup:
|
||||||
|
suite:
|
||||||
|
- "free"
|
||||||
|
- "platinum"
|
||||||
|
nodejs:
|
||||||
|
- "18"
|
||||||
|
- "20"
|
||||||
|
- "22"
|
||||||
|
command: ./.buildkite/run-tests.sh
|
||||||
|
artifact_paths: "./junit-output/junit-*.xml"
|
||||||
|
- wait: ~
|
||||||
|
continue_on_failure: true
|
||||||
|
- label: ":junit: Test results"
|
||||||
|
agents:
|
||||||
|
provider: "gcp"
|
||||||
|
image: family/core-ubuntu-2204
|
||||||
|
plugins:
|
||||||
|
- junit-annotate#v2.4.1:
|
||||||
|
artifacts: "junit-output/junit-*.xml"
|
||||||
|
job-uuid-file-pattern: "junit-(.*).xml"
|
||||||
|
fail-build-on-error: true
|
||||||
|
failure-format: file
|
||||||
19
.buildkite/pull-requests.json
Normal file
19
.buildkite/pull-requests.json
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
{
|
||||||
|
"jobs": [
|
||||||
|
{
|
||||||
|
"enabled": true,
|
||||||
|
"pipeline_slug": "elasticsearch-js-integration-tests",
|
||||||
|
"allowed_repo_permissions": ["admin", "write"],
|
||||||
|
"build_on_commit": true,
|
||||||
|
"skip_ci_on_only_changed": [
|
||||||
|
"\\.md$",
|
||||||
|
"\\.asciidoc$",
|
||||||
|
"^docs\\/",
|
||||||
|
"^scripts\\/",
|
||||||
|
"^catalog-info\\.yaml$",
|
||||||
|
"^test\\/unit\\/",
|
||||||
|
"^\\.github\\/"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
31
.buildkite/run-client.sh
Executable file
31
.buildkite/run-client.sh
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Once called Elasticsearch should be up and running
|
||||||
|
#
|
||||||
|
script_path=$(dirname "$(realpath -s "$0")")
|
||||||
|
set -euo pipefail
|
||||||
|
repo=$(pwd)
|
||||||
|
|
||||||
|
export NODE_VERSION=${NODE_VERSION:-18}
|
||||||
|
|
||||||
|
echo "--- :javascript: Building Docker image"
|
||||||
|
docker build \
|
||||||
|
--file "$script_path/Dockerfile" \
|
||||||
|
--tag elastic/elasticsearch-js \
|
||||||
|
--build-arg NODE_VERSION="$NODE_VERSION" \
|
||||||
|
.
|
||||||
|
|
||||||
|
echo "--- :javascript: Running $TEST_SUITE tests"
|
||||||
|
mkdir -p "$repo/junit-output"
|
||||||
|
docker run \
|
||||||
|
--network="${network_name}" \
|
||||||
|
--env "TEST_ES_SERVER=${elasticsearch_url}" \
|
||||||
|
--env "ELASTIC_PASSWORD=${elastic_password}" \
|
||||||
|
--env "TEST_SUITE=${TEST_SUITE}" \
|
||||||
|
--env "ELASTIC_USER=elastic" \
|
||||||
|
--env "BUILDKITE=true" \
|
||||||
|
--volume "$repo/junit-output:/junit-output" \
|
||||||
|
--name elasticsearch-js \
|
||||||
|
--rm \
|
||||||
|
elastic/elasticsearch-js \
|
||||||
|
bash -c "npm run test:integration; [ -f ./$TEST_SUITE-report-junit.xml ] && mv ./$TEST_SUITE-report-junit.xml /junit-output/junit-$BUILDKITE_JOB_ID.xml || echo 'No JUnit artifact found'"
|
||||||
155
.buildkite/run-elasticsearch.sh
Executable file
155
.buildkite/run-elasticsearch.sh
Executable file
@ -0,0 +1,155 @@
|
|||||||
|
#!/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. 'free' or 'platinum' defaults to 'free'.
|
||||||
|
# Export the NUMBER_OF_NODES variable to start more than 1 node
|
||||||
|
|
||||||
|
# Version 1.6.1
|
||||||
|
# - 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
|
||||||
|
# - Added 5 retries on docker pull for fixing transient network errors
|
||||||
|
# - Added flags to make local CCR configurations work
|
||||||
|
# - Added action.destructive_requires_name=false as the default will be true in v8
|
||||||
|
# - Added ingest.geoip.downloader.enabled=false as it causes false positives in testing
|
||||||
|
# - Moved ELASTIC_PASSWORD and xpack.security.enabled to the base arguments for "Security On by default"
|
||||||
|
# - Use https only when TEST_SUITE is "platinum", when "free" use http
|
||||||
|
# - Set xpack.security.enabled=false for "free" and xpack.security.enabled=true for "platinum"
|
||||||
|
|
||||||
|
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 separate terminals \033[0m"
|
||||||
|
cleanup_node $es_node_name
|
||||||
|
|
||||||
|
master_node_name=${es_node_name}
|
||||||
|
cluster_name=${moniker}${suffix}
|
||||||
|
|
||||||
|
# Set vm.max_map_count kernel setting to 262144
|
||||||
|
if [ "$(sysctl vm.max_map_count)" != 'vm.max_map_count = 262144' ]; then
|
||||||
|
echo "vm.max_map_count may be too low. resetting."
|
||||||
|
sudo sysctl -w vm.max_map_count=262144
|
||||||
|
fi
|
||||||
|
|
||||||
|
declare -a volumes
|
||||||
|
environment=($(cat <<-END
|
||||||
|
--env ELASTIC_PASSWORD=$elastic_password
|
||||||
|
--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*
|
||||||
|
--env action.destructive_requires_name=false
|
||||||
|
--env ingest.geoip.downloader.enabled=false
|
||||||
|
--env cluster.deprecation_indexing.enabled=false
|
||||||
|
END
|
||||||
|
))
|
||||||
|
if [[ "$TEST_SUITE" == "platinum" ]]; then
|
||||||
|
environment+=($(cat <<-END
|
||||||
|
--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.verification_mode=certificate
|
||||||
|
--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
|
||||||
|
))
|
||||||
|
else
|
||||||
|
environment+=($(cat <<-END
|
||||||
|
--env node.roles=data,data_cold,data_content,data_frozen,data_hot,data_warm,ingest,master,ml,remote_cluster_client,transform
|
||||||
|
--env xpack.security.enabled=false
|
||||||
|
--env xpack.security.http.ssl.enabled=false
|
||||||
|
END
|
||||||
|
))
|
||||||
|
fi
|
||||||
|
|
||||||
|
cert_validation_flags=""
|
||||||
|
if [[ "$TEST_SUITE" == "platinum" ]]; then
|
||||||
|
cert_validation_flags="--insecure --cacert /usr/share/elasticsearch/config/certs/ca.crt --resolve ${es_node_name}:443:127.0.0.1"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "--- :elasticsearch: Environment setup"
|
||||||
|
echo "TEST_SUITE: $TEST_SUITE"
|
||||||
|
echo "Elasticsearch URL: $elasticsearch_url"
|
||||||
|
echo "Elasticsearch External URL: $external_elasticsearch_url"
|
||||||
|
|
||||||
|
|
||||||
|
echo "--- :elasticsearch: Running container"
|
||||||
|
# Pull the container, retry on failures up to 5 times with
|
||||||
|
# short delays between each attempt. Fixes most transient network errors.
|
||||||
|
docker_pull_attempts=0
|
||||||
|
until [ "$docker_pull_attempts" -ge 5 ]
|
||||||
|
do
|
||||||
|
docker pull docker.elastic.co/elasticsearch/"$elasticsearch_container" && break
|
||||||
|
docker_pull_attempts=$((docker_pull_attempts+1))
|
||||||
|
echo "Failed to pull image, retrying in 10 seconds (retry $docker_pull_attempts/5)..."
|
||||||
|
sleep 10
|
||||||
|
done
|
||||||
|
|
||||||
|
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 -da:org.elasticsearch.xpack.ccr.index.engine.FollowingEngineAssertions" \
|
||||||
|
"${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
|
||||||
16
.buildkite/run-tests.sh
Executable file
16
.buildkite/run-tests.sh
Executable file
@ -0,0 +1,16 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
#
|
||||||
|
# Script to run Elasticsearch container and Elasticsearch client integration tests on Buildkite
|
||||||
|
#
|
||||||
|
# Version 0.1
|
||||||
|
#
|
||||||
|
script_path=$(dirname "$(realpath -s "$0")")
|
||||||
|
source "$script_path/functions/imports.sh"
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
echo "--- :elasticsearch: Starting Elasticsearch"
|
||||||
|
DETACH=true bash "$script_path/run-elasticsearch.sh"
|
||||||
|
|
||||||
|
echo "+++ :javascript: Run Client"
|
||||||
|
bash "$script_path/run-client.sh"
|
||||||
@ -1,11 +0,0 @@
|
|||||||
ARG NODE_JS_VERSION=10
|
|
||||||
FROM node:${NODE_JS_VERSION}
|
|
||||||
|
|
||||||
# Create app directory
|
|
||||||
WORKDIR /usr/src/app
|
|
||||||
|
|
||||||
# Install app dependencies
|
|
||||||
COPY package*.json ./
|
|
||||||
RUN npm install
|
|
||||||
|
|
||||||
COPY . .
|
|
||||||
@ -1,19 +0,0 @@
|
|||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIDIzCCAgugAwIBAgIVAMTO6uVx9dLox2t0lY4IcBKZXb5WMA0GCSqGSIb3DQEB
|
|
||||||
CwUAMDQxMjAwBgNVBAMTKUVsYXN0aWMgQ2VydGlmaWNhdGUgVG9vbCBBdXRvZ2Vu
|
|
||||||
ZXJhdGVkIENBMB4XDTIwMDIyNjA1NTA1OVoXDTIzMDIyNTA1NTA1OVowEzERMA8G
|
|
||||||
A1UEAxMIaW5zdGFuY2UwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDK
|
|
||||||
YLTOikVENiN/qYupOsoXd7VYYnryyfCC/dK4FC2aozkbqjFzBdvPGAasoc4yEiH5
|
|
||||||
CGeXMgJuOjk1maqetmdIsw00j4oHJviYsnGXzxxS5swhD7spcW4Uk4V4tAUzrbfT
|
|
||||||
vW/2WW/yYCLe5phVb2chz0jL+WYb4bBmdfs/t6RtP9RqsplYAmVp3gZ6lt2YNtvE
|
|
||||||
k9gz0TVk3DuO1TquIClfRYUjuywS6xDSvxJ8Jl91EfDWM8QU+9F+YAtiv74xl2U3
|
|
||||||
P0wwMqNvMxf9/3ak3lTQGsgO4L6cwbKpVLMMzxSVunZz/sgl19xy3qHHz1Qr2MjJ
|
|
||||||
/2c2J7vahUL4NPRkjJClAgMBAAGjTTBLMB0GA1UdDgQWBBS2Wn8E2VZv4oenY+pR
|
|
||||||
O8G3zfQXhzAfBgNVHSMEGDAWgBSWAlip9eoPmnG4p4OFZeOUBlAbNDAJBgNVHRME
|
|
||||||
AjAAMA0GCSqGSIb3DQEBCwUAA4IBAQAvwPvCiJJ6v9jYcyvYY8I3gP0oCwrylpRL
|
|
||||||
n91UlgRSHUmuAObyOoVN5518gSV/bTU2SDrstcLkLFxHvnfpoGJoxsQEHuGxwDRI
|
|
||||||
nhYNd62EKLerehNM/F9ILKmvTh8f6QPCzjUuExTXv+63l2Sr6dBS7FHsGs6UKUYO
|
|
||||||
llM/y9wMZ1LCuZuBg9RhtgpFXRSgDM9Z7Begu0d/BPX9od/qAeZg9Arz4rwUiCN4
|
|
||||||
IJOMEBEPi5q1tgeS0Fb1Grpqd0Uz5tZKtEHNKzLG+zSMmkneL62Nk2HsmEFZKwzg
|
|
||||||
u2pU42UaUE596G6o78s1aLn9ICcElPHTjiuZNSiyuu9IzvFDjGQw
|
|
||||||
-----END CERTIFICATE-----
|
|
||||||
@ -1,27 +0,0 @@
|
|||||||
-----BEGIN RSA PRIVATE KEY-----
|
|
||||||
MIIEogIBAAKCAQEAymC0zopFRDYjf6mLqTrKF3e1WGJ68snwgv3SuBQtmqM5G6ox
|
|
||||||
cwXbzxgGrKHOMhIh+QhnlzICbjo5NZmqnrZnSLMNNI+KByb4mLJxl88cUubMIQ+7
|
|
||||||
KXFuFJOFeLQFM623071v9llv8mAi3uaYVW9nIc9Iy/lmG+GwZnX7P7ekbT/UarKZ
|
|
||||||
WAJlad4GepbdmDbbxJPYM9E1ZNw7jtU6riApX0WFI7ssEusQ0r8SfCZfdRHw1jPE
|
|
||||||
FPvRfmALYr++MZdlNz9MMDKjbzMX/f92pN5U0BrIDuC+nMGyqVSzDM8Ulbp2c/7I
|
|
||||||
Jdfcct6hx89UK9jIyf9nNie72oVC+DT0ZIyQpQIDAQABAoIBADAh7f7NjgnaInlD
|
|
||||||
ds8KB3SraPsbeQhzlPtiqRJU4j/MIFH/GYG03AGWQkget67a9y+GmzSvlTpoKKEh
|
|
||||||
6h2TXl9BDpv4o6ht0WRn1HJ5tM/Wyqf2WNpTew3zxCPgFPikkXsPrChYPzLTQJfp
|
|
||||||
GkP/mfTFmxfAOlPZSp4j41zVLYs53eDkAegFPVfKSr1XNNJ3QODLPcIBfxBYsiC9
|
|
||||||
oU+jRW8xYuj31cEl5k5UqrChJ1rm3mt6cguqXKbISuoSvi13gXI6DccqhuLAU+Kr
|
|
||||||
ib2XYrRP+pWocZo/pM9WUVoNGtFxfY88sAQtvG6gDKo2AURtFyq84Ow0h9mdixV/
|
|
||||||
gRIDPcECgYEA5nEqE3OKuG9WuUFGXvjtn4C0F6JjflYWh7AbX51S4F6LKrW6/XHL
|
|
||||||
Rg4BtF+XReT7OQ6llsV8kZeUxsUckkgDLzSaA8lysNDV5KkhAWHfRqH//QKFbqZi
|
|
||||||
JL9t3x63Qt81US8s2hQk3khPYTRM8ZB3xHiXvZYSGC/0x/DxfEO3QJECgYEA4NK5
|
|
||||||
sxtrat8sFz6SK9nWEKimPjDVzxJ0hxdX4tRq/JdOO5RncawVqt6TNP9gTuxfBvhW
|
|
||||||
MhJYEsQj8iUoL1dxo9d1eP8HEANNV0iX5OBvJNmgBp+2OyRSyr+PA55+wAxYuAE7
|
|
||||||
QKaitOjW57fpArNRt2hQyiSzTuqUFRWTWJHCWNUCgYAEurPTXF6vdFGCUc2g61jt
|
|
||||||
GhYYGhQSpq+lrz6Qksj9o9MVWE9zHh++21C7o+6V16I0RJGva3QoBMVf4vG4KtQt
|
|
||||||
5tV2WG8LI+4P2Ey+G4UajP6U8bVNVQrUmD0oBBhcvfn5JY+1Fg6/pRpD82/U0VMz
|
|
||||||
7AmpMWhDqNBMPiymkTk0kQKBgCuWb05cSI0ly4SOKwS5bRk5uVFhYnKNH255hh6C
|
|
||||||
FGP4acB/WzbcqC7CjEPAJ0nl5d6SExQOHmk1AcsWjR3wlCWxxiK5PwNJwJrlhh1n
|
|
||||||
reS1FKN0H36D4lFQpkeLWQOe4Sx7gKNeKzlr0w6Fx3Uwku0+Gju2tdTdAey8jB6l
|
|
||||||
08opAoGAEe1AuR/OFp2xw6V8TH9UHkkpGxy+OrXI6PX6tgk29PgB+uiMu4RwbjVz
|
|
||||||
1di1KKq2XecAilVbnyqY+edADxYGbSnci9x5wQRIebfMi3VXKtV8NQBv2as6qwtW
|
|
||||||
JDcQUWotOHjpdvmfJWWkcBhbAKrgX8ukww00ZI/lC3/rmkGnBBg=
|
|
||||||
-----END RSA PRIVATE KEY-----
|
|
||||||
@ -1,7 +0,0 @@
|
|||||||
ARG NODE_JS_VERSION=10
|
|
||||||
FROM node:${NODE_JS_VERSION}-alpine
|
|
||||||
|
|
||||||
RUN apk --no-cache add git
|
|
||||||
|
|
||||||
# Create app directory
|
|
||||||
WORKDIR /usr/src/app
|
|
||||||
@ -1,74 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
##### 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
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
---
|
|
||||||
- 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'
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
---
|
|
||||||
- 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'
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
---
|
|
||||||
- job:
|
|
||||||
name: elastic+elasticsearch-js+7.3
|
|
||||||
display-name: 'elastic / elasticsearch-js # 7.3'
|
|
||||||
description: Testing the elasticsearch-js 7.3 branch.
|
|
||||||
parameters:
|
|
||||||
- string:
|
|
||||||
name: branch_specifier
|
|
||||||
default: refs/heads/7.3
|
|
||||||
description: the Git branch specifier to build (<branchName>, <tagName>,
|
|
||||||
<commitId>, etc.)
|
|
||||||
triggers:
|
|
||||||
- github
|
|
||||||
- timed: '@weekly'
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
---
|
|
||||||
- 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'
|
|
||||||
@ -1,14 +0,0 @@
|
|||||||
---
|
|
||||||
- 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,19 +0,0 @@
|
|||||||
---
|
|
||||||
- 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: []
|
|
||||||
@ -1,15 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
source /usr/local/bin/bash_standard_lib.sh
|
|
||||||
|
|
||||||
DOCKER_IMAGES="node:14-alpine
|
|
||||||
node:12-alpine
|
|
||||||
node:10-alpine
|
|
||||||
node:8-alpine
|
|
||||||
"
|
|
||||||
|
|
||||||
for di in ${DOCKER_IMAGES}
|
|
||||||
do
|
|
||||||
(retry 2 docker pull "${di}") || echo "Error pulling ${di} Docker image, we continue"
|
|
||||||
done
|
|
||||||
|
|
||||||
@ -1,115 +0,0 @@
|
|||||||
#!/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
|
|
||||||
|
|
||||||
@ -1,46 +0,0 @@
|
|||||||
#!/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
|
|
||||||
@ -1,23 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
#
|
|
||||||
# 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
|
|
||||||
|
|
||||||
echo -e "\033[1m>>>>> Start [$STACK_VERSION container] >>>>>>>>>>>>>>>>>>>>>>>>>>>>>\033[0m"
|
|
||||||
DETACH=true bash .ci/run-elasticsearch.sh
|
|
||||||
|
|
||||||
if [[ -n "$RUNSCRIPTS" ]]; then
|
|
||||||
for RUNSCRIPT in ${RUNSCRIPTS//,/ } ; do
|
|
||||||
echo -e "\033[1m>>>>> Running run-$RUNSCRIPT.sh >>>>>>>>>>>>>>>>>>>>>>>>>>>>>\033[0m"
|
|
||||||
CONTAINER_NAME=${RUNSCRIPT} \
|
|
||||||
DETACH=true \
|
|
||||||
bash .ci/run-${RUNSCRIPT}.sh
|
|
||||||
done
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -e "\033[1m>>>>> Repository specific tests >>>>>>>>>>>>>>>>>>>>>>>>>>>>>\033[0m"
|
|
||||||
bash .ci/run-repository.sh
|
|
||||||
@ -1,15 +0,0 @@
|
|||||||
---
|
|
||||||
STACK_VERSION:
|
|
||||||
- 7.x-SNAPSHOT
|
|
||||||
|
|
||||||
NODE_JS_VERSION:
|
|
||||||
- 14
|
|
||||||
- 12
|
|
||||||
- 10
|
|
||||||
- 8
|
|
||||||
|
|
||||||
TEST_SUITE:
|
|
||||||
- oss
|
|
||||||
- xpack
|
|
||||||
|
|
||||||
exclude: ~
|
|
||||||
@ -3,3 +3,5 @@ npm-debug.log
|
|||||||
test/benchmarks
|
test/benchmarks
|
||||||
elasticsearch
|
elasticsearch
|
||||||
.git
|
.git
|
||||||
|
lib
|
||||||
|
junit-output
|
||||||
|
|||||||
3
.github/ISSUE_TEMPLATE/bug.md
vendored
3
.github/ISSUE_TEMPLATE/bug.md
vendored
@ -1,13 +1,14 @@
|
|||||||
---
|
---
|
||||||
name: 🐛 Bug report
|
name: 🐛 Bug report
|
||||||
about: Create a report to help us improve
|
about: Create a report to help us improve
|
||||||
|
labels: ["Category: Bug"]
|
||||||
---
|
---
|
||||||
|
|
||||||
It's not uncommon that somebody already opened an issue or in the best case it's already fixed but not merged. That's the reason why you should [search](https://github.com/elastic/elasticsearch-js/issues) at first before submitting a new one.
|
It's not uncommon that somebody already opened an issue or in the best case it's already fixed but not merged. That's the reason why you should [search](https://github.com/elastic/elasticsearch-js/issues) at first before submitting a new one.
|
||||||
|
|
||||||
**Please read this entire template before posting any issue. If you ignore these instructions
|
**Please read this entire template before posting any issue. If you ignore these instructions
|
||||||
and post an issue here that does not follow the instructions, your issue might be closed,
|
and post an issue here that does not follow the instructions, your issue might be closed,
|
||||||
locked, and assigned the `not reproducible` label.**
|
locked, and assigned the `Category: Not an issue` label.**
|
||||||
|
|
||||||
## 🐛 Bug Report
|
## 🐛 Bug Report
|
||||||
|
|
||||||
|
|||||||
3
.github/ISSUE_TEMPLATE/feature.md
vendored
3
.github/ISSUE_TEMPLATE/feature.md
vendored
@ -1,13 +1,14 @@
|
|||||||
---
|
---
|
||||||
name: 🚀 Feature Proposal
|
name: 🚀 Feature Proposal
|
||||||
about: Submit a proposal for a new feature
|
about: Submit a proposal for a new feature
|
||||||
|
labels: ["Category: Feature"]
|
||||||
---
|
---
|
||||||
|
|
||||||
It's not uncommon that somebody already opened an issue or in the best case it's already fixed but not merged. That's the reason why you should [search](https://github.com/elastic/elasticsearch-js/issues) at first before submitting a new one.
|
It's not uncommon that somebody already opened an issue or in the best case it's already fixed but not merged. That's the reason why you should [search](https://github.com/elastic/elasticsearch-js/issues) at first before submitting a new one.
|
||||||
|
|
||||||
**Please read this entire template before posting any issue. If you ignore these instructions
|
**Please read this entire template before posting any issue. If you ignore these instructions
|
||||||
and post an issue here that does not follow the instructions, your issue might be closed,
|
and post an issue here that does not follow the instructions, your issue might be closed,
|
||||||
locked, and assigned the `invalid` label.**
|
locked, and assigned the `Category: Not an issue` label.**
|
||||||
|
|
||||||
## 🚀 Feature Proposal
|
## 🚀 Feature Proposal
|
||||||
|
|
||||||
|
|||||||
1
.github/ISSUE_TEMPLATE/question.md
vendored
1
.github/ISSUE_TEMPLATE/question.md
vendored
@ -1,6 +1,7 @@
|
|||||||
---
|
---
|
||||||
name: 💬 Questions / Help
|
name: 💬 Questions / Help
|
||||||
about: If you have questions, please check our Gitter or Help repo
|
about: If you have questions, please check our Gitter or Help repo
|
||||||
|
labels: ["Category: Question"]
|
||||||
---
|
---
|
||||||
|
|
||||||
## 💬 Questions and Help
|
## 💬 Questions and Help
|
||||||
|
|||||||
55
.github/ISSUE_TEMPLATE/regression.md
vendored
55
.github/ISSUE_TEMPLATE/regression.md
vendored
@ -1,55 +0,0 @@
|
|||||||
---
|
|
||||||
name: 💥 Regression Report
|
|
||||||
about: Report unexpected behavior that worked in previous versions
|
|
||||||
---
|
|
||||||
|
|
||||||
It's not uncommon that somebody already opened an issue or in the best case it's already fixed but not merged. That's the reason why you should [search](https://github.com/elastic/elasticsearch-js/issues) at first before submitting a new one.
|
|
||||||
|
|
||||||
**Please read this entire template before posting any issue. If you ignore these instructions
|
|
||||||
and post an issue here that does not follow the instructions, your issue might be closed,
|
|
||||||
locked, and assigned the `invalid` label.**
|
|
||||||
|
|
||||||
## 💥 Regression Report
|
|
||||||
|
|
||||||
A clear and concise description of what the regression is.
|
|
||||||
|
|
||||||
## Last working version
|
|
||||||
|
|
||||||
Worked up to version:
|
|
||||||
|
|
||||||
Stopped working in version:
|
|
||||||
|
|
||||||
## To Reproduce
|
|
||||||
|
|
||||||
Steps to reproduce the behavior:
|
|
||||||
|
|
||||||
Paste your code here:
|
|
||||||
|
|
||||||
```js
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
<!--
|
|
||||||
In some cases, it might be challenging to reproduce the bug in a few lines of code.
|
|
||||||
You can fork the following repository, which contains all the configuration needed
|
|
||||||
to spin up a three nodes Elasticsearch cluster with security enabled.
|
|
||||||
The repository also contains a preconfigured client instance that you can use to reproduce the issue.
|
|
||||||
https://github.com/delvedor/es-reproduce-issue
|
|
||||||
--->
|
|
||||||
|
|
||||||
## Expected behavior
|
|
||||||
|
|
||||||
A clear and concise description of what you expected to happen.
|
|
||||||
|
|
||||||
Paste the results here:
|
|
||||||
|
|
||||||
```js
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
## Your Environment
|
|
||||||
|
|
||||||
- *node version*: 6,8,10
|
|
||||||
- `@elastic/elasticsearch` *version*: >=7.0.0
|
|
||||||
- *os*: Mac, Windows, Linux
|
|
||||||
- *any other relevant information*
|
|
||||||
92
.github/ISSUE_TEMPLATE/regression.yaml
vendored
Normal file
92
.github/ISSUE_TEMPLATE/regression.yaml
vendored
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
---
|
||||||
|
name: 💥 Regression Report
|
||||||
|
description: Report unexpected behavior that worked in previous versions
|
||||||
|
labels: ["Category: Bug"]
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
It's not uncommon that somebody already opened an issue or in the best case it's already fixed but not merged. That's the reason why you should [search](https://github.com/elastic/elasticsearch-js/issues) at first before submitting a new one.
|
||||||
|
|
||||||
|
**Please read this entire template before posting any issue. If you ignore these instructions
|
||||||
|
and post an issue here that does not follow the instructions, your issue might be closed,
|
||||||
|
locked, and assigned the `Category: Not an issue` label.**
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: report
|
||||||
|
attributes:
|
||||||
|
label: Regression report
|
||||||
|
description: A clear and concise description of what the regression is.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: input
|
||||||
|
id: last-working-version
|
||||||
|
attributes:
|
||||||
|
label: Last working version
|
||||||
|
description: Version of `@elastic/elasticsearch` where this last worked.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: to-reproduce
|
||||||
|
attributes:
|
||||||
|
label: To reproduce
|
||||||
|
description: |
|
||||||
|
Paste your code here that shows how to reproduce the behavior.
|
||||||
|
|
||||||
|
In some cases, it might be challenging to reproduce the bug in a few lines of code.
|
||||||
|
You can fork the following repository, which contains all the configuration needed to spin up a three nodes Elasticsearch cluster with security enabled.
|
||||||
|
[This repository](https://github.com/delvedor/es-reproduce-issue) also contains a preconfigured client instance that you can use to reproduce the issue.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: expected-behavior
|
||||||
|
attributes:
|
||||||
|
label: Expected behavior
|
||||||
|
description: A clear and concise description of what you expected to happen.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: input
|
||||||
|
id: node-version
|
||||||
|
attributes:
|
||||||
|
label: Node.js version
|
||||||
|
description: What version of Node.js you are using (`node --version`).
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: input
|
||||||
|
id: typescript-version
|
||||||
|
attributes:
|
||||||
|
label: TypeScript version
|
||||||
|
description: TypeScript version you are using, if applicable.
|
||||||
|
|
||||||
|
- type: input
|
||||||
|
id: elasticsearch-client-version
|
||||||
|
attributes:
|
||||||
|
label: Elasticsearch client version
|
||||||
|
description: What version of `@elastic/elasticsearch` and `@elastic/transport` you are using (`npm ls -a | grep '@elastic'`).
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: input
|
||||||
|
id: elasticsearch-version
|
||||||
|
attributes:
|
||||||
|
label: Elasticsearch server version
|
||||||
|
description: What version of Elasticsearch you are using.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
- type: input
|
||||||
|
id: operating-system
|
||||||
|
attributes:
|
||||||
|
label: Operating system
|
||||||
|
description: What operating system you are running.
|
||||||
|
placeholder: e.g. Linux, MacOS, Windows
|
||||||
|
|
||||||
|
- type: textarea
|
||||||
|
id: env-info
|
||||||
|
attributes:
|
||||||
|
label: Any other relevant environment information.
|
||||||
214
.github/make.sh
vendored
Executable file
214
.github/make.sh
vendored
Executable file
@ -0,0 +1,214 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# ------------------------------------------------------- #
|
||||||
|
#
|
||||||
|
# Build entry script for elasticsearch-js
|
||||||
|
#
|
||||||
|
# Must be called: ./.github/make.sh <target> <params>
|
||||||
|
#
|
||||||
|
# Version: 1.1.0
|
||||||
|
#
|
||||||
|
# Targets:
|
||||||
|
# ---------------------------
|
||||||
|
# assemble <VERSION> : build client artifacts with version
|
||||||
|
# bump <VERSION> : bump client internals to version
|
||||||
|
# bumpmatrix <VERSION> : bump stack version in test matrix to version
|
||||||
|
# codegen <VERSION> : generate endpoints
|
||||||
|
# docsgen <VERSION> : generate documentation
|
||||||
|
# examplegen : generate the doc examples
|
||||||
|
# clean : clean workspace
|
||||||
|
#
|
||||||
|
# ------------------------------------------------------- #
|
||||||
|
|
||||||
|
# ------------------------------------------------------- #
|
||||||
|
# Bootstrap
|
||||||
|
# ------------------------------------------------------- #
|
||||||
|
script_path=$(dirname "$(realpath -s "$0")")
|
||||||
|
repo=$(realpath "$script_path/../")
|
||||||
|
|
||||||
|
# shellcheck disable=SC1090
|
||||||
|
CMD=$1
|
||||||
|
TASK=$1
|
||||||
|
TASK_ARGS=()
|
||||||
|
VERSION=$2
|
||||||
|
STACK_VERSION=$VERSION
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
product="elastic/elasticsearch-js"
|
||||||
|
output_folder=".buildkite/output"
|
||||||
|
codegen_folder=".buildkite/output"
|
||||||
|
OUTPUT_DIR="$repo/${output_folder}"
|
||||||
|
NODE_JS_VERSION=18
|
||||||
|
WORKFLOW=${WORKFLOW-staging}
|
||||||
|
mkdir -p "$OUTPUT_DIR"
|
||||||
|
|
||||||
|
echo -e "\033[34;1mINFO:\033[0m PRODUCT ${product}\033[0m"
|
||||||
|
echo -e "\033[34;1mINFO:\033[0m VERSION ${STACK_VERSION}\033[0m"
|
||||||
|
echo -e "\033[34;1mINFO:\033[0m OUTPUT_DIR ${OUTPUT_DIR}\033[0m"
|
||||||
|
|
||||||
|
case $CMD in
|
||||||
|
clean)
|
||||||
|
echo -e "\033[36;1mTARGET: clean workspace $output_folder\033[0m"
|
||||||
|
rm -rf "$output_folder"
|
||||||
|
echo -e "\033[32;1mdone.\033[0m"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
assemble)
|
||||||
|
if [ -v $VERSION ]; then
|
||||||
|
echo -e "\033[31;1mTARGET: assemble -> missing version parameter\033[0m"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo -e "\033[36;1mTARGET: assemble artifact $VERSION\033[0m"
|
||||||
|
TASK=release
|
||||||
|
TASK_ARGS=("$VERSION" "$output_folder")
|
||||||
|
;;
|
||||||
|
codegen)
|
||||||
|
if [ -v "$VERSION" ] || [[ -z "$VERSION" ]]; then
|
||||||
|
# fall back to branch name or `main` if no VERSION is set
|
||||||
|
branch_name=$(git rev-parse --abbrev-ref HEAD)
|
||||||
|
if [[ "$branch_name" =~ ^[0-9]+\.[0-9]+ ]]; then
|
||||||
|
echo -e "\033[36;1mTARGET: codegen -> No VERSION argument found, using branch name: \`$branch_name\`\033[0m"
|
||||||
|
VERSION="$branch_name"
|
||||||
|
else
|
||||||
|
echo -e "\033[36;1mTARGET: codegen -> No VERSION argument found, using \`main\`\033[0m"
|
||||||
|
VERSION="main"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
if [ "$VERSION" = 'main' ]; then
|
||||||
|
echo -e "\033[36;1mTARGET: codegen API $VERSION\033[0m"
|
||||||
|
else
|
||||||
|
echo -e "\033[36;1mTARGET: codegen API v$VERSION\033[0m"
|
||||||
|
fi
|
||||||
|
|
||||||
|
TASK=codegen
|
||||||
|
TASK_ARGS=("$VERSION")
|
||||||
|
;;
|
||||||
|
docsgen)
|
||||||
|
if [ -v $VERSION ]; then
|
||||||
|
echo -e "\033[31;1mTARGET: docsgen -> missing version parameter\033[0m"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo -e "\033[36;1mTARGET: generate docs for $VERSION\033[0m"
|
||||||
|
TASK=codegen
|
||||||
|
TASK_ARGS=("$VERSION" "$codegen_folder")
|
||||||
|
;;
|
||||||
|
examplesgen)
|
||||||
|
echo -e "\033[36;1mTARGET: generate examples\033[0m"
|
||||||
|
TASK=codegen
|
||||||
|
TASK_ARGS=("$VERSION" "$codegen_folder")
|
||||||
|
;;
|
||||||
|
bump)
|
||||||
|
if [ -v $VERSION ]; then
|
||||||
|
echo -e "\033[31;1mTARGET: bump -> missing version parameter\033[0m"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo -e "\033[36;1mTARGET: bump to version $VERSION\033[0m"
|
||||||
|
TASK=bump
|
||||||
|
TASK_ARGS=("$VERSION")
|
||||||
|
;;
|
||||||
|
bumpmatrix)
|
||||||
|
if [ -v $VERSION ]; then
|
||||||
|
echo -e "\033[31;1mTARGET: bumpmatrix -> missing version parameter\033[0m"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo -e "\033[36;1mTARGET: bump stack in test matrix to version $VERSION\033[0m"
|
||||||
|
TASK=bumpmatrix
|
||||||
|
TASK_ARGS=("$VERSION")
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo -e "\n'$CMD' is not supported right now\n"
|
||||||
|
echo -e "\nUsage:"
|
||||||
|
echo -e "\t $0 release \$VERSION\n"
|
||||||
|
echo -e "\t $0 bump \$VERSION"
|
||||||
|
echo -e "\t $0 codegen \$VERSION"
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
|
|
||||||
|
|
||||||
|
# ------------------------------------------------------- #
|
||||||
|
# Build Container
|
||||||
|
# ------------------------------------------------------- #
|
||||||
|
|
||||||
|
echo -e "\033[34;1mINFO: building $product container\033[0m"
|
||||||
|
|
||||||
|
docker build \
|
||||||
|
--file .buildkite/Dockerfile-make \
|
||||||
|
--tag "$product" \
|
||||||
|
--build-arg NODE_JS_VERSION="$NODE_JS_VERSION" \
|
||||||
|
--build-arg "BUILDER_UID=$(id -u)" \
|
||||||
|
--build-arg "BUILDER_GID=$(id -g)" \
|
||||||
|
.
|
||||||
|
|
||||||
|
# ------------------------------------------------------- #
|
||||||
|
# Run the Container
|
||||||
|
# ------------------------------------------------------- #
|
||||||
|
|
||||||
|
echo -e "\033[34;1mINFO: running $product container\033[0m"
|
||||||
|
|
||||||
|
if [[ -z "${BUILDKITE+x}" ]] && [[ -z "${CI+x}" ]] && [[ -z "${GITHUB_ACTIONS+x}" ]]; then
|
||||||
|
echo -e "\033[34;1mINFO: Running in local mode"
|
||||||
|
docker run \
|
||||||
|
-u "$(id -u):$(id -g)" \
|
||||||
|
--volume "$repo:/usr/src/elasticsearch-js" \
|
||||||
|
--volume /usr/src/elasticsearch-js/node_modules \
|
||||||
|
--volume "$(realpath $repo/../elastic-client-generator-js):/usr/src/elastic-client-generator-js" \
|
||||||
|
--env "WORKFLOW=$WORKFLOW" \
|
||||||
|
--name make-elasticsearch-js \
|
||||||
|
--rm \
|
||||||
|
$product \
|
||||||
|
/bin/bash -c "mkdir -p /usr/src/elastic-client-generator-js/output && \
|
||||||
|
node .buildkite/make.mjs --task $TASK ${TASK_ARGS[*]}"
|
||||||
|
else
|
||||||
|
echo -e "\033[34;1mINFO: Running in CI mode"
|
||||||
|
docker run \
|
||||||
|
--volume "$repo:/usr/src/elasticsearch-js" \
|
||||||
|
--volume /usr/src/elasticsearch-js/node_modules \
|
||||||
|
-u "$(id -u):$(id -g)" \
|
||||||
|
--env "WORKFLOW=$WORKFLOW" \
|
||||||
|
--name make-elasticsearch-js \
|
||||||
|
--rm \
|
||||||
|
$product \
|
||||||
|
/bin/bash -c "cd /usr/src && \
|
||||||
|
git clone https://$CLIENTS_GITHUB_TOKEN@github.com/elastic/elastic-client-generator-js.git && \
|
||||||
|
mkdir -p /usr/src/elastic-client-generator-js/output && \
|
||||||
|
cd /usr/src/elasticsearch-js && \
|
||||||
|
node .buildkite/make.mjs --task $TASK ${TASK_ARGS[*]}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ------------------------------------------------------- #
|
||||||
|
# Post Command tasks & checks
|
||||||
|
# ------------------------------------------------------- #
|
||||||
|
|
||||||
|
if [[ "$CMD" == "assemble" ]]; then
|
||||||
|
if compgen -G ".buildkite/output/*" > /dev/null; then
|
||||||
|
echo -e "\033[32;1mTARGET: successfully assembled client v$VERSION\033[0m"
|
||||||
|
else
|
||||||
|
echo -e "\033[31;1mTARGET: assemble failed, empty workspace!\033[0m"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$CMD" == "bump" ]]; then
|
||||||
|
if [ -n "$(git status --porcelain)" ]; then
|
||||||
|
echo -e "\033[32;1mTARGET: successfully bumped client v$VERSION\033[0m"
|
||||||
|
else
|
||||||
|
echo -e "\033[31;1mTARGET: failed bumped client v$VERSION\033[0m"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$CMD" == "codegen" ]]; then
|
||||||
|
if [ -n "$(git status --porcelain)" ]; then
|
||||||
|
echo -e "\033[32;1mTARGET: successfully generated client v$VERSION\033[0m"
|
||||||
|
else
|
||||||
|
echo -e "\033[31;1mTARGET: failed generating client v$VERSION\033[0m"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$CMD" == "docsgen" ]]; then
|
||||||
|
echo "TODO"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$CMD" == "examplesgen" ]]; then
|
||||||
|
echo "TODO"
|
||||||
|
fi
|
||||||
1
.github/stale.yml
vendored
1
.github/stale.yml
vendored
@ -10,6 +10,7 @@ exemptLabels:
|
|||||||
- "feature request"
|
- "feature request"
|
||||||
- "bug"
|
- "bug"
|
||||||
- "todo"
|
- "todo"
|
||||||
|
- "good first issue"
|
||||||
|
|
||||||
# Label to use when marking an issue as stale
|
# Label to use when marking an issue as stale
|
||||||
staleLabel: stale
|
staleLabel: stale
|
||||||
|
|||||||
18
.github/workflows/auto-merge.yml
vendored
Normal file
18
.github/workflows/auto-merge.yml
vendored
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
name: Automerge
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request_review:
|
||||||
|
types:
|
||||||
|
- submitted
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
automerge:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: github.event.review.state == 'approved'
|
||||||
|
steps:
|
||||||
|
- uses: reitermarkus/automerge@v2
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GH_TOKEN }}
|
||||||
|
merge-method: squash
|
||||||
|
pull-request-author-associations: OWNER
|
||||||
|
review-author-associations: OWNER,CONTRIBUTOR
|
||||||
19
.github/workflows/backport.yml
vendored
19
.github/workflows/backport.yml
vendored
@ -1,16 +1,27 @@
|
|||||||
|
---
|
||||||
name: Backport
|
name: Backport
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request_target:
|
||||||
types:
|
types:
|
||||||
- closed
|
- closed
|
||||||
- labeled
|
- labeled
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
backport:
|
backport:
|
||||||
runs-on: ubuntu-latest
|
|
||||||
name: Backport
|
name: Backport
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
# Only react to merged PRs for security reasons.
|
||||||
|
# See https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target.
|
||||||
|
if: >
|
||||||
|
github.event.pull_request.merged
|
||||||
|
&& (
|
||||||
|
github.event.action == 'closed'
|
||||||
|
|| (
|
||||||
|
github.event.action == 'labeled'
|
||||||
|
&& contains(github.event.label.name, 'backport')
|
||||||
|
)
|
||||||
|
)
|
||||||
steps:
|
steps:
|
||||||
- name: Backport
|
- uses: tibdex/backport@9565281eda0731b1d20c4025c43339fb0a23812e # v2.0.4
|
||||||
uses: tibdex/backport@v1
|
|
||||||
with:
|
with:
|
||||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|||||||
150
.github/workflows/nodejs.yml
vendored
150
.github/workflows/nodejs.yml
vendored
@ -1,22 +1,43 @@
|
|||||||
|
---
|
||||||
name: Node CI
|
name: Node CI
|
||||||
|
|
||||||
on: [push, pull_request]
|
on:
|
||||||
|
pull_request: {}
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
paths-filter:
|
||||||
|
name: Detect files changed
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
src-only: "${{ steps.changes.outputs.src-only }}"
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- uses: dorny/paths-filter/@v2.11.1
|
||||||
|
id: changes
|
||||||
|
with:
|
||||||
|
filters: |
|
||||||
|
src-only:
|
||||||
|
- '!(**/*.{md,asciidoc,txt}|*.{md,asciidoc,txt}|{docs,.buildkite,scripts}/**/*|catalog-info.yaml)'
|
||||||
|
- '.github/workflows/**'
|
||||||
|
|
||||||
test:
|
test:
|
||||||
name: Test
|
name: Test
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
needs: paths-filter
|
||||||
|
# only run if code relevant to unit tests was changed
|
||||||
|
if: needs.paths-filter.outputs.src-only == 'true'
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
node-version: [10.x, 12.x, 14.x]
|
node-version: [18.x, 20.x, 22.x]
|
||||||
os: [ubuntu-latest, windows-latest, macOS-latest]
|
os: [ubuntu-latest, windows-latest, macOS-latest]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js ${{ matrix.node-version }}
|
||||||
uses: actions/setup-node@v1
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version: ${{ matrix.node-version }}
|
||||||
|
|
||||||
@ -32,120 +53,17 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
npm run test:unit
|
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.x-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:
|
license:
|
||||||
name: License check
|
name: License check
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
node-version: [12.x]
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: Use Node.js ${{ matrix.node-version }}
|
- name: Use Node.js
|
||||||
uses: actions/setup-node@v1
|
uses: actions/setup-node@v4
|
||||||
with:
|
with:
|
||||||
node-version: ${{ matrix.node-version }}
|
node-version: 22.x
|
||||||
|
|
||||||
- name: Install
|
- name: Install
|
||||||
run: |
|
run: |
|
||||||
@ -154,3 +72,13 @@ jobs:
|
|||||||
- name: License checker
|
- name: License checker
|
||||||
run: |
|
run: |
|
||||||
npm run license-checker
|
npm run license-checker
|
||||||
|
|
||||||
|
auto-approve:
|
||||||
|
name: Auto-approve
|
||||||
|
needs: [test, license]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
pull-requests: write
|
||||||
|
if: github.actor == 'elasticmachine'
|
||||||
|
steps:
|
||||||
|
- uses: hmarr/auto-approve-action@v4
|
||||||
|
|||||||
37
.github/workflows/npm-publish.yml
vendored
Normal file
37
.github/workflows/npm-publish.yml
vendored
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
name: Publish Package to npm
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
inputs:
|
||||||
|
branch:
|
||||||
|
description: "Git branch to build and publish"
|
||||||
|
required: true
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
id-token: write
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: ${{ github.event.inputs.branch }}
|
||||||
|
- uses: actions/setup-node@v3
|
||||||
|
with:
|
||||||
|
node-version: "20.x"
|
||||||
|
registry-url: "https://registry.npmjs.org"
|
||||||
|
- run: npm install -g npm
|
||||||
|
- run: npm install
|
||||||
|
- run: npm test
|
||||||
|
- run: npm publish --provenance --access public
|
||||||
|
env:
|
||||||
|
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
||||||
|
- run: |
|
||||||
|
version=$(jq -r .version package.json)
|
||||||
|
gh release create \
|
||||||
|
-n "[Changelog](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/$BRANCH_NAME/changelog-client.html)" \
|
||||||
|
--target "$BRANCH_NAME" \
|
||||||
|
-t "v$version" \
|
||||||
|
"v$version"
|
||||||
|
env:
|
||||||
|
BRANCH_NAME: ${{ github.event.inputs.branch }}
|
||||||
|
GH_TOKEN: ${{ github.token }}
|
||||||
43
.github/workflows/serverless-patch.sh
vendored
Executable file
43
.github/workflows/serverless-patch.sh
vendored
Executable file
@ -0,0 +1,43 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -exuo pipefail
|
||||||
|
|
||||||
|
merge_commit_sha=$(jq -r '.pull_request.merge_commit_sha' "$GITHUB_EVENT_PATH")
|
||||||
|
pull_request_id=$(jq -r '.pull_request.number' "$GITHUB_EVENT_PATH")
|
||||||
|
pr_shortcode="elastic/elasticsearch-js#$pull_request_id"
|
||||||
|
|
||||||
|
# generate patch file
|
||||||
|
cd "$GITHUB_WORKSPACE/stack"
|
||||||
|
git format-patch -1 --stdout "$merge_commit_sha" > /tmp/patch.diff
|
||||||
|
|
||||||
|
# set committer info
|
||||||
|
git config --global user.email "elasticmachine@users.noreply.github.com"
|
||||||
|
git config --global user.name "Elastic Machine"
|
||||||
|
|
||||||
|
# apply patch file
|
||||||
|
cd "$GITHUB_WORKSPACE/serverless"
|
||||||
|
git am -C1 --reject /tmp/patch.diff || git am --quit
|
||||||
|
|
||||||
|
# generate PR body comment
|
||||||
|
comment="Patch applied from $pr_shortcode"
|
||||||
|
|
||||||
|
# enumerate rejected patches in PR comment
|
||||||
|
has_rejects='false'
|
||||||
|
for f in ./**/*.rej; do
|
||||||
|
has_rejects='true'
|
||||||
|
comment="$comment
|
||||||
|
|
||||||
|
## Rejected patch \`$f\` must be resolved:
|
||||||
|
|
||||||
|
\`\`\`diff
|
||||||
|
$(cat "$f")
|
||||||
|
\`\`\`
|
||||||
|
"
|
||||||
|
done
|
||||||
|
|
||||||
|
# delete .rej files
|
||||||
|
rm -fv ./**/*.rej
|
||||||
|
|
||||||
|
# send data to output parameters
|
||||||
|
echo "$comment" > /tmp/pr_body
|
||||||
|
echo "PR_DRAFT=$has_rejects" >> "$GITHUB_OUTPUT"
|
||||||
51
.github/workflows/serverless-patch.yml
vendored
Normal file
51
.github/workflows/serverless-patch.yml
vendored
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
---
|
||||||
|
name: Apply PR changes to serverless
|
||||||
|
on:
|
||||||
|
pull_request_target:
|
||||||
|
types:
|
||||||
|
- closed
|
||||||
|
- labeled
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
apply-patch:
|
||||||
|
name: Apply patch
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
# Only react to merged PRs for security reasons.
|
||||||
|
# See https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target.
|
||||||
|
if: >
|
||||||
|
github.event.pull_request.merged
|
||||||
|
&& (
|
||||||
|
(
|
||||||
|
github.event.action == 'closed'
|
||||||
|
&& contains(github.event.pull_request.labels.*.name, 'apply-to-serverless')
|
||||||
|
)
|
||||||
|
||
|
||||||
|
(
|
||||||
|
github.event.action == 'labeled'
|
||||||
|
&& github.event.label.name == 'apply-to-serverless'
|
||||||
|
)
|
||||||
|
)
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
repository: elastic/elasticsearch-js
|
||||||
|
ref: main
|
||||||
|
path: stack
|
||||||
|
fetch-depth: 0
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
repository: elastic/elasticsearch-serverless-js
|
||||||
|
ref: main
|
||||||
|
path: serverless
|
||||||
|
- name: Apply patch from stack to serverless
|
||||||
|
id: apply-patch
|
||||||
|
run: $GITHUB_WORKSPACE/stack/.github/workflows/serverless-patch.sh
|
||||||
|
- uses: peter-evans/create-pull-request@v6
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.GH_TOKEN }}
|
||||||
|
path: serverless
|
||||||
|
title: 'Apply patch from elastic/elasticsearch-js#${{ github.event.pull_request.number }}'
|
||||||
|
commit-message: 'Apply patch from elastic/elasticsearch-js#${{ github.event.pull_request.number }}'
|
||||||
|
body-path: /tmp/pr_body
|
||||||
|
draft: '${{ steps.apply-patch.outputs.PR_DRAFT }}'
|
||||||
|
add-paths: ':!*.rej'
|
||||||
21
.github/workflows/stale.yml
vendored
Normal file
21
.github/workflows/stale.yml
vendored
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
---
|
||||||
|
name: 'Close stale issues and PRs'
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '30 1 * * *'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
stale:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/stale@v8
|
||||||
|
with:
|
||||||
|
stale-issue-label: stale
|
||||||
|
stale-pr-label: stale
|
||||||
|
days-before-stale: 90
|
||||||
|
days-before-close: 14
|
||||||
|
exempt-issue-labels: 'good first issue'
|
||||||
|
close-issue-label: closed-stale
|
||||||
|
close-pr-label: closed-stale
|
||||||
|
stale-issue-message: 'This issue is stale because it has been open 90 days with no activity. Remove the `stale` label, or leave a comment, or this will be closed in 14 days.'
|
||||||
|
stale-pr-message: 'This pull request is stale because it has been open 90 days with no activity. Remove the `stale` label, or leave a comment, or this will be closed in 14 days.'
|
||||||
8
.gitignore
vendored
8
.gitignore
vendored
@ -56,3 +56,11 @@ elasticsearch*
|
|||||||
test/benchmarks/macro/fixtures/*
|
test/benchmarks/macro/fixtures/*
|
||||||
|
|
||||||
*-junit.xml
|
*-junit.xml
|
||||||
|
|
||||||
|
.cache
|
||||||
|
|
||||||
|
test/bundlers/**/bundle.js
|
||||||
|
test/bundlers/parcel-test/.parcel-cache
|
||||||
|
|
||||||
|
lib
|
||||||
|
junit-output
|
||||||
|
|||||||
@ -64,9 +64,11 @@ test
|
|||||||
scripts
|
scripts
|
||||||
|
|
||||||
# ci configuration
|
# ci configuration
|
||||||
.ci
|
|
||||||
.travis.yml
|
.travis.yml
|
||||||
|
.buildkite
|
||||||
certs
|
certs
|
||||||
.github
|
.github
|
||||||
CODE_OF_CONDUCT.md
|
CODE_OF_CONDUCT.md
|
||||||
CONTRIBUTING.md
|
CONTRIBUTING.md
|
||||||
|
|
||||||
|
src
|
||||||
|
|||||||
3
CHANGELOG.md
Normal file
3
CHANGELOG.md
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
303 See Other
|
||||||
|
|
||||||
|
Location: https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/changelog-client.html
|
||||||
@ -8,7 +8,7 @@ improving the documentation,
|
|||||||
submitting bug reports and feature requests or writing code.
|
submitting bug reports and feature requests or writing code.
|
||||||
|
|
||||||
## Repository structure
|
## Repository structure
|
||||||
The `master` branch is considered unstable, and it's compatible with Elasticsearch master. Unless you are patching an issue, new features should always be sent to the `master` branch, in case of a bugfix, it depends if the bug affects all the release lines.<br/>
|
The `main` branch is considered unstable, and it's compatible with Elasticsearch main. Unless you are patching an issue, new features should always be sent to the `main` branch, in case of a bugfix, it depends if the bug affects all the release lines.<br/>
|
||||||
There is a branch for every supported release line, such as `7.x` or `6.x`. We release bugfixes as soon as possible, while minor and major releases are published at the same time of the Elastic Stack.
|
There is a branch for every supported release line, such as `7.x` or `6.x`. We release bugfixes as soon as possible, while minor and major releases are published at the same time of the Elastic Stack.
|
||||||
|
|
||||||
Usually for every release line there will be a *published* version and a *next* version. Eg: the `7.x` branch contains the version published on npm, and bugfixes should be sent there, while `7.2` *(assuming that 7.1.x is released)* contains the next version, and new features should be sent there.
|
Usually for every release line there will be a *published* version and a *next* version. Eg: the `7.x` branch contains the version published on npm, and bugfixes should be sent there, while `7.2` *(assuming that 7.1.x is released)* contains the next version, and new features should be sent there.
|
||||||
@ -31,7 +31,7 @@ Once your changes are ready to submit for review:
|
|||||||
1. Test your changes
|
1. Test your changes
|
||||||
|
|
||||||
Run the test suite to make sure that nothing is broken.
|
Run the test suite to make sure that nothing is broken.
|
||||||
Usually run `npm test` is enough, our CI will take care of running the integration test. If you want to run the integration test yourself, see the *Testing* section below.
|
Usually running `npm test` is enough; our CI will take care of running the integration tests. If you want to run the integration tests yourself, see [the *Testing* section](#testing) below.
|
||||||
|
|
||||||
2. Submit a pull request
|
2. Submit a pull request
|
||||||
|
|
||||||
@ -58,36 +58,50 @@ Once your changes are ready to submit for review:
|
|||||||
|
|
||||||
### Code generation
|
### Code generation
|
||||||
|
|
||||||
The entire content of the API folder is generated as well as the `docs/reference.asciidoc` file.<br/>
|
The entire content of the `src/api/` directory is automatically generated from [the Elasticsearch specification](https://github.com/elastic/elasticsearch-specification), as is the `docs/reference.asciidoc` file.
|
||||||
If you want to run the code generation you should run the following command:
|
This code generation is done using a separate repository that is not currently available to the public.
|
||||||
```sh
|
|
||||||
node scripts/generate --tag <tag name>
|
If you find discrepancies between this client's API code and what you see when actually interacting with an Elasticsearch API, you can open a pull request here to fix it.
|
||||||
# or
|
For API fixes, it's likely a change will need to be made to the specification as well, to ensure your fix is not undone by the code generation process.
|
||||||
node scripts/generate --branch <branch name>
|
We will do our best to make sure this is addressed when reviewing and merging your changes.
|
||||||
```
|
|
||||||
Then you should copy the content of `api/generated.d.ts` into the `index.d.ts` file *(automate this step would be a nice pr!)*.
|
PRs to improve the specification are also welcome!
|
||||||
|
It is implemented in TypeScript, so JavaScript devs should be able to understand it fairly easily.
|
||||||
|
Spec fixes are particularly helpful, as they will be reflected in ALL official Elasticsearch clients, not just this one.
|
||||||
|
|
||||||
### Testing
|
### Testing
|
||||||
There are different test scripts, usually during development you only need to run `npm test`, but if you want you can run just a part of the suite, following you will find all the testing scripts and what they do.
|
|
||||||
|
There are a few different test scripts.
|
||||||
|
Usually during development you only need to run `npm test`, but if you want you can run just a part of the suite:
|
||||||
|
|
||||||
| Script | Description |
|
| Script | Description |
|
||||||
|---|---|
|
|---|---|
|
||||||
| `npm run test:unit` | Runs the content of the `test/unit` folder. |
|
| `npm run test:unit` | Runs the content of the `test/unit` folder. |
|
||||||
| `npm run test:behavior` | Runs the content of the `test/behavior` folder. |
|
| `npm run test:coverage-100` | Runs unit tests enforcing 100% coverage. |
|
||||||
| `npm run test:types` | Runs the content of the `test/types` folder. |
|
| `npm run test:coverage-report` | Runs unit tests and generates an `lcov` coverage report. |
|
||||||
| `npm run test:unit -- --cov --coverage-report=html` | Runs the content of the `test/unit` folder and calculates the code coverage. |
|
| `npm run test:coverage-ui` | Runs unit tests and generates an HTML coverage report. |
|
||||||
| `npm run test:integration` | Runs the integration test runner.<br/>*Note: it requires a living instance of Elasticsearch.* |
|
| `npm run test:integration` | Runs the integration test runner.<br/>**Note: requires a living instance of Elasticsearch.** |
|
||||||
| `npm run lint` | Run the [linter](https://standardjs.com/). |
|
| `npm run lint` | Run the [linter](https://github.com/standard/ts-standard). |
|
||||||
| `npm run lint:fix` | Fixes the lint errors. |
|
| `npm run lint:fix` | Fixes linter errors. |
|
||||||
| `npm test` | Runs lint, unit, behavior, and types test. |
|
| `npm run license-checker` | Checks that all dependencies have acceptable open source licenses. |
|
||||||
|
|
||||||
|
| `npm test` | Runs `lint` and `test:unit`. |
|
||||||
|
|
||||||
#### Integration test
|
#### Integration test
|
||||||
The integration test are generated on the fly by the runner you will find inside `test/integration`, once you execute it, it will clone the Elasticsearch repository and checkout the correct version to grab the [OSS yaml files](https://github.com/elastic/elasticsearch/tree/master/rest-api-spec/src/main/resources/rest-api-spec/test) and the [Elastic licensed yaml files](https://github.com/elastic/elasticsearch/tree/master/x-pack/plugin/src/test/resources/rest-api-spec/test) that will be used for generating the test.
|
|
||||||
|
|
||||||
Usually this step is executed by CI since it takes some time, but you can easily run this yourself! Just follow this steps:
|
The integration tests are generated on the fly by the runner you will find inside `test/integration`.
|
||||||
1. Boot an Elasticsearch instance, you can do that by running `./scripts/es-docker.sh` or `./scripts/es-docker-platinum.sh`, the first one will work only with the OSS APIs, while the second will work also with the Elastic licensed APIs;
|
Once you execute it, it will fetch the [YAML REST test files](https://github.com/elastic/elasticsearch/tree/main/rest-api-spec/src/yamlRestTest/resources/rest-api-spec/test) from our artifacts API.
|
||||||
1. If you are running the OSS test, you should use `npm run test:integration`, otherwise use `TEST_ES_SERVER=https://elastic:changeme@localhost:9200 npm run test:integration`. You can also pass a `-b` parameter if you want the test to bail out at the first failure: `npm run test:integration -- -b`;
|
These are used to generate the integration tests.
|
||||||
1. Grab a coffee, it will take some time ;)
|
|
||||||
|
Usually this step is executed by CI since it takes some time, but you can easily run this yourself!
|
||||||
|
Just follow this steps:
|
||||||
|
1. Boot a fresh Elasticsearch instance, which can be done in a Docker container by running `STACK_VERSION=8.10.0 DETACH=true .buildkite/run-elasticsearch.sh`, where `STACK_VERSION` and `DETACH` environment variables can be adjusted to your needs. A `TEST_SUITE` env var can also be set to `free` or `platinum`, and defaults to `free`.
|
||||||
|
1. Run `npm run test:integration` to run the whole suite, or `npm run test:integration -- --bail` to stop after the first failure.
|
||||||
|
1. Grab a coffee, it will take some time. ;)
|
||||||
|
|
||||||
|
This suite is very large, and not all tests will pass.
|
||||||
|
This is fine.
|
||||||
|
This suite is mostly used to identify notable changes in success/fail rate over time as we make changes to the client.
|
||||||
|
|
||||||
### Releasing
|
### Releasing
|
||||||
|
|
||||||
|
|||||||
2
NOTICE.txt
Normal file
2
NOTICE.txt
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
Elasticsearch JavaScript Client
|
||||||
|
Copyright 2022 Elasticsearch B.V.
|
||||||
246
README.md
246
README.md
@ -2,39 +2,91 @@
|
|||||||
|
|
||||||
# Elasticsearch Node.js client
|
# Elasticsearch Node.js client
|
||||||
|
|
||||||
[](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)
|
[](http://standardjs.com/) [](https://buildkite.com/elastic/elasticsearch-javascript-client-integration-tests/builds?branch=main) [](https://github.com/elastic/elasticsearch-js/actions/workflows/nodejs.yml) [](https://codecov.io/gh/elastic/elasticsearch-js) [](https://www.npmjs.com/package/@elastic/elasticsearch)
|
||||||
|
|
||||||
|
**[Download the latest version of Elasticsearch](https://www.elastic.co/downloads/elasticsearch)**
|
||||||
|
or
|
||||||
|
**[sign-up](https://cloud.elastic.co/registration?elektra=en-ess-sign-up-page)**
|
||||||
|
**for a free trial of Elastic Cloud**.
|
||||||
|
|
||||||
The official Node.js client for Elasticsearch.
|
The official Node.js client for Elasticsearch.
|
||||||
|
|
||||||
---
|
## Installation
|
||||||
|
|
||||||
**Note:** In the past months we have worked on the new Elasticsearch Node.js client and you can use it by following the instructions below. If you're going to use the legacy one or report an issue, however, please check out [elastic/elasticsearch-js-legacy](https://github.com/elastic/elasticsearch-js-legacy).
|
Refer to the [Installation section](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/getting-started-js.html#_installation)
|
||||||
|
of the getting started documentation.
|
||||||
|
|
||||||
---
|
## Connecting
|
||||||
|
|
||||||
## Features
|
Refer to the [Connecting section](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/getting-started-js.html#_connecting)
|
||||||
- One-to-one mapping with REST API.
|
of the getting started documentation.
|
||||||
- Generalized, pluggable architecture.
|
|
||||||
- Configurable, automatic discovery of cluster nodes.
|
|
||||||
- Persistent, Keep-Alive connections.
|
|
||||||
- Load balancing across all available nodes.
|
|
||||||
- Child client support.
|
|
||||||
- TypeScript support out of the box.
|
|
||||||
|
|
||||||
## Install
|
## Compatibility
|
||||||
```
|
|
||||||
npm install @elastic/elasticsearch
|
The Elasticsearch client is compatible with currently maintained JS versions.
|
||||||
```
|
|
||||||
|
Language clients are forward compatible; meaning that clients support
|
||||||
|
communicating with greater or equal minor versions of Elasticsearch without
|
||||||
|
breaking. It does not mean that the client automatically supports new features
|
||||||
|
of newer Elasticsearch versions; it is only possible after a release of a new
|
||||||
|
client version. For example, a 8.12 client version won't automatically support
|
||||||
|
the new features of the 8.13 version of Elasticsearch, the 8.13 client version
|
||||||
|
is required for that. Elasticsearch language clients are only backwards
|
||||||
|
compatible with default distributions and without guarantees made.
|
||||||
|
|
||||||
|
| Elasticsearch Version | Elasticsearch-JS Branch | Supported |
|
||||||
|
| --------------------- | ------------------------ | --------- |
|
||||||
|
| main | main | |
|
||||||
|
| 8.x | 8.x | 8.x |
|
||||||
|
| 7.x | 7.x | 7.17 |
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
* [Creating an index](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/getting-started-js.html#_creating_an_index)
|
||||||
|
* [Indexing a document](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/getting-started-js.html#_indexing_documents)
|
||||||
|
* [Getting documents](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/getting-started-js.html#_getting_documents)
|
||||||
|
* [Searching documents](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/getting-started-js.html#_searching_documents)
|
||||||
|
* [Updating documents](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/getting-started-js.html#_updating_documents)
|
||||||
|
* [Deleting documents](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/getting-started-js.html#_deleting_documents)
|
||||||
|
* [Deleting an index](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/getting-started-js.html#_deleting_an_index)
|
||||||
|
|
||||||
|
### Node.js support
|
||||||
|
|
||||||
|
NOTE: The minimum supported version of Node.js is `v18`.
|
||||||
|
|
||||||
|
The client versioning follows the Elastic Stack versioning, this means that
|
||||||
|
major, minor, and patch releases are done following a precise schedule that
|
||||||
|
often does not coincide with the [Node.js release](https://nodejs.org/en/about/releases/) times.
|
||||||
|
|
||||||
|
To avoid support insecure and unsupported versions of Node.js, the
|
||||||
|
client **will drop the support of EOL versions of Node.js between minor releases**.
|
||||||
|
Typically, as soon as a Node.js version goes into EOL, the client will continue
|
||||||
|
to support that version for at least another minor release. If you are using the client
|
||||||
|
with a version of Node.js that will be unsupported soon, you will see a warning
|
||||||
|
in your logs (the client will start logging the warning with two minors in advance).
|
||||||
|
|
||||||
|
Unless you are **always** using a supported version of Node.js,
|
||||||
|
we recommend defining the client dependency in your
|
||||||
|
`package.json` with the `~` instead of `^`. In this way, you will lock the
|
||||||
|
dependency on the minor release and not the major. (for example, `~7.10.0` instead
|
||||||
|
of `^7.10.0`).
|
||||||
|
|
||||||
|
| Node.js Version | Node.js EOL date | End of support |
|
||||||
|
| --------------- |------------------| ---------------------- |
|
||||||
|
| `8.x` | `December 2019` | `7.11` (early 2021) |
|
||||||
|
| `10.x` | `April 2021` | `7.12` (mid 2021) |
|
||||||
|
| `12.x` | `April 2022` | `8.2` (early 2022) |
|
||||||
|
| `14.x` | `April 2023` | `8.8` (early 2023) |
|
||||||
|
| `16.x` | `September 2023` | `8.11` (late 2023) |
|
||||||
|
|
||||||
### Compatibility
|
### Compatibility
|
||||||
|
|
||||||
The minimum supported version of Node.js is `v8`.
|
Language clients are forward compatible; meaning that clients support communicating with greater or equal minor versions of Elasticsearch.
|
||||||
|
Elasticsearch language clients are only backwards compatible with default distributions and without guarantees made.
|
||||||
The library is compatible with all Elasticsearch versions since 5.x, and you should use the same major version of the Elasticsearch instance that you are using.
|
|
||||||
|
|
||||||
| Elasticsearch Version | Client Version |
|
| Elasticsearch Version | Client Version |
|
||||||
| --------------------- |----------------|
|
| --------------------- |----------------|
|
||||||
| `master` | `master` |
|
| `8.x` | `8.x` |
|
||||||
| `7.x` | `7.x` |
|
| `7.x` | `7.x` |
|
||||||
| `6.x` | `6.x` |
|
| `6.x` | `6.x` |
|
||||||
| `5.x` | `5.x` |
|
| `5.x` | `5.x` |
|
||||||
@ -46,154 +98,76 @@ npm install @elastic/elasticsearch@<major>
|
|||||||
|
|
||||||
#### Browser
|
#### Browser
|
||||||
|
|
||||||
WARNING: There is no official support for the browser environment. It exposes your Elasticsearch instance to everyone, which could lead to security issues.
|
> [!WARNING]
|
||||||
We recommend that you write a lightweight proxy that uses this client instead.
|
> There is no official support for the browser environment. It exposes your Elasticsearch instance to everyone, which could lead to security issues.
|
||||||
|
We recommend that you write a lightweight proxy that uses this client instead, you can see a proxy example [here](./docs/examples/proxy).
|
||||||
|
|
||||||
## 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-connecting.html#client-usage)
|
||||||
- [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)
|
* [Authentication](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/client-connecting.html#authentication)
|
||||||
- [Breaking changes coming from the old client](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/breaking-changes.html)
|
* [Observability](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/observability.html)
|
||||||
- [Authentication](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/auth-reference.html)
|
* [Creating a child client](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/child.html)
|
||||||
- [Observability](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/observability.html)
|
* [Client helpers](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/client-helpers.html)
|
||||||
- [Creating a child client](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/child-client.html)
|
* [Typescript support](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/typescript.html)
|
||||||
- [Extend the client](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/extend-client.html)
|
* [Testing](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/client-testing.html)
|
||||||
- [Client helpers](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/client-helpers.html)
|
* [Examples](https://www.elastic.co/guide/en/elasticsearch/client/javascript-api/current/examples.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)
|
|
||||||
|
|
||||||
## Quick start
|
|
||||||
|
|
||||||
First of all, require the client and initialize it:
|
|
||||||
```js
|
|
||||||
const { Client } = require('@elastic/elasticsearch')
|
|
||||||
const client = new Client({ node: 'http://localhost:9200' })
|
|
||||||
```
|
|
||||||
|
|
||||||
You can use both the callback-style API and the promise-style API, both behave the same way.
|
|
||||||
```js
|
|
||||||
// promise API
|
|
||||||
const result = await client.search({
|
|
||||||
index: 'my-index',
|
|
||||||
body: { foo: 'bar' }
|
|
||||||
})
|
|
||||||
|
|
||||||
// callback API
|
|
||||||
client.search({
|
|
||||||
index: 'my-index',
|
|
||||||
body: { foo: 'bar' }
|
|
||||||
}, (err, result) => {
|
|
||||||
if (err) console.log(err)
|
|
||||||
})
|
|
||||||
```
|
|
||||||
The returned value of **every** API call is formed as follows:
|
|
||||||
```ts
|
|
||||||
{
|
|
||||||
body: object | boolean
|
|
||||||
statusCode: number
|
|
||||||
headers: object
|
|
||||||
warnings: [string]
|
|
||||||
meta: object
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
Let's see a complete example!
|
|
||||||
```js
|
|
||||||
'use strict'
|
|
||||||
|
|
||||||
const { Client } = require('@elastic/elasticsearch')
|
|
||||||
const client = new Client({ node: 'http://localhost:9200' })
|
|
||||||
|
|
||||||
async function run () {
|
|
||||||
// Let's start by indexing some data
|
|
||||||
await client.index({
|
|
||||||
index: 'game-of-thrones',
|
|
||||||
// type: '_doc', // uncomment this line if you are using Elasticsearch ≤ 6
|
|
||||||
body: {
|
|
||||||
character: 'Ned Stark',
|
|
||||||
quote: 'Winter is coming.'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
await client.index({
|
|
||||||
index: 'game-of-thrones',
|
|
||||||
// type: '_doc', // uncomment this line if you are using Elasticsearch ≤ 6
|
|
||||||
body: {
|
|
||||||
character: 'Daenerys Targaryen',
|
|
||||||
quote: 'I am the blood of the dragon.'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
await client.index({
|
|
||||||
index: 'game-of-thrones',
|
|
||||||
// type: '_doc', // uncomment this line if you are using Elasticsearch ≤ 6
|
|
||||||
body: {
|
|
||||||
character: 'Tyrion Lannister',
|
|
||||||
quote: 'A mind needs books like a sword needs a whetstone.'
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
// here we are forcing an index refresh, otherwise we will not
|
|
||||||
// get any result in the consequent search
|
|
||||||
await client.indices.refresh({ index: 'game-of-thrones' })
|
|
||||||
|
|
||||||
// Let's search!
|
|
||||||
const { body } = await client.search({
|
|
||||||
index: 'game-of-thrones',
|
|
||||||
// type: '_doc', // uncomment this line if you are using Elasticsearch ≤ 6
|
|
||||||
body: {
|
|
||||||
query: {
|
|
||||||
match: { quote: 'winter' }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
|
|
||||||
console.log(body.hits.hits)
|
|
||||||
}
|
|
||||||
|
|
||||||
run().catch(console.log)
|
|
||||||
```
|
|
||||||
|
|
||||||
## Install multiple versions
|
## Install multiple versions
|
||||||
If you are using multiple versions of Elasticsearch, you need to use multiple versions of the client. In the past, install multiple versions of the same package was not possible, but with `npm v6.9`, you can do that via aliasing.
|
If you are using multiple versions of Elasticsearch, you need to use multiple versions of the client. In the past, install multiple versions of the same package was not possible, but with `npm v6.9`, you can do that via aliasing.
|
||||||
|
|
||||||
The command you must run to install different version of the client is:
|
The command you must run to install different version of the client is:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
npm install <alias>@npm:@elastic/elasticsearch@<version>
|
npm install <alias>@npm:@elastic/elasticsearch@<version>
|
||||||
```
|
```
|
||||||
So for example if you need to install `7.x` and `6.x`, you will run
|
|
||||||
|
So for example if you need to install `7.x` and `6.x`, you will run:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
npm install es6@npm:@elastic/elasticsearch@6
|
npm install es6@npm:@elastic/elasticsearch@6
|
||||||
npm install es7@npm:@elastic/elasticsearch@7
|
npm install es7@npm:@elastic/elasticsearch@7
|
||||||
```
|
```
|
||||||
|
|
||||||
And your `package.json` will look like the following:
|
And your `package.json` will look like the following:
|
||||||
|
|
||||||
```json
|
```json
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"es6": "npm:@elastic/elasticsearch@^6.7.0",
|
"es6": "npm:@elastic/elasticsearch@^6.7.0",
|
||||||
"es7": "npm:@elastic/elasticsearch@^7.0.0"
|
"es7": "npm:@elastic/elasticsearch@^7.0.0"
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
You will require the packages from your code by using the alias you have defined.
|
You will require the packages from your code by using the alias you have defined.
|
||||||
|
|
||||||
```js
|
```js
|
||||||
const { Client: Client6 } = require('es6')
|
const { Client: Client6 } = require('es6')
|
||||||
const { Client: Client7 } = require('es7')
|
const { Client: Client7 } = require('es7')
|
||||||
|
|
||||||
const client6 = new Client6({ node: 'http://localhost:9200' })
|
const client6 = new Client6({
|
||||||
const client7 = new Client7({ node: 'http://localhost:9201' })
|
cloud: { id: '<cloud-id>' },
|
||||||
|
auth: { apiKey: 'base64EncodedKey' }
|
||||||
|
})
|
||||||
|
const client7 = new Client7({
|
||||||
|
cloud: { id: '<cloud-id>' },
|
||||||
|
auth: { apiKey: 'base64EncodedKey' }
|
||||||
|
})
|
||||||
|
|
||||||
client6.info(console.log)
|
client6.info().then(console.log, console.log)
|
||||||
client7.info(console.log)
|
client7.info().then(console.log, console.log)
|
||||||
```
|
```
|
||||||
|
|
||||||
Finally, if you want to install the client for the next version of Elasticsearch *(the one that lives in Elasticsearch’s master branch)*, you can use the following command:
|
Finally, if you want to install the client for the next version of Elasticsearch
|
||||||
|
*(the one that lives in Elasticsearch’s main branch)*, you can use the following
|
||||||
|
command:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
npm install esmaster@github:elastic/elasticsearch-js
|
npm install esmain@github:elastic/elasticsearch-js
|
||||||
```
|
```
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
This software is licensed under the [Apache 2 license](./LICENSE).
|
This software is licensed under the [Apache License 2.0](./LICENSE).
|
||||||
|
|||||||
@ -1,78 +0,0 @@
|
|||||||
// 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
|
|
||||||
@ -1,82 +0,0 @@
|
|||||||
// 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
|
|
||||||
@ -1,143 +0,0 @@
|
|||||||
// 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_includes',
|
|
||||||
'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',
|
|
||||||
_sourceIncludes: '_source_includes',
|
|
||||||
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
|
|
||||||
@ -1,78 +0,0 @@
|
|||||||
// 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 buildAutoscalingDeleteAutoscalingPolicy (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a autoscaling.delete_autoscaling_policy request
|
|
||||||
* Deletes an autoscaling policy.
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/autoscaling-delete-autoscaling-policy.html
|
|
||||||
*/
|
|
||||||
return function autoscalingDeleteAutoscalingPolicy (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 = '/' + '_autoscaling' + '/' + '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 = buildAutoscalingDeleteAutoscalingPolicy
|
|
||||||
@ -1,72 +0,0 @@
|
|||||||
// 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
|
|
||||||
@ -1,78 +0,0 @@
|
|||||||
// 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 buildAutoscalingGetAutoscalingPolicy (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a autoscaling.get_autoscaling_policy request
|
|
||||||
* Retrieves an autoscaling policy.
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/autoscaling-get-autoscaling-policy.html
|
|
||||||
*/
|
|
||||||
return function autoscalingGetAutoscalingPolicy (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 = 'GET'
|
|
||||||
path = '/' + '_autoscaling' + '/' + 'policy' + '/' + encodeURIComponent(name)
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: null,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildAutoscalingGetAutoscalingPolicy
|
|
||||||
@ -1,82 +0,0 @@
|
|||||||
// 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 buildAutoscalingPutAutoscalingPolicy (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a autoscaling.put_autoscaling_policy request
|
|
||||||
* Creates a new autoscaling policy.
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/current/autoscaling-put-autoscaling-policy.html
|
|
||||||
*/
|
|
||||||
return function autoscalingPutAutoscalingPolicy (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 = '/' + '_autoscaling' + '/' + '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 = buildAutoscalingPutAutoscalingPolicy
|
|
||||||
109
api/api/bulk.js
109
api/api/bulk.js
@ -1,109 +0,0 @@
|
|||||||
// 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 buildBulk (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
'wait_for_active_shards',
|
|
||||||
'refresh',
|
|
||||||
'routing',
|
|
||||||
'timeout',
|
|
||||||
'type',
|
|
||||||
'_source',
|
|
||||||
'_source_excludes',
|
|
||||||
'_source_includes',
|
|
||||||
'pipeline',
|
|
||||||
'pretty',
|
|
||||||
'human',
|
|
||||||
'error_trace',
|
|
||||||
'source',
|
|
||||||
'filter_path'
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
waitForActiveShards: 'wait_for_active_shards',
|
|
||||||
_sourceExcludes: '_source_excludes',
|
|
||||||
_sourceIncludes: '_source_includes',
|
|
||||||
errorTrace: 'error_trace',
|
|
||||||
filterPath: 'filter_path'
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a bulk request
|
|
||||||
* Allows to perform multiple index/update/delete operations in a single request.
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/docs-bulk.html
|
|
||||||
*/
|
|
||||||
return function bulk (params, options, callback) {
|
|
||||||
options = options || {}
|
|
||||||
if (typeof options === 'function') {
|
|
||||||
callback = options
|
|
||||||
options = {}
|
|
||||||
}
|
|
||||||
if (typeof params === 'function' || params == null) {
|
|
||||||
callback = params
|
|
||||||
params = {}
|
|
||||||
options = {}
|
|
||||||
}
|
|
||||||
|
|
||||||
// check required parameters
|
|
||||||
if (params['body'] == null) {
|
|
||||||
const err = new ConfigurationError('Missing required parameter: body')
|
|
||||||
return handleError(err, callback)
|
|
||||||
}
|
|
||||||
|
|
||||||
// check required url components
|
|
||||||
if (params['type'] != null && (params['index'] == null)) {
|
|
||||||
const err = new ConfigurationError('Missing required parameter of the url: index')
|
|
||||||
return handleError(err, callback)
|
|
||||||
}
|
|
||||||
|
|
||||||
// validate headers object
|
|
||||||
if (options.headers != null && typeof options.headers !== 'object') {
|
|
||||||
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
|
|
||||||
return handleError(err, callback)
|
|
||||||
}
|
|
||||||
|
|
||||||
var warnings = []
|
|
||||||
var { method, body, index, type, ...querystring } = params
|
|
||||||
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
|
||||||
|
|
||||||
var ignore = options.ignore
|
|
||||||
if (typeof ignore === 'number') {
|
|
||||||
options.ignore = [ignore]
|
|
||||||
}
|
|
||||||
|
|
||||||
var path = ''
|
|
||||||
|
|
||||||
if ((index) != null && (type) != null) {
|
|
||||||
if (method == null) method = 'POST'
|
|
||||||
path = '/' + encodeURIComponent(index) + '/' + encodeURIComponent(type) + '/' + '_bulk'
|
|
||||||
} else if ((index) != null) {
|
|
||||||
if (method == null) method = 'POST'
|
|
||||||
path = '/' + encodeURIComponent(index) + '/' + '_bulk'
|
|
||||||
} else {
|
|
||||||
if (method == null) method = 'POST'
|
|
||||||
path = '/' + '_bulk'
|
|
||||||
}
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
bulkBody: body,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildBulk
|
|
||||||
@ -1,90 +0,0 @@
|
|||||||
// 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 buildCatAliases (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
'format',
|
|
||||||
'local',
|
|
||||||
'h',
|
|
||||||
'help',
|
|
||||||
's',
|
|
||||||
'v',
|
|
||||||
'expand_wildcards',
|
|
||||||
'pretty',
|
|
||||||
'human',
|
|
||||||
'error_trace',
|
|
||||||
'source',
|
|
||||||
'filter_path'
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
expandWildcards: 'expand_wildcards',
|
|
||||||
errorTrace: 'error_trace',
|
|
||||||
filterPath: 'filter_path'
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a cat.aliases request
|
|
||||||
* Shows information about currently configured aliases to indices including filter and routing infos.
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-alias.html
|
|
||||||
*/
|
|
||||||
return function catAliases (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 = '/' + '_cat' + '/' + 'aliases' + '/' + encodeURIComponent(name)
|
|
||||||
} else {
|
|
||||||
if (method == null) method = 'GET'
|
|
||||||
path = '/' + '_cat' + '/' + 'aliases'
|
|
||||||
}
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: null,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCatAliases
|
|
||||||
@ -1,91 +0,0 @@
|
|||||||
// 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 buildCatAllocation (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
'format',
|
|
||||||
'bytes',
|
|
||||||
'local',
|
|
||||||
'master_timeout',
|
|
||||||
'h',
|
|
||||||
'help',
|
|
||||||
's',
|
|
||||||
'v',
|
|
||||||
'pretty',
|
|
||||||
'human',
|
|
||||||
'error_trace',
|
|
||||||
'source',
|
|
||||||
'filter_path'
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
masterTimeout: 'master_timeout',
|
|
||||||
errorTrace: 'error_trace',
|
|
||||||
filterPath: 'filter_path'
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a cat.allocation request
|
|
||||||
* Provides a snapshot of how many shards are allocated to each data node and how much disk space they are using.
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-allocation.html
|
|
||||||
*/
|
|
||||||
return function catAllocation (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, nodeId, node_id, ...querystring } = params
|
|
||||||
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
|
||||||
|
|
||||||
var ignore = options.ignore
|
|
||||||
if (typeof ignore === 'number') {
|
|
||||||
options.ignore = [ignore]
|
|
||||||
}
|
|
||||||
|
|
||||||
var path = ''
|
|
||||||
|
|
||||||
if ((node_id || nodeId) != null) {
|
|
||||||
if (method == null) method = 'GET'
|
|
||||||
path = '/' + '_cat' + '/' + 'allocation' + '/' + encodeURIComponent(node_id || nodeId)
|
|
||||||
} else {
|
|
||||||
if (method == null) method = 'GET'
|
|
||||||
path = '/' + '_cat' + '/' + 'allocation'
|
|
||||||
}
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: null,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCatAllocation
|
|
||||||
@ -1,87 +0,0 @@
|
|||||||
// 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 buildCatCount (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
'format',
|
|
||||||
'h',
|
|
||||||
'help',
|
|
||||||
's',
|
|
||||||
'v',
|
|
||||||
'pretty',
|
|
||||||
'human',
|
|
||||||
'error_trace',
|
|
||||||
'source',
|
|
||||||
'filter_path'
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
errorTrace: 'error_trace',
|
|
||||||
filterPath: 'filter_path'
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a cat.count request
|
|
||||||
* Provides quick access to the document count of the entire cluster, or individual indices.
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-count.html
|
|
||||||
*/
|
|
||||||
return function catCount (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 = 'GET'
|
|
||||||
path = '/' + '_cat' + '/' + 'count' + '/' + encodeURIComponent(index)
|
|
||||||
} else {
|
|
||||||
if (method == null) method = 'GET'
|
|
||||||
path = '/' + '_cat' + '/' + 'count'
|
|
||||||
}
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: null,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCatCount
|
|
||||||
@ -1,89 +0,0 @@
|
|||||||
// 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 buildCatFielddata (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
'format',
|
|
||||||
'bytes',
|
|
||||||
'h',
|
|
||||||
'help',
|
|
||||||
's',
|
|
||||||
'v',
|
|
||||||
'fields',
|
|
||||||
'pretty',
|
|
||||||
'human',
|
|
||||||
'error_trace',
|
|
||||||
'source',
|
|
||||||
'filter_path'
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
errorTrace: 'error_trace',
|
|
||||||
filterPath: 'filter_path'
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a cat.fielddata request
|
|
||||||
* Shows how much heap memory is currently being used by fielddata on every data node in the cluster.
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-fielddata.html
|
|
||||||
*/
|
|
||||||
return function catFielddata (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, fields, ...querystring } = params
|
|
||||||
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
|
||||||
|
|
||||||
var ignore = options.ignore
|
|
||||||
if (typeof ignore === 'number') {
|
|
||||||
options.ignore = [ignore]
|
|
||||||
}
|
|
||||||
|
|
||||||
var path = ''
|
|
||||||
|
|
||||||
if ((fields) != null) {
|
|
||||||
if (method == null) method = 'GET'
|
|
||||||
path = '/' + '_cat' + '/' + 'fielddata' + '/' + encodeURIComponent(fields)
|
|
||||||
} else {
|
|
||||||
if (method == null) method = 'GET'
|
|
||||||
path = '/' + '_cat' + '/' + 'fielddata'
|
|
||||||
}
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: null,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCatFielddata
|
|
||||||
@ -1,84 +0,0 @@
|
|||||||
// 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 buildCatHealth (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
'format',
|
|
||||||
'h',
|
|
||||||
'help',
|
|
||||||
's',
|
|
||||||
'time',
|
|
||||||
'ts',
|
|
||||||
'v',
|
|
||||||
'pretty',
|
|
||||||
'human',
|
|
||||||
'error_trace',
|
|
||||||
'source',
|
|
||||||
'filter_path'
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
errorTrace: 'error_trace',
|
|
||||||
filterPath: 'filter_path'
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a cat.health request
|
|
||||||
* Returns a concise representation of the cluster health.
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-health.html
|
|
||||||
*/
|
|
||||||
return function catHealth (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 = '/' + '_cat' + '/' + 'health'
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: null,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCatHealth
|
|
||||||
@ -1,79 +0,0 @@
|
|||||||
// 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 buildCatHelp (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
'help',
|
|
||||||
's',
|
|
||||||
'pretty',
|
|
||||||
'human',
|
|
||||||
'error_trace',
|
|
||||||
'source',
|
|
||||||
'filter_path'
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
errorTrace: 'error_trace',
|
|
||||||
filterPath: 'filter_path'
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a cat.help request
|
|
||||||
* Returns help for the Cat APIs.
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/cat.html
|
|
||||||
*/
|
|
||||||
return function catHelp (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 = '/' + '_cat'
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: null,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCatHelp
|
|
||||||
@ -1,98 +0,0 @@
|
|||||||
// 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 buildCatIndices (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
'format',
|
|
||||||
'bytes',
|
|
||||||
'local',
|
|
||||||
'master_timeout',
|
|
||||||
'h',
|
|
||||||
'health',
|
|
||||||
'help',
|
|
||||||
'pri',
|
|
||||||
's',
|
|
||||||
'time',
|
|
||||||
'v',
|
|
||||||
'include_unloaded_segments',
|
|
||||||
'expand_wildcards',
|
|
||||||
'pretty',
|
|
||||||
'human',
|
|
||||||
'error_trace',
|
|
||||||
'source',
|
|
||||||
'filter_path'
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
masterTimeout: 'master_timeout',
|
|
||||||
includeUnloadedSegments: 'include_unloaded_segments',
|
|
||||||
expandWildcards: 'expand_wildcards',
|
|
||||||
errorTrace: 'error_trace',
|
|
||||||
filterPath: 'filter_path'
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a cat.indices request
|
|
||||||
* Returns information about indices: number of primaries and replicas, document counts, disk size, ...
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-indices.html
|
|
||||||
*/
|
|
||||||
return function catIndices (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 = 'GET'
|
|
||||||
path = '/' + '_cat' + '/' + 'indices' + '/' + encodeURIComponent(index)
|
|
||||||
} else {
|
|
||||||
if (method == null) method = 'GET'
|
|
||||||
path = '/' + '_cat' + '/' + 'indices'
|
|
||||||
}
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: null,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCatIndices
|
|
||||||
@ -1,85 +0,0 @@
|
|||||||
// 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 buildCatMaster (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
'format',
|
|
||||||
'local',
|
|
||||||
'master_timeout',
|
|
||||||
'h',
|
|
||||||
'help',
|
|
||||||
's',
|
|
||||||
'v',
|
|
||||||
'pretty',
|
|
||||||
'human',
|
|
||||||
'error_trace',
|
|
||||||
'source',
|
|
||||||
'filter_path'
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
masterTimeout: 'master_timeout',
|
|
||||||
errorTrace: 'error_trace',
|
|
||||||
filterPath: 'filter_path'
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a cat.master request
|
|
||||||
* Returns information about the master node.
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-master.html
|
|
||||||
*/
|
|
||||||
return function catMaster (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 = '/' + '_cat' + '/' + 'master'
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: null,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCatMaster
|
|
||||||
@ -1,85 +0,0 @@
|
|||||||
// 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
|
|
||||||
@ -1,84 +0,0 @@
|
|||||||
// 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
|
|
||||||
@ -1,85 +0,0 @@
|
|||||||
// 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
|
|
||||||
@ -1,87 +0,0 @@
|
|||||||
// 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
|
|
||||||
@ -1,85 +0,0 @@
|
|||||||
// 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 buildCatNodeattrs (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
'format',
|
|
||||||
'local',
|
|
||||||
'master_timeout',
|
|
||||||
'h',
|
|
||||||
'help',
|
|
||||||
's',
|
|
||||||
'v',
|
|
||||||
'pretty',
|
|
||||||
'human',
|
|
||||||
'error_trace',
|
|
||||||
'source',
|
|
||||||
'filter_path'
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
masterTimeout: 'master_timeout',
|
|
||||||
errorTrace: 'error_trace',
|
|
||||||
filterPath: 'filter_path'
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a cat.nodeattrs request
|
|
||||||
* Returns information about custom node attributes.
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-nodeattrs.html
|
|
||||||
*/
|
|
||||||
return function catNodeattrs (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 = '/' + '_cat' + '/' + 'nodeattrs'
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: null,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCatNodeattrs
|
|
||||||
@ -1,89 +0,0 @@
|
|||||||
// 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 buildCatNodes (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
'bytes',
|
|
||||||
'format',
|
|
||||||
'full_id',
|
|
||||||
'local',
|
|
||||||
'master_timeout',
|
|
||||||
'h',
|
|
||||||
'help',
|
|
||||||
's',
|
|
||||||
'time',
|
|
||||||
'v',
|
|
||||||
'pretty',
|
|
||||||
'human',
|
|
||||||
'error_trace',
|
|
||||||
'source',
|
|
||||||
'filter_path'
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
fullId: 'full_id',
|
|
||||||
masterTimeout: 'master_timeout',
|
|
||||||
errorTrace: 'error_trace',
|
|
||||||
filterPath: 'filter_path'
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a cat.nodes request
|
|
||||||
* Returns basic statistics about performance of cluster nodes.
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-nodes.html
|
|
||||||
*/
|
|
||||||
return function catNodes (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 = '/' + '_cat' + '/' + 'nodes'
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: null,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCatNodes
|
|
||||||
@ -1,86 +0,0 @@
|
|||||||
// 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 buildCatPendingTasks (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
'format',
|
|
||||||
'local',
|
|
||||||
'master_timeout',
|
|
||||||
'h',
|
|
||||||
'help',
|
|
||||||
's',
|
|
||||||
'time',
|
|
||||||
'v',
|
|
||||||
'pretty',
|
|
||||||
'human',
|
|
||||||
'error_trace',
|
|
||||||
'source',
|
|
||||||
'filter_path'
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
masterTimeout: 'master_timeout',
|
|
||||||
errorTrace: 'error_trace',
|
|
||||||
filterPath: 'filter_path'
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a cat.pending_tasks request
|
|
||||||
* Returns a concise representation of the cluster pending tasks.
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-pending-tasks.html
|
|
||||||
*/
|
|
||||||
return function catPendingTasks (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 = '/' + '_cat' + '/' + 'pending_tasks'
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: null,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCatPendingTasks
|
|
||||||
@ -1,85 +0,0 @@
|
|||||||
// 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 buildCatPlugins (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
'format',
|
|
||||||
'local',
|
|
||||||
'master_timeout',
|
|
||||||
'h',
|
|
||||||
'help',
|
|
||||||
's',
|
|
||||||
'v',
|
|
||||||
'pretty',
|
|
||||||
'human',
|
|
||||||
'error_trace',
|
|
||||||
'source',
|
|
||||||
'filter_path'
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
masterTimeout: 'master_timeout',
|
|
||||||
errorTrace: 'error_trace',
|
|
||||||
filterPath: 'filter_path'
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a cat.plugins request
|
|
||||||
* Returns information about installed plugins across nodes node.
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-plugins.html
|
|
||||||
*/
|
|
||||||
return function catPlugins (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 = '/' + '_cat' + '/' + 'plugins'
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: null,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCatPlugins
|
|
||||||
@ -1,93 +0,0 @@
|
|||||||
// 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 buildCatRecovery (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
'format',
|
|
||||||
'active_only',
|
|
||||||
'bytes',
|
|
||||||
'detailed',
|
|
||||||
'h',
|
|
||||||
'help',
|
|
||||||
'index',
|
|
||||||
's',
|
|
||||||
'time',
|
|
||||||
'v',
|
|
||||||
'pretty',
|
|
||||||
'human',
|
|
||||||
'error_trace',
|
|
||||||
'source',
|
|
||||||
'filter_path'
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
activeOnly: 'active_only',
|
|
||||||
errorTrace: 'error_trace',
|
|
||||||
filterPath: 'filter_path'
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a cat.recovery request
|
|
||||||
* Returns information about index shard recoveries, both on-going completed.
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-recovery.html
|
|
||||||
*/
|
|
||||||
return function catRecovery (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 = 'GET'
|
|
||||||
path = '/' + '_cat' + '/' + 'recovery' + '/' + encodeURIComponent(index)
|
|
||||||
} else {
|
|
||||||
if (method == null) method = 'GET'
|
|
||||||
path = '/' + '_cat' + '/' + 'recovery'
|
|
||||||
}
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: null,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCatRecovery
|
|
||||||
@ -1,85 +0,0 @@
|
|||||||
// 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 buildCatRepositories (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
'format',
|
|
||||||
'local',
|
|
||||||
'master_timeout',
|
|
||||||
'h',
|
|
||||||
'help',
|
|
||||||
's',
|
|
||||||
'v',
|
|
||||||
'pretty',
|
|
||||||
'human',
|
|
||||||
'error_trace',
|
|
||||||
'source',
|
|
||||||
'filter_path'
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
masterTimeout: 'master_timeout',
|
|
||||||
errorTrace: 'error_trace',
|
|
||||||
filterPath: 'filter_path'
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a cat.repositories request
|
|
||||||
* Returns information about snapshot repositories registered in the cluster.
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-repositories.html
|
|
||||||
*/
|
|
||||||
return function catRepositories (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 = '/' + '_cat' + '/' + 'repositories'
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: null,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCatRepositories
|
|
||||||
@ -1,88 +0,0 @@
|
|||||||
// 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 buildCatSegments (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
'format',
|
|
||||||
'bytes',
|
|
||||||
'h',
|
|
||||||
'help',
|
|
||||||
's',
|
|
||||||
'v',
|
|
||||||
'pretty',
|
|
||||||
'human',
|
|
||||||
'error_trace',
|
|
||||||
'source',
|
|
||||||
'filter_path'
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
errorTrace: 'error_trace',
|
|
||||||
filterPath: 'filter_path'
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a cat.segments request
|
|
||||||
* Provides low-level information about the segments in the shards of an index.
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-segments.html
|
|
||||||
*/
|
|
||||||
return function catSegments (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 = 'GET'
|
|
||||||
path = '/' + '_cat' + '/' + 'segments' + '/' + encodeURIComponent(index)
|
|
||||||
} else {
|
|
||||||
if (method == null) method = 'GET'
|
|
||||||
path = '/' + '_cat' + '/' + 'segments'
|
|
||||||
}
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: null,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCatSegments
|
|
||||||
@ -1,92 +0,0 @@
|
|||||||
// 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 buildCatShards (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
'format',
|
|
||||||
'bytes',
|
|
||||||
'local',
|
|
||||||
'master_timeout',
|
|
||||||
'h',
|
|
||||||
'help',
|
|
||||||
's',
|
|
||||||
'time',
|
|
||||||
'v',
|
|
||||||
'pretty',
|
|
||||||
'human',
|
|
||||||
'error_trace',
|
|
||||||
'source',
|
|
||||||
'filter_path'
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
masterTimeout: 'master_timeout',
|
|
||||||
errorTrace: 'error_trace',
|
|
||||||
filterPath: 'filter_path'
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a cat.shards request
|
|
||||||
* Provides a detailed view of shard allocation on nodes.
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-shards.html
|
|
||||||
*/
|
|
||||||
return function catShards (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 = 'GET'
|
|
||||||
path = '/' + '_cat' + '/' + 'shards' + '/' + encodeURIComponent(index)
|
|
||||||
} else {
|
|
||||||
if (method == null) method = 'GET'
|
|
||||||
path = '/' + '_cat' + '/' + 'shards'
|
|
||||||
}
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: null,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCatShards
|
|
||||||
@ -1,92 +0,0 @@
|
|||||||
// 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 buildCatSnapshots (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
'format',
|
|
||||||
'ignore_unavailable',
|
|
||||||
'master_timeout',
|
|
||||||
'h',
|
|
||||||
'help',
|
|
||||||
's',
|
|
||||||
'time',
|
|
||||||
'v',
|
|
||||||
'pretty',
|
|
||||||
'human',
|
|
||||||
'error_trace',
|
|
||||||
'source',
|
|
||||||
'filter_path'
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
ignoreUnavailable: 'ignore_unavailable',
|
|
||||||
masterTimeout: 'master_timeout',
|
|
||||||
errorTrace: 'error_trace',
|
|
||||||
filterPath: 'filter_path'
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a cat.snapshots request
|
|
||||||
* Returns all snapshots in a specific repository.
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-snapshots.html
|
|
||||||
*/
|
|
||||||
return function catSnapshots (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, repository, ...querystring } = params
|
|
||||||
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
|
||||||
|
|
||||||
var ignore = options.ignore
|
|
||||||
if (typeof ignore === 'number') {
|
|
||||||
options.ignore = [ignore]
|
|
||||||
}
|
|
||||||
|
|
||||||
var path = ''
|
|
||||||
|
|
||||||
if ((repository) != null) {
|
|
||||||
if (method == null) method = 'GET'
|
|
||||||
path = '/' + '_cat' + '/' + 'snapshots' + '/' + encodeURIComponent(repository)
|
|
||||||
} else {
|
|
||||||
if (method == null) method = 'GET'
|
|
||||||
path = '/' + '_cat' + '/' + 'snapshots'
|
|
||||||
}
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: null,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCatSnapshots
|
|
||||||
@ -1,89 +0,0 @@
|
|||||||
// 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 buildCatTasks (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
'format',
|
|
||||||
'node_id',
|
|
||||||
'actions',
|
|
||||||
'detailed',
|
|
||||||
'parent_task',
|
|
||||||
'h',
|
|
||||||
'help',
|
|
||||||
's',
|
|
||||||
'time',
|
|
||||||
'v',
|
|
||||||
'pretty',
|
|
||||||
'human',
|
|
||||||
'error_trace',
|
|
||||||
'source',
|
|
||||||
'filter_path'
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
nodeId: 'node_id',
|
|
||||||
parentTask: 'parent_task',
|
|
||||||
errorTrace: 'error_trace',
|
|
||||||
filterPath: 'filter_path'
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a cat.tasks request
|
|
||||||
* Returns information about the tasks currently executing on one or more nodes in the cluster.
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/tasks.html
|
|
||||||
*/
|
|
||||||
return function catTasks (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 = '/' + '_cat' + '/' + 'tasks'
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: null,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCatTasks
|
|
||||||
@ -1,90 +0,0 @@
|
|||||||
// 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 buildCatTemplates (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
'format',
|
|
||||||
'local',
|
|
||||||
'master_timeout',
|
|
||||||
'h',
|
|
||||||
'help',
|
|
||||||
's',
|
|
||||||
'v',
|
|
||||||
'pretty',
|
|
||||||
'human',
|
|
||||||
'error_trace',
|
|
||||||
'source',
|
|
||||||
'filter_path'
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
masterTimeout: 'master_timeout',
|
|
||||||
errorTrace: 'error_trace',
|
|
||||||
filterPath: 'filter_path'
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a cat.templates request
|
|
||||||
* Returns information about existing templates.
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-templates.html
|
|
||||||
*/
|
|
||||||
return function catTemplates (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 = '/' + '_cat' + '/' + 'templates' + '/' + encodeURIComponent(name)
|
|
||||||
} else {
|
|
||||||
if (method == null) method = 'GET'
|
|
||||||
path = '/' + '_cat' + '/' + 'templates'
|
|
||||||
}
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: null,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCatTemplates
|
|
||||||
@ -1,92 +0,0 @@
|
|||||||
// 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 buildCatThreadPool (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
'format',
|
|
||||||
'size',
|
|
||||||
'local',
|
|
||||||
'master_timeout',
|
|
||||||
'h',
|
|
||||||
'help',
|
|
||||||
's',
|
|
||||||
'v',
|
|
||||||
'pretty',
|
|
||||||
'human',
|
|
||||||
'error_trace',
|
|
||||||
'source',
|
|
||||||
'filter_path'
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
masterTimeout: 'master_timeout',
|
|
||||||
errorTrace: 'error_trace',
|
|
||||||
filterPath: 'filter_path'
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a cat.thread_pool request
|
|
||||||
* Returns cluster-wide thread pool statistics per node.
|
|
||||||
By default the active, queue and rejected statistics are returned for all thread pools.
|
|
||||||
* https://www.elastic.co/guide/en/elasticsearch/reference/master/cat-thread-pool.html
|
|
||||||
*/
|
|
||||||
return function catThreadPool (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, threadPoolPatterns, thread_pool_patterns, ...querystring } = params
|
|
||||||
querystring = snakeCaseKeys(acceptedQuerystring, snakeCase, querystring, warnings)
|
|
||||||
|
|
||||||
var ignore = options.ignore
|
|
||||||
if (typeof ignore === 'number') {
|
|
||||||
options.ignore = [ignore]
|
|
||||||
}
|
|
||||||
|
|
||||||
var path = ''
|
|
||||||
|
|
||||||
if ((thread_pool_patterns || threadPoolPatterns) != null) {
|
|
||||||
if (method == null) method = 'GET'
|
|
||||||
path = '/' + '_cat' + '/' + 'thread_pool' + '/' + encodeURIComponent(thread_pool_patterns || threadPoolPatterns)
|
|
||||||
} else {
|
|
||||||
if (method == null) method = 'GET'
|
|
||||||
path = '/' + '_cat' + '/' + 'thread_pool'
|
|
||||||
}
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: null,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCatThreadPool
|
|
||||||
@ -1,86 +0,0 @@
|
|||||||
// 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
|
|
||||||
@ -1,78 +0,0 @@
|
|||||||
// 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 buildCcrDeleteAutoFollowPattern (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
return function ccrDeleteAutoFollowPattern (params, options, callback) {
|
|
||||||
options = options || {}
|
|
||||||
if (typeof options === 'function') {
|
|
||||||
callback = options
|
|
||||||
options = {}
|
|
||||||
}
|
|
||||||
if (typeof params === 'function' || params == null) {
|
|
||||||
callback = params
|
|
||||||
params = {}
|
|
||||||
options = {}
|
|
||||||
}
|
|
||||||
|
|
||||||
// check required parameters
|
|
||||||
if (params['name'] == null) {
|
|
||||||
const err = new ConfigurationError('Missing required parameter: name')
|
|
||||||
return handleError(err, callback)
|
|
||||||
}
|
|
||||||
|
|
||||||
// validate headers object
|
|
||||||
if (options.headers != null && typeof options.headers !== 'object') {
|
|
||||||
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
|
|
||||||
return handleError(err, callback)
|
|
||||||
}
|
|
||||||
|
|
||||||
var warnings = []
|
|
||||||
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 = '/' + '_ccr' + '/' + 'auto_follow' + '/' + 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 = buildCcrDeleteAutoFollowPattern
|
|
||||||
@ -1,82 +0,0 @@
|
|||||||
// 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 buildCcrFollow (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
'wait_for_active_shards'
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
waitForActiveShards: 'wait_for_active_shards'
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
return function ccrFollow (params, options, callback) {
|
|
||||||
options = options || {}
|
|
||||||
if (typeof options === 'function') {
|
|
||||||
callback = options
|
|
||||||
options = {}
|
|
||||||
}
|
|
||||||
if (typeof params === 'function' || params == null) {
|
|
||||||
callback = params
|
|
||||||
params = {}
|
|
||||||
options = {}
|
|
||||||
}
|
|
||||||
|
|
||||||
// check required parameters
|
|
||||||
if (params['index'] == null) {
|
|
||||||
const err = new ConfigurationError('Missing required parameter: index')
|
|
||||||
return handleError(err, callback)
|
|
||||||
}
|
|
||||||
if (params['body'] == null) {
|
|
||||||
const err = new ConfigurationError('Missing required parameter: body')
|
|
||||||
return handleError(err, callback)
|
|
||||||
}
|
|
||||||
|
|
||||||
// validate headers object
|
|
||||||
if (options.headers != null && typeof options.headers !== 'object') {
|
|
||||||
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
|
|
||||||
return handleError(err, callback)
|
|
||||||
}
|
|
||||||
|
|
||||||
var warnings = []
|
|
||||||
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 = 'PUT'
|
|
||||||
path = '/' + encodeURIComponent(index) + '/' + '_ccr' + '/' + 'follow'
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: body || '',
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCcrFollow
|
|
||||||
@ -1,78 +0,0 @@
|
|||||||
// 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 buildCcrFollowInfo (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
return function ccrFollowInfo (params, options, callback) {
|
|
||||||
options = options || {}
|
|
||||||
if (typeof options === 'function') {
|
|
||||||
callback = options
|
|
||||||
options = {}
|
|
||||||
}
|
|
||||||
if (typeof params === 'function' || params == null) {
|
|
||||||
callback = params
|
|
||||||
params = {}
|
|
||||||
options = {}
|
|
||||||
}
|
|
||||||
|
|
||||||
// check required parameters
|
|
||||||
if (params['index'] == null) {
|
|
||||||
const err = new ConfigurationError('Missing required parameter: index')
|
|
||||||
return handleError(err, callback)
|
|
||||||
}
|
|
||||||
|
|
||||||
// validate headers object
|
|
||||||
if (options.headers != null && typeof options.headers !== 'object') {
|
|
||||||
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
|
|
||||||
return handleError(err, callback)
|
|
||||||
}
|
|
||||||
|
|
||||||
var warnings = []
|
|
||||||
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 = 'GET'
|
|
||||||
path = '/' + encodeURIComponent(index) + '/' + '_ccr' + '/' + 'info'
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: null,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCcrFollowInfo
|
|
||||||
@ -1,78 +0,0 @@
|
|||||||
// 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 buildCcrFollowStats (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
return function ccrFollowStats (params, options, callback) {
|
|
||||||
options = options || {}
|
|
||||||
if (typeof options === 'function') {
|
|
||||||
callback = options
|
|
||||||
options = {}
|
|
||||||
}
|
|
||||||
if (typeof params === 'function' || params == null) {
|
|
||||||
callback = params
|
|
||||||
params = {}
|
|
||||||
options = {}
|
|
||||||
}
|
|
||||||
|
|
||||||
// check required parameters
|
|
||||||
if (params['index'] == null) {
|
|
||||||
const err = new ConfigurationError('Missing required parameter: index')
|
|
||||||
return handleError(err, callback)
|
|
||||||
}
|
|
||||||
|
|
||||||
// validate headers object
|
|
||||||
if (options.headers != null && typeof options.headers !== 'object') {
|
|
||||||
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
|
|
||||||
return handleError(err, callback)
|
|
||||||
}
|
|
||||||
|
|
||||||
var warnings = []
|
|
||||||
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 = 'GET'
|
|
||||||
path = '/' + encodeURIComponent(index) + '/' + '_ccr' + '/' + '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 = buildCcrFollowStats
|
|
||||||
@ -1,82 +0,0 @@
|
|||||||
// 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 buildCcrForgetFollower (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a ccr.forget_follower request
|
|
||||||
* 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) {
|
|
||||||
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 = 'POST'
|
|
||||||
path = '/' + encodeURIComponent(index) + '/' + '_ccr' + '/' + 'forget_follower'
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: body || '',
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCcrForgetFollower
|
|
||||||
@ -1,77 +0,0 @@
|
|||||||
// 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 buildCcrGetAutoFollowPattern (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
return function ccrGetAutoFollowPattern (params, options, callback) {
|
|
||||||
options = options || {}
|
|
||||||
if (typeof options === 'function') {
|
|
||||||
callback = options
|
|
||||||
options = {}
|
|
||||||
}
|
|
||||||
if (typeof params === 'function' || params == null) {
|
|
||||||
callback = params
|
|
||||||
params = {}
|
|
||||||
options = {}
|
|
||||||
}
|
|
||||||
|
|
||||||
// validate headers object
|
|
||||||
if (options.headers != null && typeof options.headers !== 'object') {
|
|
||||||
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
|
|
||||||
return handleError(err, callback)
|
|
||||||
}
|
|
||||||
|
|
||||||
var warnings = []
|
|
||||||
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 = '/' + '_ccr' + '/' + 'auto_follow' + '/' + encodeURIComponent(name)
|
|
||||||
} else {
|
|
||||||
if (method == null) method = 'GET'
|
|
||||||
path = '/' + '_ccr' + '/' + 'auto_follow'
|
|
||||||
}
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: null,
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCcrGetAutoFollowPattern
|
|
||||||
@ -1,78 +0,0 @@
|
|||||||
// 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
|
|
||||||
@ -1,78 +0,0 @@
|
|||||||
// 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 buildCcrPauseFollow (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
return function ccrPauseFollow (params, options, callback) {
|
|
||||||
options = options || {}
|
|
||||||
if (typeof options === 'function') {
|
|
||||||
callback = options
|
|
||||||
options = {}
|
|
||||||
}
|
|
||||||
if (typeof params === 'function' || params == null) {
|
|
||||||
callback = params
|
|
||||||
params = {}
|
|
||||||
options = {}
|
|
||||||
}
|
|
||||||
|
|
||||||
// check required parameters
|
|
||||||
if (params['index'] == null) {
|
|
||||||
const err = new ConfigurationError('Missing required parameter: index')
|
|
||||||
return handleError(err, callback)
|
|
||||||
}
|
|
||||||
|
|
||||||
// validate headers object
|
|
||||||
if (options.headers != null && typeof options.headers !== 'object') {
|
|
||||||
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
|
|
||||||
return handleError(err, callback)
|
|
||||||
}
|
|
||||||
|
|
||||||
var warnings = []
|
|
||||||
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 = 'POST'
|
|
||||||
path = '/' + encodeURIComponent(index) + '/' + '_ccr' + '/' + 'pause_follow'
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: body || '',
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCcrPauseFollow
|
|
||||||
@ -1,82 +0,0 @@
|
|||||||
// 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 buildCcrPutAutoFollowPattern (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
return function ccrPutAutoFollowPattern (params, options, callback) {
|
|
||||||
options = options || {}
|
|
||||||
if (typeof options === 'function') {
|
|
||||||
callback = options
|
|
||||||
options = {}
|
|
||||||
}
|
|
||||||
if (typeof params === 'function' || params == null) {
|
|
||||||
callback = params
|
|
||||||
params = {}
|
|
||||||
options = {}
|
|
||||||
}
|
|
||||||
|
|
||||||
// check required parameters
|
|
||||||
if (params['name'] == null) {
|
|
||||||
const err = new ConfigurationError('Missing required parameter: name')
|
|
||||||
return handleError(err, callback)
|
|
||||||
}
|
|
||||||
if (params['body'] == null) {
|
|
||||||
const err = new ConfigurationError('Missing required parameter: body')
|
|
||||||
return handleError(err, callback)
|
|
||||||
}
|
|
||||||
|
|
||||||
// validate headers object
|
|
||||||
if (options.headers != null && typeof options.headers !== 'object') {
|
|
||||||
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
|
|
||||||
return handleError(err, callback)
|
|
||||||
}
|
|
||||||
|
|
||||||
var warnings = []
|
|
||||||
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 = '/' + '_ccr' + '/' + 'auto_follow' + '/' + 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 = buildCcrPutAutoFollowPattern
|
|
||||||
@ -1,78 +0,0 @@
|
|||||||
// 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
|
|
||||||
@ -1,78 +0,0 @@
|
|||||||
// 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 buildCcrResumeFollow (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
return function ccrResumeFollow (params, options, callback) {
|
|
||||||
options = options || {}
|
|
||||||
if (typeof options === 'function') {
|
|
||||||
callback = options
|
|
||||||
options = {}
|
|
||||||
}
|
|
||||||
if (typeof params === 'function' || params == null) {
|
|
||||||
callback = params
|
|
||||||
params = {}
|
|
||||||
options = {}
|
|
||||||
}
|
|
||||||
|
|
||||||
// check required parameters
|
|
||||||
if (params['index'] == null) {
|
|
||||||
const err = new ConfigurationError('Missing required parameter: index')
|
|
||||||
return handleError(err, callback)
|
|
||||||
}
|
|
||||||
|
|
||||||
// validate headers object
|
|
||||||
if (options.headers != null && typeof options.headers !== 'object') {
|
|
||||||
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
|
|
||||||
return handleError(err, callback)
|
|
||||||
}
|
|
||||||
|
|
||||||
var warnings = []
|
|
||||||
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 = 'POST'
|
|
||||||
path = '/' + encodeURIComponent(index) + '/' + '_ccr' + '/' + 'resume_follow'
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: body || '',
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCcrResumeFollow
|
|
||||||
@ -1,72 +0,0 @@
|
|||||||
// 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 buildCcrStats (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 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
|
|
||||||
*/
|
|
||||||
return function ccrStats (params, options, callback) {
|
|
||||||
options = options || {}
|
|
||||||
if (typeof options === 'function') {
|
|
||||||
callback = options
|
|
||||||
options = {}
|
|
||||||
}
|
|
||||||
if (typeof params === 'function' || params == null) {
|
|
||||||
callback = params
|
|
||||||
params = {}
|
|
||||||
options = {}
|
|
||||||
}
|
|
||||||
|
|
||||||
// validate headers object
|
|
||||||
if (options.headers != null && typeof options.headers !== 'object') {
|
|
||||||
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
|
|
||||||
return handleError(err, callback)
|
|
||||||
}
|
|
||||||
|
|
||||||
var warnings = []
|
|
||||||
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 = '/' + '_ccr' + '/' + '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 = buildCcrStats
|
|
||||||
@ -1,78 +0,0 @@
|
|||||||
// 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 buildCcrUnfollow (opts) {
|
|
||||||
// eslint-disable-next-line no-unused-vars
|
|
||||||
const { makeRequest, ConfigurationError, handleError, snakeCaseKeys } = opts
|
|
||||||
|
|
||||||
const acceptedQuerystring = [
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
const snakeCase = {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Perform a ccr.unfollow request
|
|
||||||
* 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) {
|
|
||||||
options = options || {}
|
|
||||||
if (typeof options === 'function') {
|
|
||||||
callback = options
|
|
||||||
options = {}
|
|
||||||
}
|
|
||||||
if (typeof params === 'function' || params == null) {
|
|
||||||
callback = params
|
|
||||||
params = {}
|
|
||||||
options = {}
|
|
||||||
}
|
|
||||||
|
|
||||||
// check required parameters
|
|
||||||
if (params['index'] == null) {
|
|
||||||
const err = new ConfigurationError('Missing required parameter: index')
|
|
||||||
return handleError(err, callback)
|
|
||||||
}
|
|
||||||
|
|
||||||
// validate headers object
|
|
||||||
if (options.headers != null && typeof options.headers !== 'object') {
|
|
||||||
const err = new ConfigurationError(`Headers should be an object, instead got: ${typeof options.headers}`)
|
|
||||||
return handleError(err, callback)
|
|
||||||
}
|
|
||||||
|
|
||||||
var warnings = []
|
|
||||||
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 = 'POST'
|
|
||||||
path = '/' + encodeURIComponent(index) + '/' + '_ccr' + '/' + 'unfollow'
|
|
||||||
|
|
||||||
// build request object
|
|
||||||
const request = {
|
|
||||||
method,
|
|
||||||
path,
|
|
||||||
body: body || '',
|
|
||||||
querystring
|
|
||||||
}
|
|
||||||
|
|
||||||
options.warnings = warnings.length === 0 ? null : warnings
|
|
||||||
return makeRequest(request, options, callback)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = buildCcrUnfollow
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user