mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
* adding documentation links when the endpoint is known * making doc link reflect version user is using * adding documentation links for xpack APIs * fixing missing argument issue * removing console log * fixing issue with lingering documentation after text is deleted * fixing issue with documentation and multiple commands in the editor * adding $scope.$apply so documentation changes show up in UI * removing dead code * adding missing boost param for match_all * fixing issue with parameterized endpoint completion * adding keyboard shortcut for opening documentation for current request * fixing issue with keyboard docs shortcut when you just move the cursor around
This commit is contained in:
parent
b0f1305048
commit
5d77e2bb42
26 changed files with 628 additions and 485 deletions
|
@ -386,7 +386,9 @@ export function queryDsl(api) {
|
|||
_scope: '',
|
||||
query: {},
|
||||
},
|
||||
match_all: {},
|
||||
match_all: {
|
||||
boost: 1,
|
||||
},
|
||||
more_like_this: {
|
||||
__template: {
|
||||
fields: ['FIELD'],
|
||||
|
|
|
@ -15,7 +15,8 @@
|
|||
<button
|
||||
id="consoleRequestOptions"
|
||||
class="editor_action"
|
||||
dropdown-toggle href="#"
|
||||
dropdown-toggle
|
||||
ng-click="getDocumentation()"
|
||||
aria-label="Request options"
|
||||
>
|
||||
<span class="kuiIcon fa-wrench"></span>
|
||||
|
@ -29,6 +30,9 @@
|
|||
<li role="menuitem">
|
||||
<button class="link" id="copy_as_curl">Copy as cURL</button>
|
||||
</li>
|
||||
<li role="menuitem" ng-if="documentation">
|
||||
<button ng-click="openDocumentation(documentation)">Open documentation</button>
|
||||
</li>
|
||||
<li role="menuitem">
|
||||
<button ng-click="autoIndent($event)">Auto indent</button>
|
||||
</li>
|
||||
|
|
|
@ -33,6 +33,27 @@ export default function init(input, output, sourceLocation = 'stored') {
|
|||
output.update('');
|
||||
}
|
||||
|
||||
function setupAutosave() {
|
||||
let timer;
|
||||
const saveDelay = 500;
|
||||
|
||||
input.getSession().on('change', function onChange() {
|
||||
if (timer) {
|
||||
timer = clearTimeout(timer);
|
||||
}
|
||||
timer = setTimeout(saveCurrentState, saveDelay);
|
||||
});
|
||||
}
|
||||
|
||||
function saveCurrentState() {
|
||||
try {
|
||||
const content = input.getValue();
|
||||
history.updateCurrentState(content);
|
||||
}
|
||||
catch (e) {
|
||||
console.log('Ignoring saving error: ' + e);
|
||||
}
|
||||
}
|
||||
function loadSavedState() {
|
||||
const previousSaveState = history.getSavedEditorState();
|
||||
|
||||
|
@ -63,28 +84,6 @@ export default function init(input, output, sourceLocation = 'stored') {
|
|||
input.moveToNextRequestEdge(true);
|
||||
}
|
||||
|
||||
function setupAutosave() {
|
||||
let timer;
|
||||
const saveDelay = 500;
|
||||
|
||||
input.getSession().on('change', function onChange() {
|
||||
if (timer) {
|
||||
timer = clearTimeout(timer);
|
||||
}
|
||||
timer = setTimeout(saveCurrentState, saveDelay);
|
||||
});
|
||||
}
|
||||
|
||||
function saveCurrentState() {
|
||||
try {
|
||||
const content = input.getValue();
|
||||
history.updateCurrentState(content);
|
||||
}
|
||||
catch (e) {
|
||||
console.log('Ignoring saving error: ' + e);
|
||||
}
|
||||
}
|
||||
|
||||
// stupid simple restore function, called when the user
|
||||
// chooses to restore a request from the history
|
||||
// PREVENTS history from needing to know about the input
|
||||
|
@ -122,8 +121,7 @@ export default function init(input, output, sourceLocation = 'stored') {
|
|||
input.moveCursorTo(pos.row + prefix.length, 0);
|
||||
input.focus();
|
||||
};
|
||||
|
||||
loadSavedState();
|
||||
setupAutosave();
|
||||
loadSavedState();
|
||||
mappings.startRetrievingAutoCompleteInfo();
|
||||
}
|
||||
|
|
|
@ -34,6 +34,272 @@ const AceRange = ace.acequire('ace/range').Range;
|
|||
|
||||
let LAST_EVALUATED_TOKEN = null;
|
||||
|
||||
function isUrlParamsToken(token) {
|
||||
switch ((token || {}).type) {
|
||||
case 'url.param':
|
||||
case 'url.equal':
|
||||
case 'url.value':
|
||||
case 'url.questionmark':
|
||||
case 'url.amp':
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
function getCurrentMethodAndTokenPaths(editor, pos, forceEndOfUrl) {
|
||||
const tokenIter = editor.iterForPosition(pos.row, pos.column);
|
||||
const startPos = pos;
|
||||
let bodyTokenPath = [];
|
||||
const ret = {};
|
||||
|
||||
const STATES = {
|
||||
looking_for_key: 0, // looking for a key but without jumping over anything but white space and colon.
|
||||
looking_for_scope_start: 1, // skip everything until scope start
|
||||
start: 3
|
||||
};
|
||||
let state = STATES.start;
|
||||
|
||||
// initialization problems -
|
||||
let t = tokenIter.getCurrentToken();
|
||||
if (t) {
|
||||
if (startPos.column === 0) {
|
||||
// if we are at the beginning of the line, the current token is the one after cursor, not before which
|
||||
// deviates from the standard.
|
||||
t = tokenIter.stepBackward();
|
||||
state = STATES.looking_for_scope_start;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (startPos.column === 0) {
|
||||
// empty lines do no have tokens, move one back
|
||||
t = tokenIter.stepBackward();
|
||||
state = STATES.start;
|
||||
}
|
||||
}
|
||||
|
||||
let walkedSomeBody = false;
|
||||
|
||||
// climb one scope at a time and get the scope key
|
||||
for (; t && t.type.indexOf('url') === -1 && t.type !== 'method'; t = tokenIter.stepBackward()) {
|
||||
|
||||
if (t.type !== 'whitespace') {
|
||||
walkedSomeBody = true;
|
||||
} // marks we saw something
|
||||
|
||||
switch (t.type) {
|
||||
case 'variable':
|
||||
if (state === STATES.looking_for_key) {
|
||||
bodyTokenPath.unshift(t.value.trim().replace(/"/g, ''));
|
||||
}
|
||||
state = STATES.looking_for_scope_start; // skip everything until the beginning of this scope
|
||||
break;
|
||||
|
||||
case 'paren.lparen':
|
||||
bodyTokenPath.unshift(t.value);
|
||||
if (state === STATES.looking_for_scope_start) {
|
||||
// found it. go look for the relevant key
|
||||
state = STATES.looking_for_key;
|
||||
}
|
||||
break;
|
||||
case 'paren.rparen':
|
||||
// reset he search for key
|
||||
state = STATES.looking_for_scope_start;
|
||||
// and ignore this sub scope..
|
||||
let parenCount = 1;
|
||||
t = tokenIter.stepBackward();
|
||||
while (t && parenCount > 0) {
|
||||
switch (t.type) {
|
||||
case 'paren.lparen':
|
||||
parenCount--;
|
||||
break;
|
||||
case 'paren.rparen':
|
||||
parenCount++;
|
||||
break;
|
||||
}
|
||||
if (parenCount > 0) {
|
||||
t = tokenIter.stepBackward();
|
||||
}
|
||||
}
|
||||
if (!t) // oops we run out.. we don't know what's up return null;
|
||||
{
|
||||
return {};
|
||||
}
|
||||
continue;
|
||||
case 'punctuation.end_triple_quote':
|
||||
// reset the search for key
|
||||
state = STATES.looking_for_scope_start;
|
||||
for (t = tokenIter.stepBackward(); t; t = tokenIter.stepBackward()) {
|
||||
if (t.type === 'punctuation.start_triple_quote') {
|
||||
t = tokenIter.stepBackward();
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!t) // oops we run out.. we don't know what's up return null;
|
||||
{
|
||||
return {};
|
||||
}
|
||||
continue;
|
||||
case 'punctuation.start_triple_quote':
|
||||
if (state === STATES.start) {
|
||||
state = STATES.looking_for_key;
|
||||
}
|
||||
else if (state === STATES.looking_for_key) {
|
||||
state = STATES.looking_for_scope_start;
|
||||
}
|
||||
bodyTokenPath.unshift('"""');
|
||||
continue;
|
||||
case 'string':
|
||||
case 'constant.numeric':
|
||||
case 'constant.language.boolean':
|
||||
case 'text':
|
||||
if (state === STATES.start) {
|
||||
state = STATES.looking_for_key;
|
||||
}
|
||||
else if (state === STATES.looking_for_key) {
|
||||
state = STATES.looking_for_scope_start;
|
||||
}
|
||||
|
||||
break;
|
||||
case 'punctuation.comma':
|
||||
if (state === STATES.start) {
|
||||
state = STATES.looking_for_scope_start;
|
||||
}
|
||||
break;
|
||||
case 'punctuation.colon':
|
||||
case 'whitespace':
|
||||
if (state === STATES.start) {
|
||||
state = STATES.looking_for_key;
|
||||
}
|
||||
break; // skip white space
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (walkedSomeBody && (!bodyTokenPath || bodyTokenPath.length === 0)) {
|
||||
// we had some content and still no path -> the cursor is position after a closed body -> no auto complete
|
||||
return {};
|
||||
}
|
||||
ret.urlTokenPath = [];
|
||||
if (tokenIter.getCurrentTokenRow() === startPos.row) {
|
||||
if (t.type === 'url.part' || t.type === 'url.param' || t.type === 'url.value') {
|
||||
// we are forcing the end of the url for the purposes of determining an endpoint
|
||||
if (forceEndOfUrl && t.type === 'url.part') {
|
||||
ret.urlTokenPath.push(t.value);
|
||||
ret.urlTokenPath.push(URL_PATH_END_MARKER);
|
||||
}
|
||||
// we are on the same line as cursor and dealing with a url. Current token is not part of the context
|
||||
t = tokenIter.stepBackward();
|
||||
// This will force method parsing
|
||||
while (t.type === 'whitespace') {
|
||||
t = tokenIter.stepBackward();
|
||||
}
|
||||
}
|
||||
bodyTokenPath = null; // no not on a body line.
|
||||
}
|
||||
|
||||
ret.bodyTokenPath = bodyTokenPath;
|
||||
|
||||
ret.urlParamsTokenPath = null;
|
||||
ret.requestStartRow = tokenIter.getCurrentTokenRow();
|
||||
let curUrlPart;
|
||||
|
||||
while (t && isUrlParamsToken(t)) {
|
||||
switch (t.type) {
|
||||
case 'url.value':
|
||||
if (Array.isArray(curUrlPart)) {
|
||||
curUrlPart.unshift(t.value);
|
||||
}
|
||||
else if (curUrlPart) {
|
||||
curUrlPart = [t.value, curUrlPart];
|
||||
}
|
||||
else {
|
||||
curUrlPart = t.value;
|
||||
}
|
||||
break;
|
||||
case 'url.comma':
|
||||
if (!curUrlPart) {
|
||||
curUrlPart = [];
|
||||
}
|
||||
else if (!Array.isArray(curUrlPart)) {
|
||||
curUrlPart = [curUrlPart];
|
||||
}
|
||||
break;
|
||||
case 'url.param':
|
||||
const v = curUrlPart;
|
||||
curUrlPart = {};
|
||||
curUrlPart[t.value] = v;
|
||||
break;
|
||||
case 'url.amp':
|
||||
case 'url.questionmark':
|
||||
if (!ret.urlParamsTokenPath) {
|
||||
ret.urlParamsTokenPath = [];
|
||||
}
|
||||
ret.urlParamsTokenPath.unshift(curUrlPart || {});
|
||||
curUrlPart = null;
|
||||
break;
|
||||
}
|
||||
t = tokenIter.stepBackward();
|
||||
}
|
||||
|
||||
curUrlPart = null;
|
||||
while (t && t.type.indexOf('url') !== -1) {
|
||||
switch (t.type) {
|
||||
case 'url.part':
|
||||
if (Array.isArray(curUrlPart)) {
|
||||
curUrlPart.unshift(t.value);
|
||||
}
|
||||
else if (curUrlPart) {
|
||||
curUrlPart = [t.value, curUrlPart];
|
||||
}
|
||||
else {
|
||||
curUrlPart = t.value;
|
||||
}
|
||||
break;
|
||||
case 'url.comma':
|
||||
if (!curUrlPart) {
|
||||
curUrlPart = [];
|
||||
}
|
||||
else if (!Array.isArray(curUrlPart)) {
|
||||
curUrlPart = [curUrlPart];
|
||||
}
|
||||
break;
|
||||
case 'url.slash':
|
||||
if (curUrlPart) {
|
||||
ret.urlTokenPath.unshift(curUrlPart);
|
||||
curUrlPart = null;
|
||||
}
|
||||
break;
|
||||
}
|
||||
t = editor.parser.prevNonEmptyToken(tokenIter);
|
||||
}
|
||||
|
||||
if (curUrlPart) {
|
||||
ret.urlTokenPath.unshift(curUrlPart);
|
||||
}
|
||||
|
||||
if (!ret.bodyTokenPath && !ret.urlParamsTokenPath) {
|
||||
|
||||
if (ret.urlTokenPath.length > 0) {
|
||||
// // started on the url, first token is current token
|
||||
ret.otherTokenValues = ret.urlTokenPath[0];
|
||||
}
|
||||
}
|
||||
else {
|
||||
// mark the url as completed.
|
||||
ret.urlTokenPath.push(URL_PATH_END_MARKER);
|
||||
}
|
||||
|
||||
if (t && t.type === 'method') {
|
||||
ret.method = t.value;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
export function getEndpointFromPosition(editor, pos) {
|
||||
const context = { ...getCurrentMethodAndTokenPaths(editor, pos, true) };
|
||||
const components = getTopLevelUrlCompleteComponents(context.method);
|
||||
populateContext(context.urlTokenPath, context, editor, true, components);
|
||||
return context.endpoint;
|
||||
}
|
||||
export default function (editor) {
|
||||
|
||||
function isSeparatorToken(token) {
|
||||
|
@ -64,18 +330,6 @@ export default function (editor) {
|
|||
}
|
||||
}
|
||||
|
||||
function isUrlParamsToken(token) {
|
||||
switch ((token || {}).type) {
|
||||
case 'url.param':
|
||||
case 'url.equal':
|
||||
case 'url.value':
|
||||
case 'url.questionmark':
|
||||
case 'url.amp':
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function getAutoCompleteValueFromToken(token) {
|
||||
switch ((token || {}).type) {
|
||||
|
@ -523,8 +777,9 @@ export default function (editor) {
|
|||
}));
|
||||
}
|
||||
|
||||
|
||||
function addPathAutoCompleteSetToContext(context, pos) {
|
||||
const ret = getCurrentMethodAndTokenPaths(pos);
|
||||
const ret = getCurrentMethodAndTokenPaths(editor, pos);
|
||||
context.method = ret.method;
|
||||
context.token = ret.token;
|
||||
context.otherTokenValues = ret.otherTokenValues;
|
||||
|
@ -537,7 +792,7 @@ export default function (editor) {
|
|||
}
|
||||
|
||||
function addUrlParamsAutoCompleteSetToContext(context, pos) {
|
||||
const ret = getCurrentMethodAndTokenPaths(pos);
|
||||
const ret = getCurrentMethodAndTokenPaths(editor, pos);
|
||||
context.method = ret.method;
|
||||
context.otherTokenValues = ret.otherTokenValues;
|
||||
context.urlTokenPath = ret.urlTokenPath;
|
||||
|
@ -572,7 +827,7 @@ export default function (editor) {
|
|||
|
||||
function addBodyAutoCompleteSetToContext(context, pos) {
|
||||
|
||||
const ret = getCurrentMethodAndTokenPaths(pos);
|
||||
const ret = getCurrentMethodAndTokenPaths(editor, pos);
|
||||
context.method = ret.method;
|
||||
context.otherTokenValues = ret.otherTokenValues;
|
||||
context.urlTokenPath = ret.urlTokenPath;
|
||||
|
@ -606,247 +861,7 @@ export default function (editor) {
|
|||
return context;
|
||||
}
|
||||
|
||||
function getCurrentMethodAndTokenPaths(pos) {
|
||||
const tokenIter = editor.iterForPosition(pos.row, pos.column);
|
||||
const startPos = pos;
|
||||
let bodyTokenPath = [];
|
||||
const ret = {};
|
||||
|
||||
const STATES = {
|
||||
looking_for_key: 0, // looking for a key but without jumping over anything but white space and colon.
|
||||
looking_for_scope_start: 1, // skip everything until scope start
|
||||
start: 3
|
||||
};
|
||||
let state = STATES.start;
|
||||
|
||||
// initialization problems -
|
||||
let t = tokenIter.getCurrentToken();
|
||||
if (t) {
|
||||
if (startPos.column === 0) {
|
||||
// if we are at the beginning of the line, the current token is the one after cursor, not before which
|
||||
// deviates from the standard.
|
||||
t = tokenIter.stepBackward();
|
||||
state = STATES.looking_for_scope_start;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (startPos.column === 0) {
|
||||
// empty lines do no have tokens, move one back
|
||||
t = tokenIter.stepBackward();
|
||||
state = STATES.start;
|
||||
}
|
||||
}
|
||||
|
||||
let walkedSomeBody = false;
|
||||
|
||||
// climb one scope at a time and get the scope key
|
||||
for (; t && t.type.indexOf('url') === -1 && t.type !== 'method'; t = tokenIter.stepBackward()) {
|
||||
|
||||
if (t.type !== 'whitespace') {
|
||||
walkedSomeBody = true;
|
||||
} // marks we saw something
|
||||
|
||||
switch (t.type) {
|
||||
case 'variable':
|
||||
if (state === STATES.looking_for_key) {
|
||||
bodyTokenPath.unshift(t.value.trim().replace(/"/g, ''));
|
||||
}
|
||||
state = STATES.looking_for_scope_start; // skip everything until the beginning of this scope
|
||||
break;
|
||||
|
||||
case 'paren.lparen':
|
||||
bodyTokenPath.unshift(t.value);
|
||||
if (state === STATES.looking_for_scope_start) {
|
||||
// found it. go look for the relevant key
|
||||
state = STATES.looking_for_key;
|
||||
}
|
||||
break;
|
||||
case 'paren.rparen':
|
||||
// reset he search for key
|
||||
state = STATES.looking_for_scope_start;
|
||||
// and ignore this sub scope..
|
||||
let parenCount = 1;
|
||||
t = tokenIter.stepBackward();
|
||||
while (t && parenCount > 0) {
|
||||
switch (t.type) {
|
||||
case 'paren.lparen':
|
||||
parenCount--;
|
||||
break;
|
||||
case 'paren.rparen':
|
||||
parenCount++;
|
||||
break;
|
||||
}
|
||||
if (parenCount > 0) {
|
||||
t = tokenIter.stepBackward();
|
||||
}
|
||||
}
|
||||
if (!t) // oops we run out.. we don't know what's up return null;
|
||||
{
|
||||
return {};
|
||||
}
|
||||
continue;
|
||||
case 'punctuation.end_triple_quote':
|
||||
// reset the search for key
|
||||
state = STATES.looking_for_scope_start;
|
||||
for (t = tokenIter.stepBackward(); t; t = tokenIter.stepBackward()) {
|
||||
if (t.type === 'punctuation.start_tripple_qoute') {
|
||||
t = tokenIter.stepBackward();
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!t) // oops we run out.. we don't know what's up return null;
|
||||
{
|
||||
return {};
|
||||
}
|
||||
continue;
|
||||
case 'punctuation.start_triple_quote':
|
||||
if (state === STATES.start) {
|
||||
state = STATES.looking_for_key;
|
||||
}
|
||||
else if (state === STATES.looking_for_key) {
|
||||
state = STATES.looking_for_scope_start;
|
||||
}
|
||||
bodyTokenPath.unshift('"""');
|
||||
continue;
|
||||
case 'string':
|
||||
case 'constant.numeric':
|
||||
case 'constant.language.boolean':
|
||||
case 'text':
|
||||
if (state === STATES.start) {
|
||||
state = STATES.looking_for_key;
|
||||
}
|
||||
else if (state === STATES.looking_for_key) {
|
||||
state = STATES.looking_for_scope_start;
|
||||
}
|
||||
|
||||
break;
|
||||
case 'punctuation.comma':
|
||||
if (state === STATES.start) {
|
||||
state = STATES.looking_for_scope_start;
|
||||
}
|
||||
break;
|
||||
case 'punctuation.colon':
|
||||
case 'whitespace':
|
||||
if (state === STATES.start) {
|
||||
state = STATES.looking_for_key;
|
||||
}
|
||||
break; // skip white space
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if (walkedSomeBody && (!bodyTokenPath || bodyTokenPath.length === 0)) {
|
||||
// we had some content and still no path -> the cursor is position after a closed body -> no auto complete
|
||||
return {};
|
||||
}
|
||||
|
||||
if (tokenIter.getCurrentTokenRow() === startPos.row) {
|
||||
if (t.type === 'url.part' || t.type === 'url.param' || t.type === 'url.value') {
|
||||
// we are on the same line as cursor and dealing with a url. Current token is not part of the context
|
||||
t = tokenIter.stepBackward();
|
||||
// This will force method parsing
|
||||
while (t.type === 'whitespace') {
|
||||
t = tokenIter.stepBackward();
|
||||
}
|
||||
}
|
||||
bodyTokenPath = null; // no not on a body line.
|
||||
}
|
||||
|
||||
ret.bodyTokenPath = bodyTokenPath;
|
||||
ret.urlTokenPath = [];
|
||||
ret.urlParamsTokenPath = null;
|
||||
ret.requestStartRow = tokenIter.getCurrentTokenRow();
|
||||
let curUrlPart;
|
||||
|
||||
while (t && isUrlParamsToken(t)) {
|
||||
switch (t.type) {
|
||||
case 'url.value':
|
||||
if (Array.isArray(curUrlPart)) {
|
||||
curUrlPart.unshift(t.value);
|
||||
}
|
||||
else if (curUrlPart) {
|
||||
curUrlPart = [t.value, curUrlPart];
|
||||
}
|
||||
else {
|
||||
curUrlPart = t.value;
|
||||
}
|
||||
break;
|
||||
case 'url.comma':
|
||||
if (!curUrlPart) {
|
||||
curUrlPart = [];
|
||||
}
|
||||
else if (!Array.isArray(curUrlPart)) {
|
||||
curUrlPart = [curUrlPart];
|
||||
}
|
||||
break;
|
||||
case 'url.param':
|
||||
const v = curUrlPart;
|
||||
curUrlPart = {};
|
||||
curUrlPart[t.value] = v;
|
||||
break;
|
||||
case 'url.amp':
|
||||
case 'url.questionmark':
|
||||
if (!ret.urlParamsTokenPath) {
|
||||
ret.urlParamsTokenPath = [];
|
||||
}
|
||||
ret.urlParamsTokenPath.unshift(curUrlPart || {});
|
||||
curUrlPart = null;
|
||||
break;
|
||||
}
|
||||
t = tokenIter.stepBackward();
|
||||
}
|
||||
|
||||
curUrlPart = null;
|
||||
while (t && t.type.indexOf('url') !== -1) {
|
||||
switch (t.type) {
|
||||
case 'url.part':
|
||||
if (Array.isArray(curUrlPart)) {
|
||||
curUrlPart.unshift(t.value);
|
||||
}
|
||||
else if (curUrlPart) {
|
||||
curUrlPart = [t.value, curUrlPart];
|
||||
}
|
||||
else {
|
||||
curUrlPart = t.value;
|
||||
}
|
||||
break;
|
||||
case 'url.comma':
|
||||
if (!curUrlPart) {
|
||||
curUrlPart = [];
|
||||
}
|
||||
else if (!Array.isArray(curUrlPart)) {
|
||||
curUrlPart = [curUrlPart];
|
||||
}
|
||||
break;
|
||||
case 'url.slash':
|
||||
ret.urlTokenPath.unshift(curUrlPart);
|
||||
curUrlPart = null;
|
||||
break;
|
||||
}
|
||||
t = editor.parser.prevNonEmptyToken(tokenIter);
|
||||
}
|
||||
|
||||
if (curUrlPart) {
|
||||
ret.urlTokenPath.unshift(curUrlPart);
|
||||
}
|
||||
|
||||
if (!ret.bodyTokenPath && !ret.urlParamsTokenPath) {
|
||||
|
||||
if (ret.urlTokenPath.length > 0) {
|
||||
// started on the url, first token is current token
|
||||
ret.otherTokenValues = ret.urlTokenPath.splice(-1)[0];
|
||||
}
|
||||
}
|
||||
else {
|
||||
// mark the url as completed.
|
||||
ret.urlTokenPath.push(URL_PATH_END_MARKER);
|
||||
}
|
||||
|
||||
if (t && t.type === 'method') {
|
||||
ret.method = t.value;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
const evaluateCurrentTokenAfterAChange = _.debounce(function evaluateCurrentTokenAfterAChange(pos) {
|
||||
const session = editor.getSession();
|
||||
|
@ -942,7 +957,7 @@ export default function (editor) {
|
|||
context: context,
|
||||
completer: {
|
||||
insertMatch: function () {
|
||||
applyTerm(term);
|
||||
return applyTerm(term);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -1047,6 +1062,7 @@ export default function (editor) {
|
|||
editor.__ace.completer = aceAutoCompleteInstance;
|
||||
|
||||
return {
|
||||
|
||||
_test: {
|
||||
getCompletions: getCompletions,
|
||||
addReplacementInfoToContext: addReplacementInfoToContext,
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
* specific language governing permissions and limitations
|
||||
* under the License.
|
||||
*/
|
||||
|
||||
import 'ui/doc_title';
|
||||
import { useResizeChecker } from '../sense_editor_resize';
|
||||
import $ from 'jquery';
|
||||
|
@ -24,6 +23,8 @@ import { initializeInput } from '../input';
|
|||
import { initializeOutput } from '../output';
|
||||
import init from '../app';
|
||||
import { SenseTopNavController } from './sense_top_nav_controller';
|
||||
import { getEndpointFromPosition } from '../autocomplete';
|
||||
import { DOC_LINK_VERSION } from 'ui/documentation_links';
|
||||
|
||||
const module = require('ui/modules').get('app/sense');
|
||||
|
||||
|
@ -42,12 +43,42 @@ module.controller('SenseController', function SenseController(Private, $scope, $
|
|||
// and then initialize this app
|
||||
let input;
|
||||
let output;
|
||||
$timeout(() => {
|
||||
$timeout(async () => {
|
||||
output = initializeOutput($('#output'));
|
||||
input = initializeInput($('#editor'), $('#editor_actions'), $('#copy_as_curl'), output);
|
||||
input = initializeInput($('#editor'), $('#editor_actions'), $('#copy_as_curl'), output, $scope.openDocumentation);
|
||||
init(input, output, $location.search().load_from);
|
||||
kbnUiAceKeyboardModeService.initialize($scope, $('#editor'));
|
||||
const session = input.getSession();
|
||||
session.getSelection().on('changeCursor', () => {
|
||||
$scope.getDocumentation();
|
||||
});
|
||||
$scope.getDocumentation();
|
||||
});
|
||||
$scope.getDocumentation = () => {
|
||||
input.getRequestsInRange(function (requests) {
|
||||
if (!requests || requests.length === 0) {
|
||||
$scope.documentation = null;
|
||||
$scope.$apply();
|
||||
return;
|
||||
}
|
||||
const position = requests[0].range.end;
|
||||
position.column = position.column - 1;
|
||||
const endpoint = getEndpointFromPosition(input, position);
|
||||
if (endpoint && endpoint.documentation) {
|
||||
$scope.documentation = endpoint.documentation.replace('master', DOC_LINK_VERSION);
|
||||
$scope.$apply();
|
||||
} else {
|
||||
$scope.documentation = null;
|
||||
$scope.$apply();
|
||||
}
|
||||
});
|
||||
};
|
||||
$scope.openDocumentation = () => {
|
||||
if (!$scope.documentation) {
|
||||
return;
|
||||
}
|
||||
window.open($scope.documentation, '_blank');
|
||||
};
|
||||
|
||||
$scope.sendSelected = () => {
|
||||
input.focus();
|
||||
|
|
|
@ -16,6 +16,8 @@
|
|||
<dl class="euiDescriptionList euiDescriptionList--row euiDescriptionList--compressed">
|
||||
<dt class="euiDescriptionList__title">Ctrl/Cmd + I</dt>
|
||||
<dd class="euiDescriptionList__description">Auto indent current request</dd>
|
||||
<dt class="euiDescriptionList__title">Ctrl/Cmd + /</dt>
|
||||
<dd class="euiDescriptionList__description">Open documentation for current request</dd>
|
||||
<dt class="euiDescriptionList__title">Ctrl + Space</dt>
|
||||
<dd class="euiDescriptionList__description">Open Auto complete (even if not typing)</dd>
|
||||
<dt class="euiDescriptionList__title">Ctrl/Cmd + Enter</dt>
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
const $ = require('jquery');
|
||||
require('brace');
|
||||
require('brace/ext/searchbox');
|
||||
const Autocomplete = require('./autocomplete');
|
||||
import Autocomplete from './autocomplete';
|
||||
const SenseEditor = require('./sense_editor/editor');
|
||||
const settings = require('./settings');
|
||||
const utils = require('./utils');
|
||||
|
@ -29,7 +29,7 @@ const history = require('./history');
|
|||
import { uiModules } from 'ui/modules';
|
||||
|
||||
let input;
|
||||
export function initializeInput($el, $actionsEl, $copyAsCurlEl, output) {
|
||||
export function initializeInput($el, $actionsEl, $copyAsCurlEl, output, openDocumentation = () => {}) {
|
||||
input = new SenseEditor($el);
|
||||
|
||||
// this may not exist if running from tests
|
||||
|
@ -241,7 +241,13 @@ export function initializeInput($el, $actionsEl, $copyAsCurlEl, output) {
|
|||
bindKey: { win: 'Ctrl-Enter', mac: 'Command-Enter' },
|
||||
exec: sendCurrentRequestToES
|
||||
});
|
||||
|
||||
input.commands.addCommand({
|
||||
name: 'open documentation',
|
||||
bindKey: { win: 'Ctrl-/', mac: 'Command-/' },
|
||||
exec: () => {
|
||||
openDocumentation();
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Init the editor
|
||||
|
|
|
@ -50,6 +50,9 @@ const parametrizedComponentFactories = {
|
|||
id: function (name, parent) {
|
||||
return new IdAutocompleteComponent(name, parent);
|
||||
},
|
||||
task_id: function (name, parent) {
|
||||
return new IdAutocompleteComponent(name, parent);
|
||||
},
|
||||
ids: function (name, parent) {
|
||||
return new IdAutocompleteComponent(name, parent, true);
|
||||
},
|
||||
|
@ -148,7 +151,6 @@ export function setActiveApi(api) {
|
|||
);
|
||||
return;
|
||||
}
|
||||
console.log('setting active api to [' + api.name + ']');
|
||||
|
||||
ACTIVE_API = api;
|
||||
}
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
],
|
||||
"patterns": [
|
||||
"_xpack"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/info-api.html"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
],
|
||||
"patterns": [
|
||||
"_xpack/security/_authenticate"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-authenticate.html"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"_xpack/security/realm/{realms}/_clear_cache": {
|
||||
"_xpack/security/realm/{ids}/_clear_cache": {
|
||||
"methods": [
|
||||
"POST"
|
||||
],
|
||||
|
@ -7,7 +7,8 @@
|
|||
"usernames": ""
|
||||
},
|
||||
"patterns": [
|
||||
"_xpack/security/realm/{realms}/_clear_cache"
|
||||
]
|
||||
"_xpack/security/realm/{ids}/_clear_cache"
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-clear-cache.html"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
"query": {},
|
||||
"vertices": [{}],
|
||||
"connections": {}
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/graph-explore-api.html"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -8,7 +8,8 @@
|
|||
},
|
||||
"patterns": [
|
||||
"_xpack/license"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/get-license.html"
|
||||
},
|
||||
"DELETE _xpack/license": {
|
||||
"methods": [
|
||||
|
@ -16,7 +17,8 @@
|
|||
],
|
||||
"patterns": [
|
||||
"_xpack/license"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/delete-license.html"
|
||||
},
|
||||
"PUT _xpack/license": {
|
||||
"methods": [
|
||||
|
@ -30,7 +32,8 @@
|
|||
],
|
||||
"data_autocomplete_rules": {
|
||||
"licenses": []
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/update-license.html"
|
||||
},
|
||||
"_xpack/license/trial_status": {
|
||||
"methods": [
|
||||
|
@ -38,7 +41,8 @@
|
|||
],
|
||||
"patterns": [
|
||||
"_xpack/license/trial_status"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/get-trial-status.html"
|
||||
},
|
||||
"_xpack/license/start_trial": {
|
||||
"methods": [
|
||||
|
@ -46,7 +50,8 @@
|
|||
],
|
||||
"patterns": [
|
||||
"_xpack/license/start_trial"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/start-trial.html"
|
||||
},
|
||||
"_xpack/license/start_basic": {
|
||||
"url_params": {
|
||||
|
@ -57,6 +62,7 @@
|
|||
],
|
||||
"patterns": [
|
||||
"_xpack/license/start_basic"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/start-basic.html"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,7 +6,8 @@
|
|||
"patterns": [
|
||||
"_xpack/migration/assistance",
|
||||
"_xpack/migration/assistance/{index}"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/migration-api-assistance.html"
|
||||
},
|
||||
"_xpack/migration/upgrade/{index}": {
|
||||
"url_params": {
|
||||
|
@ -17,7 +18,8 @@
|
|||
],
|
||||
"patterns": [
|
||||
"_xpack/migration/upgrade/{index}"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/migration-api-upgrade.html"
|
||||
},
|
||||
"_xpack/migration/deprecations": {
|
||||
"methods": [
|
||||
|
@ -26,6 +28,7 @@
|
|||
"patterns": [
|
||||
"_xpack/migration/deprecations",
|
||||
"{index}/_xpack/migration/deprecations"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/migration-api-deprecation.html"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,53 +1,58 @@
|
|||
{
|
||||
"_xpack/ml/calendars/{calendar_id}": {
|
||||
"_xpack/ml/calendars/{id}": {
|
||||
"methods": [
|
||||
"GET"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/ml/calendars/{calendar_id}",
|
||||
"_xpack/ml/calendars/{id}",
|
||||
"_xpack/ml/calendars/_all"
|
||||
],
|
||||
"data_autocomplete_rules": {
|
||||
"from": 0,
|
||||
"size": 100
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-get-calendar.html"
|
||||
},
|
||||
"PUT _xpack/ml/calendars/{calendar_id}": {
|
||||
"PUT _xpack/ml/calendars/{id}": {
|
||||
"methods": [
|
||||
"PUT"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/ml/calendars/{calendar_id}"
|
||||
"_xpack/ml/calendars/{id}"
|
||||
],
|
||||
"data_autocomplete_rules": {
|
||||
"description": ""
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-put-calendar.html"
|
||||
},
|
||||
"DELETE _xpack/ml/calendars/{calendar_id}": {
|
||||
"DELETE _xpack/ml/calendars/{id}": {
|
||||
"methods": [
|
||||
"DELETE"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/ml/calendars/{calendar_id}"
|
||||
]
|
||||
"_xpack/ml/calendars/{id}"
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-delete-calendar.html"
|
||||
},
|
||||
"_xpack/ml/calendars/{calendar_id}/jobs/{job_id}": {
|
||||
"_xpack/ml/calendars/{id}/jobs/{id}": {
|
||||
"methods": [
|
||||
"PUT"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/ml/calendars/{calendar_id}/jobs/{job_id}"
|
||||
]
|
||||
"_xpack/ml/calendars/{id}/jobs/{id}"
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-put-calendar-job.html"
|
||||
},
|
||||
"DELETE _xpack/ml/calendars/{calendar_id}/jobs/{job_id}": {
|
||||
"DELETE _xpack/ml/calendars/{id}/jobs/{id}": {
|
||||
"methods": [
|
||||
"DELETE"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/ml/calendars/{calendar_id}/jobs/{job_id}"
|
||||
]
|
||||
"_xpack/ml/calendars/{id}/jobs/{id}"
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-delete-calendar-job.html"
|
||||
},
|
||||
"_xpack/ml/calendars/{calendar_id}/events": {
|
||||
"_xpack/ml/calendars/{id}/events": {
|
||||
"methods": [
|
||||
"GET"
|
||||
],
|
||||
|
@ -56,27 +61,30 @@
|
|||
"size": 100
|
||||
},
|
||||
"patterns": [
|
||||
"_xpack/ml/calendars/{calendar_id}/events",
|
||||
"_xpack/ml/calendars/{id}/events",
|
||||
"_xpack/ml/calendars/_all/events"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-get-calendar-event.html"
|
||||
},
|
||||
"POST _xpack/ml/calendars/{calendar_id}/events": {
|
||||
"POST _xpack/ml/calendars/{id}/events": {
|
||||
"methods": [
|
||||
"POST"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/ml/calendars/{calendar_id}/events"
|
||||
"_xpack/ml/calendars/{id}/events"
|
||||
],
|
||||
"data_autocomplete_rules": {
|
||||
"events": [{}]
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-post-calendar-event.html"
|
||||
},
|
||||
"_xpack/ml/calendars/{calendar_id}/events/{event_id}": {
|
||||
"_xpack/ml/calendars/{id}/events/{event_id}": {
|
||||
"methods": [
|
||||
"DELETE"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/ml/calendars/{calendar_id}/events/{event_id}"
|
||||
]
|
||||
"_xpack/ml/calendars/{id}/events/{event_id}"
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-delete-calendar-event.html"
|
||||
}
|
||||
}
|
|
@ -1,20 +1,21 @@
|
|||
{
|
||||
"_xpack/ml/datafeeds/{datafeed_id}": {
|
||||
"_xpack/ml/datafeeds/{id}": {
|
||||
"methods": [
|
||||
"GET"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/ml/datafeeds/",
|
||||
"_xpack/ml/datafeeds/{datafeed_id}",
|
||||
"_xpack/ml/datafeeds/{id}",
|
||||
"_xpack/ml/datafeeds/_all"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-get-datafeed.html"
|
||||
},
|
||||
"PUT _xpack/ml/datafeeds/{datafeed_id}": {
|
||||
"PUT _xpack/ml/datafeeds/{id}": {
|
||||
"methods": [
|
||||
"PUT"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/ml/datafeeds/{datafeed_id}"
|
||||
"_xpack/ml/datafeeds/{id}"
|
||||
],
|
||||
"data_autocomplete_rules": {
|
||||
"aggregations": {},
|
||||
|
@ -27,56 +28,62 @@
|
|||
"script_field": {},
|
||||
"scroll_size": 1000,
|
||||
"types": []
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-put-datafeed.html"
|
||||
},
|
||||
"DELETE _xpack/ml/datafeeds/{datafeed_id}": {
|
||||
"DELETE _xpack/ml/datafeeds/{id}": {
|
||||
"methods": [
|
||||
"DELETE"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/ml/datafeeds/{datafeed_id}"
|
||||
]
|
||||
"_xpack/ml/datafeeds/{id}"
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-delete-datafeed.html"
|
||||
},
|
||||
"_xpack/ml/datafeeds/{datafeed_id}/_start": {
|
||||
"_xpack/ml/datafeeds/{id}/_start": {
|
||||
"methods": [
|
||||
"POST"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/ml/datafeeds/{datafeed_id}/_start"
|
||||
]
|
||||
"_xpack/ml/datafeeds/{id}/_start"
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-start-datafeed.html"
|
||||
},
|
||||
"_xpack/ml/datafeeds/{datafeed_id}/_stop": {
|
||||
"_xpack/ml/datafeeds/{id}/_stop": {
|
||||
"methods": [
|
||||
"POST"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/ml/datafeeds/{datafeed_id}/_stop"
|
||||
]
|
||||
"_xpack/ml/datafeeds/{id}/_stop"
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-stop-datafeed.html"
|
||||
},
|
||||
"_xpack/ml/datafeeds/{datafeed_id}/stats": {
|
||||
"_xpack/ml/datafeeds/{id}/stats": {
|
||||
"methods": [
|
||||
"GET"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/ml/datafeeds/stats",
|
||||
"_xpack/ml/datafeeds/{datafeed_id}/stats",
|
||||
"_xpack/ml/datafeeds/{id}/stats",
|
||||
"_xpack/ml/datafeeds/_all/stats"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-get-datafeed-stats.html"
|
||||
},
|
||||
"_xpack/ml/datafeeds/{datafeed_id}/_preview": {
|
||||
"_xpack/ml/datafeeds/{id}/_preview": {
|
||||
"methods": [
|
||||
"GET"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/ml/datafeeds/{datafeed_id}_preview"
|
||||
]
|
||||
"_xpack/ml/datafeeds/{id}_preview"
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-preview-datafeed.html"
|
||||
},
|
||||
"_xpack/ml/datafeeds/{datafeed_id}/_update": {
|
||||
"_xpack/ml/datafeeds/{id}/_update": {
|
||||
"methods": [
|
||||
"POST"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/ml/datafeeds/{datafeed_id}/_update"
|
||||
"_xpack/ml/datafeeds/{id}/_update"
|
||||
],
|
||||
"data_autocomplete_rules": {
|
||||
"aggregations": {},
|
||||
|
@ -89,6 +96,7 @@
|
|||
"script_field": {},
|
||||
"scroll_size": 1000,
|
||||
"types": []
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-update-datafeed.html"
|
||||
}
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"PUT _xpack/ml/anomaly_detectors/{job_id}": {
|
||||
"PUT _xpack/ml/anomaly_detectors/{id}": {
|
||||
"methods": ["PUT"],
|
||||
"patterns": ["_xpack/ml/anomaly_detectors/{job_id}"],
|
||||
"patterns": ["_xpack/ml/anomaly_detectors/{id}"],
|
||||
"data_autocomplete_rules": {
|
||||
"analysis_config": {},
|
||||
"background_persist_interval": "",
|
||||
|
@ -14,53 +14,61 @@
|
|||
"renormalization_window_days": 1,
|
||||
"results_index_name": "",
|
||||
"results_retention_days": 1
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-put-job.html"
|
||||
},
|
||||
"DELETE _xpack/ml/anomaly_detectors/{job_id}": {
|
||||
"DELETE _xpack/ml/anomaly_detectors/{id}": {
|
||||
"methods": ["DELETE"],
|
||||
"patterns": ["_xpack/ml/anomaly_detectors/{job_id}"]
|
||||
"patterns": ["_xpack/ml/anomaly_detectors/{id}"],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-delete-job.html"
|
||||
},
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/_open": {
|
||||
"_xpack/ml/anomaly_detectors/{id}/_open": {
|
||||
"methods": ["POST"],
|
||||
"patterns": ["_xpack/ml/anomaly_detectors/{job_id}/_open"]
|
||||
"patterns": ["_xpack/ml/anomaly_detectors/{id}/_open"],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-open-job.html"
|
||||
},
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/_close": {
|
||||
"_xpack/ml/anomaly_detectors/{id}/_close": {
|
||||
"methods": ["POST"],
|
||||
"patterns": ["_xpack/ml/anomaly_detectors/{job_id}/_close"]
|
||||
"patterns": ["_xpack/ml/anomaly_detectors/{id}/_close"],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-close-job.html"
|
||||
},
|
||||
"_xpack/ml/anomaly_detectors/{job_id}": {
|
||||
"_xpack/ml/anomaly_detectors/{id}": {
|
||||
"methods": ["GET"],
|
||||
"patterns": [
|
||||
"_xpack/ml/anomaly_detectors/",
|
||||
"_xpack/ml/anomaly_detectors/{job_id}",
|
||||
"_xpack/ml/anomaly_detectors/{id}",
|
||||
"_xpack/ml/anomaly_detectors/_all"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-get-job.html"
|
||||
},
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/stats": {
|
||||
"_xpack/ml/anomaly_detectors/{id}/stats": {
|
||||
"methods": ["GET"],
|
||||
"patterns": [
|
||||
"_xpack/ml/anomaly_detectors/stats",
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/stats",
|
||||
"_xpack/ml/anomaly_detectors/{id}/stats",
|
||||
"_xpack/ml/anomaly_detectors/_all/stats"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-get-job-stats.html"
|
||||
},
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/_flush": {
|
||||
"_xpack/ml/anomaly_detectors/{id}/_flush": {
|
||||
"methods": ["POST"],
|
||||
"patterns": ["_xpack/ml/anomaly_detectors/{job_id}/_flush"],
|
||||
"patterns": ["_xpack/ml/anomaly_detectors/{id}/_flush"],
|
||||
"url_params": {
|
||||
"advance_time": "",
|
||||
"calc_interim": ["true", "false"],
|
||||
"end": "",
|
||||
"start": ""
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-flush-job.html"
|
||||
},
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/_data": {
|
||||
"_xpack/ml/anomaly_detectors/{id}/_data": {
|
||||
"methods": ["POST"],
|
||||
"patterns": ["_xpack/ml/anomaly_detectors/{job_id}/_data"]
|
||||
"patterns": ["_xpack/ml/anomaly_detectors/{id}/_data"],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-post-data.html"
|
||||
},
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/_update": {
|
||||
"_xpack/ml/anomaly_detectors/{id}/_update": {
|
||||
"methods": ["POST"],
|
||||
"patterns": ["_xpack/ml/anomaly_detectors/{job_id}/_update"],
|
||||
"patterns": ["_xpack/ml/anomaly_detectors/{id}/_update"],
|
||||
"data_autocomplete_rules": {
|
||||
"analysis_limits": {},
|
||||
"background_persist_interval": "",
|
||||
|
@ -72,10 +80,12 @@
|
|||
"renormalization_window_days": 1,
|
||||
"results_index_name": "",
|
||||
"results_retention_days": 1
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-update-job.html"
|
||||
},
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/_forecast": {
|
||||
"_xpack/ml/anomaly_detectors/{id}/_forecast": {
|
||||
"methods": ["POST"],
|
||||
"patterns": ["_xpack/ml/anomaly_detectors/{job_id}/_forecast"]
|
||||
"patterns": ["_xpack/ml/anomaly_detectors/{id}/_forecast"],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-forecast.html"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
{
|
||||
"DELETE _xpack/ml/anomaly_detectors/{job_id}/model_snapshots/{snapshot_id}": {
|
||||
"DELETE _xpack/ml/anomaly_detectors/{id}/model_snapshots/{id}": {
|
||||
"methods": ["DELETE"],
|
||||
"patterns": ["_xpack/ml/anomaly_detectors/{job_id}/model_snapshots/{snapshot_id}"]
|
||||
"patterns": ["_xpack/ml/anomaly_detectors/{id}/model_snapshots/{id}"],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-delete-snapshot.html"
|
||||
},
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/model_snapshots": {
|
||||
"_xpack/ml/anomaly_detectors/{id}/model_snapshots": {
|
||||
"methods": ["GET"],
|
||||
"patterns": [
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/model_snapshots",
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/model_snapshots/{snapshot_id}"
|
||||
"_xpack/ml/anomaly_detectors/{id}/model_snapshots",
|
||||
"_xpack/ml/anomaly_detectors/{id}/model_snapshots/{id}"
|
||||
],
|
||||
"data_autocomplete_rules": {
|
||||
"desc": [true, false],
|
||||
|
@ -16,21 +17,24 @@
|
|||
"size": 1000,
|
||||
"sort": "",
|
||||
"start": ""
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-get-snapshot.html"
|
||||
},
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/model_snapshots/{snapshot_id}/_revert": {
|
||||
"_xpack/ml/anomaly_detectors/{id}/model_snapshots/{id}/_revert": {
|
||||
"methods": ["POST"],
|
||||
"patterns": ["_xpack/ml/anomaly_detectors/{job_id}/model_snapshots/{snapshot_id}/_revert"],
|
||||
"patterns": ["_xpack/ml/anomaly_detectors/{id}/model_snapshots/{id}/_revert"],
|
||||
"data_autocomplete_rules": {
|
||||
"delete_intervening_results": [true, false]
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-revert-snapshot.html"
|
||||
},
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/model_snapshots/{snapshot_id}/_update": {
|
||||
"_xpack/ml/anomaly_detectors/{id}/model_snapshots/{id}/_update": {
|
||||
"methods": ["POST"],
|
||||
"patterns": ["_xpack/ml/anomaly_detectors/{job_id}/model_snapshots/{snapshot_id}/_update"],
|
||||
"patterns": ["_xpack/ml/anomaly_detectors/{id}/model_snapshots/{id}/_update"],
|
||||
"data_autocomplete_rules": {
|
||||
"description": "",
|
||||
"retain": [true, false]
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-update-snapshot.html"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/results/buckets": {
|
||||
"_xpack/ml/anomaly_detectors/{id}/results/buckets": {
|
||||
"methods": ["GET"],
|
||||
"patterns": [
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/results/buckets",
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/results/buckets/{timestamp}"
|
||||
"_xpack/ml/anomaly_detectors/{id}/results/buckets",
|
||||
"_xpack/ml/anomaly_detectors/{id}/results/buckets/{timestamp}"
|
||||
],
|
||||
"data_autocomplete_rules": {
|
||||
"desc": [true, false],
|
||||
|
@ -17,12 +17,13 @@
|
|||
},
|
||||
"sort": "",
|
||||
"start": ""
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-get-bucket.html"
|
||||
},
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/results/overall_buckets": {
|
||||
"_xpack/ml/anomaly_detectors/{id}/results/overall_buckets": {
|
||||
"methods": ["GET"],
|
||||
"patterns": [
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/results/overall_buckets",
|
||||
"_xpack/ml/anomaly_detectors/{id}/results/overall_buckets",
|
||||
"_xpack/ml/anomaly_detectors/_all/results/overall_buckets"
|
||||
],
|
||||
"data_autocomplete_rules": {
|
||||
|
@ -33,25 +34,27 @@
|
|||
"overall_score": 0,
|
||||
"start": "",
|
||||
"top_n": 0
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-get-overall-buckets.html"
|
||||
},
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/results/categories": {
|
||||
"_xpack/ml/anomaly_detectors/{id}/results/categories": {
|
||||
"methods": ["GET"],
|
||||
"patterns": [
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/results/categories",
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/results/categories/{category_id}"
|
||||
"_xpack/ml/anomaly_detectors/{id}/results/categories",
|
||||
"_xpack/ml/anomaly_detectors/{id}/results/categories/{id}"
|
||||
],
|
||||
"data_autocomplete_rules": {
|
||||
"page": {
|
||||
"from": 0,
|
||||
"size": 100
|
||||
}
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-get-category.html"
|
||||
},
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/results/influencers": {
|
||||
"_xpack/ml/anomaly_detectors/{id}/results/influencers": {
|
||||
"methods": ["GET"],
|
||||
"patterns": [
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/results/influencers"
|
||||
"_xpack/ml/anomaly_detectors/{id}/results/influencers"
|
||||
],
|
||||
"data_autocomplete_rules": {
|
||||
"desc": [true, false],
|
||||
|
@ -64,12 +67,13 @@
|
|||
},
|
||||
"sort": "",
|
||||
"start": ""
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-get-influencer.html"
|
||||
},
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/results/records": {
|
||||
"_xpack/ml/anomaly_detectors/{id}/results/records": {
|
||||
"methods": ["GET"],
|
||||
"patterns": [
|
||||
"_xpack/ml/anomaly_detectors/{job_id}/results/records"
|
||||
"_xpack/ml/anomaly_detectors/{id}/results/records"
|
||||
],
|
||||
"data_autocomplete_rules": {
|
||||
"desc": [true, false],
|
||||
|
@ -82,6 +86,7 @@
|
|||
},
|
||||
"sort": "",
|
||||
"start": ""
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/ml-get-record.html"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,13 +7,15 @@
|
|||
"password": "",
|
||||
"scope": "",
|
||||
"username": ""
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-tokens.html"
|
||||
},
|
||||
"DELETE _xpack/security/oauth2/token": {
|
||||
"methods": ["DELETE"],
|
||||
"patterns": ["_xpack/security/oauth2/token"],
|
||||
"data_autocomplete_rules": {
|
||||
"token": ""
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-tokens.html"
|
||||
}
|
||||
}
|
|
@ -1,11 +1,12 @@
|
|||
{
|
||||
"_xpack/security/role": {
|
||||
"methods": ["GET"],
|
||||
"patterns": ["_xpack/security/role", "_xpack/security/role/{name}"]
|
||||
"patterns": ["_xpack/security/role", "_xpack/security/role/{id}"],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-roles.html"
|
||||
},
|
||||
"_xpack/security/role/{name}": {
|
||||
"_xpack/security/role/{id}": {
|
||||
"methods": ["PUT", "POST"],
|
||||
"patterns": ["_xpack/security/role/{name}"],
|
||||
"patterns": ["_xpack/security/role/{id}"],
|
||||
"data_autocomplete_rules": {
|
||||
"cluster": [],
|
||||
"indices": [
|
||||
|
@ -18,14 +19,16 @@
|
|||
],
|
||||
"run_as": [],
|
||||
"metadata": {}
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-roles.html"
|
||||
},
|
||||
"_xpack/security/role/{name}/_clear_cache": {
|
||||
"_xpack/security/role/{id}/_clear_cache": {
|
||||
"methods": [
|
||||
"POST"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/security/role/{name}/_clear_cache"
|
||||
]
|
||||
"_xpack/security/role/{id}/_clear_cache"
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-roles.html"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,21 +3,24 @@
|
|||
"methods": ["GET"],
|
||||
"patterns": [
|
||||
"_xpack/security/role_mapping",
|
||||
"_xpack/security/role_mapping/{name}"
|
||||
]
|
||||
"_xpack/security/role_mapping/{id}"
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-role-mapping.html"
|
||||
},
|
||||
"_xpack/security/role_mapping/{name}": {
|
||||
"_xpack/security/role_mapping/{id}": {
|
||||
"methods": ["PUT", "POST"],
|
||||
"patterns": ["_xpack/security/role_mapping/{name}"],
|
||||
"patterns": ["_xpack/security/role_mapping/{id}"],
|
||||
"data_autocomplete_rules": {
|
||||
"enabled": true,
|
||||
"metadata": {},
|
||||
"roles": [],
|
||||
"rules": {}
|
||||
},
|
||||
"DELETE _xpack/security/role_mapping/{name}": {
|
||||
"methods": ["DELETE"],
|
||||
"patterns": ["_xpack/security/role_mapping/{name}"]
|
||||
}
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-role-mapping.html"
|
||||
},
|
||||
"DELETE _xpack/security/role_mapping/{id}": {
|
||||
"methods": ["DELETE"],
|
||||
"patterns": ["_xpack/security/role_mapping/{id}"],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-role-mapping.html"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,18 +1,19 @@
|
|||
{
|
||||
"_xpack/rollup/job/{job_id}": {
|
||||
"_xpack/rollup/job/{id}": {
|
||||
"patterns": [
|
||||
"_xpack/rollup/job/{job_id}"
|
||||
"_xpack/rollup/job/{id}"
|
||||
],
|
||||
"methods": [
|
||||
"GET"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/rollup-get-job.html"
|
||||
},
|
||||
"PUT _xpack/rollup/job/{job_id}": {
|
||||
"PUT _xpack/rollup/job/{id}": {
|
||||
"methods": [
|
||||
"PUT"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/rollup/job/{job_id}"
|
||||
"_xpack/rollup/job/{id}"
|
||||
],
|
||||
"data_autocomplete_rules": {
|
||||
"index_pattern": "",
|
||||
|
@ -21,11 +22,12 @@
|
|||
"page_size": 100,
|
||||
"groups": {},
|
||||
"metrics": {}
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/rollup-job-config.html"
|
||||
},
|
||||
"DELETE _xpack/rollup/job/{job_id}": {
|
||||
"DELETE _xpack/rollup/job/{id}": {
|
||||
"patterns": [
|
||||
"_xpack/rollup/job/{job_id}"
|
||||
"_xpack/rollup/job/{id}"
|
||||
],
|
||||
"methods": [
|
||||
"DELETE"
|
||||
|
@ -37,23 +39,26 @@
|
|||
"page_size": 100,
|
||||
"groups": {},
|
||||
"metrics": {}
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/rollup-delete-job.html"
|
||||
},
|
||||
"_xpack/rollup/job/{job_id}/_start": {
|
||||
"_xpack/rollup/job/{id}/_start": {
|
||||
"patterns": [
|
||||
"_xpack/rollup/job/{job_id}/_start"
|
||||
"_xpack/rollup/job/{id}/_start"
|
||||
],
|
||||
"methods": [
|
||||
"POST"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/rollup-start-job.html"
|
||||
},
|
||||
"_xpack/rollup/job/{job_id}/_stop": {
|
||||
"_xpack/rollup/job/{id}/_stop": {
|
||||
"patterns": [
|
||||
"_xpack/rollup/job/{job_id}/_stop"
|
||||
"_xpack/rollup/job/{id}/_stop"
|
||||
],
|
||||
"methods": [
|
||||
"POST"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/rollup-stop-job.html"
|
||||
},
|
||||
"_xpack/rollup/data/{index}": {
|
||||
"patterns": [
|
||||
|
@ -61,7 +66,8 @@
|
|||
],
|
||||
"methods": [
|
||||
"GET"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/rollup-get-rollup-caps.html"
|
||||
},
|
||||
"{index}/_rollup_search": {
|
||||
"patterns": [
|
||||
|
@ -73,6 +79,7 @@
|
|||
"data_autocomplete_rules": {
|
||||
"query": {},
|
||||
"aggregations": {}
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/rollup-search.html"
|
||||
}
|
||||
}
|
|
@ -5,6 +5,7 @@
|
|||
],
|
||||
"patterns": [
|
||||
"_xpack/ssl/certificates"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-ssl.html"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,53 +1,58 @@
|
|||
{
|
||||
"POST _xpack/security/user/{name}": {
|
||||
"POST _xpack/security/user/{id}": {
|
||||
"methods": [
|
||||
"PUT",
|
||||
"POST"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/security/user/{name}"
|
||||
"_xpack/security/user/{id}"
|
||||
],
|
||||
"data_autocomplete_rules": {
|
||||
"metadata": {},
|
||||
"password": "",
|
||||
"fullname": "",
|
||||
"roles": []
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-users.html"
|
||||
},
|
||||
"_xpack/security/user/{name}/_enable": {
|
||||
"_xpack/security/user/{id}/_enable": {
|
||||
"methods": [
|
||||
"PUT"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/security/user/{name}/_enable"
|
||||
]
|
||||
"_xpack/security/user/{id}/_enable"
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-users.html"
|
||||
},
|
||||
"_xpack/security/user/{name}/_disable": {
|
||||
"_xpack/security/user/{id}/_disable": {
|
||||
"methods": [
|
||||
"PUT"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/security/user/{name}/_disable"
|
||||
]
|
||||
"_xpack/security/user/{id}/_disable"
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-users.html"
|
||||
},
|
||||
"_xpack/security/user/{name}/_password": {
|
||||
"_xpack/security/user/{id}/_password": {
|
||||
"methods": [
|
||||
"PUT"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/security/user/{name}/_password"
|
||||
"_xpack/security/user/{id}/_password"
|
||||
],
|
||||
"data_autocomplete_rules": {
|
||||
"password": ""
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-users.html"
|
||||
},
|
||||
"DELETE _xpack/security/user/{name}": {
|
||||
"DELETE _xpack/security/user/{id}": {
|
||||
"methods": [
|
||||
"DELETE"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/security/user/{name}"
|
||||
]
|
||||
"_xpack/security/user/{id}"
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-users.html"
|
||||
},
|
||||
"_xpack/security/user": {
|
||||
"methods": [
|
||||
|
@ -55,8 +60,9 @@
|
|||
],
|
||||
"patterns": [
|
||||
"_xpack/security/user",
|
||||
"_xpack/security/user/{name}"
|
||||
]
|
||||
"_xpack/security/user/{id}"
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-users.html"
|
||||
},
|
||||
"_xpack/security/user/_password": {
|
||||
"methods": [
|
||||
|
@ -64,11 +70,12 @@
|
|||
],
|
||||
"patterns": [
|
||||
"_xpack/security/user/_password",
|
||||
"_xpack/security/user/{username}/_password"
|
||||
"_xpack/security/user/{id}/_password"
|
||||
],
|
||||
"data_autocomplete_rules": {
|
||||
"password": ""
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-users.html"
|
||||
},
|
||||
"_xpack/security/user/_has_privileges": {
|
||||
"methods": [
|
||||
|
@ -76,6 +83,7 @@
|
|||
],
|
||||
"patterns": [
|
||||
"_xpack/security/user/_has_privileges"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/security-api-users.html"
|
||||
}
|
||||
}
|
|
@ -1,21 +1,23 @@
|
|||
{
|
||||
"_xpack/watcher/watch/{watch_id}": {
|
||||
"_xpack/watcher/watch/{id}": {
|
||||
"methods": [
|
||||
"GET"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/watcher/watch/{watch_id}"
|
||||
]
|
||||
"_xpack/watcher/watch/{id}"
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/watcher-api-get-watch.html"
|
||||
},
|
||||
"DELETE _xpack/watcher/watch/{watch_id}": {
|
||||
"DELETE _xpack/watcher/watch/{id}": {
|
||||
"methods": [
|
||||
"DELETE"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/watcher/watch/{watch_id}"
|
||||
]
|
||||
"_xpack/watcher/watch/{id}"
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/watcher-api-delete-watch.html"
|
||||
},
|
||||
"PUT _xpack/watcher/watch/{watch_id}": {
|
||||
"PUT _xpack/watcher/watch/{id}": {
|
||||
"methods": [
|
||||
"PUT"
|
||||
],
|
||||
|
@ -23,7 +25,7 @@
|
|||
"active": ["true", "false"]
|
||||
},
|
||||
"patterns": [
|
||||
"_xpack/watcher/watch/{watch_id}"
|
||||
"_xpack/watcher/watch/{id}"
|
||||
],
|
||||
"data_autocomplete_rules": {
|
||||
"metadata": {},
|
||||
|
@ -32,7 +34,8 @@
|
|||
"condition": {},
|
||||
"throttle_period": 5,
|
||||
"actions": {}
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/watcher-api-put-watch.html"
|
||||
},
|
||||
"_xpack/watcher/watch/_execute": {
|
||||
"methods": [
|
||||
|
@ -43,7 +46,7 @@
|
|||
},
|
||||
"patterns": [
|
||||
"_xpack/watcher/watch/_execute",
|
||||
"_xpack/watcher/watch/{watch_id}/_execute"
|
||||
"_xpack/watcher/watch/{id}/_execute"
|
||||
],
|
||||
"data_autocomplete_rules": {
|
||||
"trigger_data": {},
|
||||
|
@ -52,32 +55,36 @@
|
|||
"watch": {},
|
||||
"alternative_input": {},
|
||||
"action_modes": {}
|
||||
}
|
||||
},
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/watcher-api-execute-watch.html"
|
||||
},
|
||||
"_xpack/watcher/watch/{watch_id}/_ack": {
|
||||
"_xpack/watcher/watch/{id}/_ack": {
|
||||
"methods": [
|
||||
"PUT"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/watcher/watch/{watch_id}/_ack",
|
||||
"_xpack/watcher/watch/{watch_id}/_ack/{action_id}"
|
||||
]
|
||||
"_xpack/watcher/watch/{id}/_ack",
|
||||
"_xpack/watcher/watch/{id}/_ack/{id}"
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/watcher-api-ack-watch.html"
|
||||
},
|
||||
"_xpack/watcher/watch/{watch_id}/_activate": {
|
||||
"_xpack/watcher/watch/{id}/_activate": {
|
||||
"methods": [
|
||||
"PUT"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/watcher/watch/{watch_id}/_activate"
|
||||
]
|
||||
"_xpack/watcher/watch/{id}/_activate"
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/watcher-api-activate-watch.html"
|
||||
},
|
||||
"_xpack/watcher/watch/{watch_id}/_deactivate": {
|
||||
"_xpack/watcher/watch/{id}/_deactivate": {
|
||||
"methods": [
|
||||
"PUT"
|
||||
],
|
||||
"patterns": [
|
||||
"_xpack/watcher/watch/{watch_id}/_deactivate"
|
||||
]
|
||||
"_xpack/watcher/watch/{id}/_deactivate"
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/watcher-api-deactivate-watch.html"
|
||||
},
|
||||
"_xpack/watcher/stats": {
|
||||
"url_params": {
|
||||
|
@ -88,7 +95,8 @@
|
|||
],
|
||||
"patterns": [
|
||||
"_xpack/watcher/stats"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/watcher-api-stats.html"
|
||||
},
|
||||
"_xpack/watcher/_start": {
|
||||
"methods": [
|
||||
|
@ -96,7 +104,8 @@
|
|||
],
|
||||
"patterns": [
|
||||
"_xpack/watcher/_start"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/watcher-api-start.html"
|
||||
},
|
||||
"_xpack/watcher/_stop": {
|
||||
"methods": [
|
||||
|
@ -104,7 +113,8 @@
|
|||
],
|
||||
"patterns": [
|
||||
"_xpack/watcher/_stop"
|
||||
]
|
||||
],
|
||||
"documentation": "https://www.elastic.co/guide/en/elasticsearch/reference/master/watcher-api-stop.html"
|
||||
},
|
||||
"_xpack/watcher/_restart": {
|
||||
"methods": [
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue