diff --git a/.github/workflows/code-generation.yml b/.github/workflows/code-generation.yml new file mode 100644 index 0000000000..ce81938fc8 --- /dev/null +++ b/.github/workflows/code-generation.yml @@ -0,0 +1,89 @@ +name: Code Generation + +on: + pull_request: + workflow_dispatch: + schedule: + - cron: '0 0 * * 1' # 00:00 UTC Weekly on Mondays + +jobs: + up_to_date: + name: Ensure Generated Code Is Up To Date + # if: github.event_name == 'pull_request' + if: false + runs-on: ubuntu-latest + steps: + - name: Checkout Java Client + uses: actions/checkout@v4 + + - name: Set up JDK + uses: actions/setup-java@v4 + with: + java-version: 11 + distribution: 'temurin' + cache: 'gradle' + + - name: Run Code Generator + run: ./gradlew :java-codegen:run + + - name: Check For Uncommitted Changes + shell: bash -eo pipefail {0} + run: | + output=$(git status --porcelain) + if [ -z "$output" ]; then + echo "Clean working directory" + exit 0 + else + echo "Dirty working directory" + echo "$output" + exit 1 + fi + + + update_spec: + name: Update Specification and Re-generate Code + if: github.event_name == 'workflow_dispatch' || (github.event_name == 'schedule' && github.repository == 'opensearch-project/opensearch-java') + runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write + steps: + - name: Checkout Java Client + uses: actions/checkout@v4 + + - name: Set up JDK + uses: actions/setup-java@v4 + with: + java-version: 11 + distribution: 'temurin' + cache: 'gradle' + + - name: Download Latest Spec && Run Code Generator + run: ./gradlew :java-codegen:downloadLatestSpec :java-codegen:run + + - name: Get Current Date + id: date + run: echo "date=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT + + - name: Generate GitHub App Token + if: github.repository == 'opensearch-project/opensearch-java' + id: github_app_token + uses: tibdex/github-app-token@v1.5.0 + with: + app_id: ${{ secrets.APP_ID }} + private_key: ${{ secrets.APP_PRIVATE_KEY }} + installation_id: 22958780 + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v6 + with: + token: ${{ steps.github_app_token.outputs.token || secrets.GITHUB_TOKEN }} + commit-message: Re-generate client code using latest OpenSearch API specification (${{ steps.date.outputs.date }}) + title: Re-generated client code using latest OpenSearch API specification + body: | + Re-generated client code using latest OpenSearch API specification. + Date: ${{ steps.date.outputs.date }} + branch: code-gen/${{ github.ref_name }}/update + signoff: true + labels: | + autocut diff --git a/buildSrc/formatterConfig-generated.xml b/buildSrc/formatterConfig-generated.xml new file mode 100644 index 0000000000..30769f081a --- /dev/null +++ b/buildSrc/formatterConfig-generated.xml @@ -0,0 +1,362 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/java-client/src/main/java/org/opensearch/client/util/ApiTypeHelper.java b/java-client/src/main/java/org/opensearch/client/util/ApiTypeHelper.java index 1122975bc6..55138eaaa4 100644 --- a/java-client/src/main/java/org/opensearch/client/util/ApiTypeHelper.java +++ b/java-client/src/main/java/org/opensearch/client/util/ApiTypeHelper.java @@ -39,6 +39,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import javax.annotation.Nonnull; import javax.annotation.Nullable; /** @@ -134,6 +135,7 @@ public static boolean isDefined(List list) { /** * Returns an unmodifiable view of a list. If {@code list} is {@code null}, an {@link #undefinedList()} is returned. */ + @Nonnull public static List unmodifiable(@Nullable List list) { if (list == null) { return undefinedList(); diff --git a/java-codegen/build.gradle.kts b/java-codegen/build.gradle.kts new file mode 100644 index 0000000000..49aa5ec3f5 --- /dev/null +++ b/java-codegen/build.gradle.kts @@ -0,0 +1,277 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +/* + * Modifications Copyright OpenSearch Contributors. See + * GitHub history for details. + */ + +import com.github.jk1.license.ProjectData +import com.github.jk1.license.render.ReportRenderer +import de.undercouch.gradle.tasks.download.Download +import java.io.FileWriter + +buildscript { + repositories { + mavenLocal() + maven(url = "https://aws.oss.sonatype.org/content/repositories/snapshots") + mavenCentral() + maven(url = "https://plugins.gradle.org/m2/") + } + dependencies { + "classpath"(group = "org.opensearch.gradle", name = "build-tools", version = "3.0.0-SNAPSHOT") + } +} + +plugins { + application + id("com.github.jk1.dependency-license-report") version "2.9" + id("org.owasp.dependencycheck") version "10.0.2" + id("com.diffplug.spotless") version "6.25.0" + id("de.undercouch.download") version "5.6.0" +} +apply(plugin = "opensearch.repositories") +apply(plugin = "org.owasp.dependencycheck") + +val runtimeJavaVersion = (System.getProperty("runtime.java")?.toInt())?.let(JavaVersion::toVersion) ?: JavaVersion.current() +logger.quiet("=======================================") +logger.quiet(" Runtime JDK Version : $runtimeJavaVersion") +logger.quiet(" Gradle JDK Version : " + JavaVersion.current()) +logger.quiet("=======================================") + +java { + targetCompatibility = JavaVersion.VERSION_11 + sourceCompatibility = JavaVersion.VERSION_11 + + withJavadocJar() + withSourcesJar() + + toolchain { + languageVersion = JavaLanguageVersion.of(runtimeJavaVersion.majorVersion) + vendor = JvmVendorSpec.ADOPTIUM + } +} + +application { + mainClass.set("org.opensearch.client.codegen.CodeGenerator") + applicationDefaultJvmArgs = listOf( + "--add-exports", "jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED", + "--add-exports", "jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED", + "--add-exports", "jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED", + "--add-exports", "jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED", + "--add-exports", "jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED" + ) +} + +val localSpecification = "$projectDir/opensearch-openapi.yaml" + +tasks.create("downloadLatestSpec") { + src("https://github.com/opensearch-project/opensearch-api-specification/releases/download/main-latest/opensearch-openapi.yaml") + dest(localSpecification) +} + +tasks.named("run") { + args = listOf( + "--input", localSpecification, + "--eclipse-config", "$rootDir/buildSrc/formatterConfig-generated.xml", + "--output", "${project(":java-client").projectDir}/src/generated/java/" + ) +} + +tasks.withType { + expand( + "version" to version, + "git_revision" to (if (rootProject.extra.has("gitHashFull")) rootProject.extra["gitHashFull"] else "unknown") + ) +} + +tasks.withType().configureEach{ + options { + encoding = "UTF-8" + } +} + +tasks.withType { + doFirst { + if (rootProject.extra.has("gitHashFull")) { + val jar = this as Jar + jar.manifest.attributes["X-Git-Revision"] = rootProject.extra["gitHashFull"] + jar.manifest.attributes["X-Git-Commit-Time"] = rootProject .extra["gitCommitTime"] + } else { + throw GradleException("No git information available") + } + } + + manifest { + attributes["Implementation-Title"] = "OpenSearch Java client code generator" + attributes["Implementation-Vendor"] = "OpenSearch" + attributes["Implementation-URL"] = "https://github.com/opensearch-project/opensearch-java/" + attributes["Build-Date"] = rootProject.extra["buildTime"] + } + + metaInf { + from("../LICENSE.txt") + from("../NOTICE.txt") + } +} + +tasks.withType { + useJUnitPlatform() + testLogging { + events("passed", "skipped", "failed") + } +} + +tasks.build { + dependsOn("spotlessJavaCheck") +} + +dependencies { + // Apache 2.0 + implementation("io.swagger.parser.v3", "swagger-parser", "2.1.22") + + // (New) BSD + implementation("com.samskivert", "jmustache", "1.16") + + // Apache 2.0 + implementation("commons-cli", "commons-cli", "1.8.0") + implementation("commons-codec", "commons-codec", "1.17.0") + implementation("commons-logging", "commons-logging", "1.3.2") + implementation("org.apache.commons", "commons-lang3", "3.14.0") + implementation("org.apache.commons", "commons-text", "1.12.0") + implementation("org.apache.logging.log4j", "log4j-api", "[2.17.1,3.0)") + implementation("org.apache.logging.log4j", "log4j-core", "[2.17.1,3.0)") + implementation("org.apache.logging.log4j", "log4j-slf4j2-impl", "[2.17.1,3.0)") + + // Apache 2.0 + implementation("com.fasterxml.jackson.core", "jackson-core", "2.17.1") + implementation("com.fasterxml.jackson.core", "jackson-databind", "2.17.1") + + // Apache 2.0 + implementation("com.diffplug.spotless", "spotless-lib", "2.45.0") + implementation("com.diffplug.spotless", "spotless-lib-extra", "2.45.0") + + // Apache 2.0 + // https://search.maven.org/artifact/com.google.code.findbugs/jsr305 + implementation("com.google.code.findbugs", "jsr305", "3.0.2") + + // Apache 2.0 + compileOnly("org.jetbrains", "annotations", "24.1.0") + + // Apache 2.0 + implementation("org.apache.maven.resolver", "maven-resolver-api", "1.9.20") + implementation("org.apache.maven.resolver", "maven-resolver-supplier", "1.9.20") + + // MIT + implementation("org.semver4j", "semver4j", "5.3.0") + + // EPL-2.0 + testImplementation(platform("org.junit:junit-bom:5.10.3")) + testImplementation("org.junit.jupiter", "junit-jupiter") + testRuntimeOnly("org.junit.platform", "junit-platform-launcher") +} + +licenseReport { + renderers = arrayOf(SpdxReporter(rootProject.layout.buildDirectory.file("release/codegen-dependencies.csv").get().getAsFile())) + excludeGroups = arrayOf() +} + +class SpdxReporter(val dest: File) : ReportRenderer { + // License names to their SPDX identifier + val spdxIds = mapOf( + "Apache 2" to "Apache-2.0", + "Apache 2.0" to "Apache-2.0", + "Apache-2.0" to "Apache-2.0", + "\"Apache-2.0\";link=\"https://www.apache.org/licenses/LICENSE-2.0.txt\"" to "Apache-2.0", + "\"Apache 2.0\";link=\"http://www.apache.org/licenses/LICENSE-2.0.txt\"" to "Apache-2.0", + "\"Apache License 2.0\";link=\"http://www.apache.org/licenses/LICENSE-2.0.html\"" to "Apache-2.0", + "Apache License 2.0" to "Apache-2.0", + "Apache License, version 2.0" to "Apache-2.0", + "Apache License, Version 2.0" to "Apache-2.0", + "Apache Software License, version 2.0" to "Apache-2.0", + "The Apache License, Version 2.0" to "Apache-2.0", + "The Apache Software License, Version 2.0" to "Apache-2.0", + "BSD Zero Clause License" to "0BSD", + "The (New) BSD License" to "BSD-3-Clause", + "EDL 1.0" to "BSD-3-Clause", + "Eclipse Distribution License - v 1.0" to "BSD-3-Clause", + "Eclipse Distribution License (New BSD License)" to "BSD-3-Clause", + "Eclipse Public License 2.0" to "EPL-2.0", + "Eclipse Public License v. 2.0" to "EPL-2.0", + "Eclipse Public License - v 2.0" to "EPL-2.0", + "GNU General Public License, version 2 with the GNU Classpath Exception" to "GPL-2.0 WITH Classpath-exception-2.0", + "COMMON DEVELOPMENT AND DISTRIBUTION LICENSE (CDDL) Version 1.0" to "CDDL-1.0", + "Lesser General Public License, version 3 or greater" to "LGPL-3.0+", + "MIT" to "MIT", + "MIT License" to "MIT", + "The MIT License" to "MIT", + "Mozilla Public License, Version 2.0" to "MPL-2.0", + "Public Domain" to "PUBLIC-DOMAIN" + ) + + private fun quote(str: String) : String { + return if (str.contains(',') || str.contains("\"")) { + "\"" + str.replace("\"", "\"\"") + "\"" + } else { + str + } + } + + override fun render(data: ProjectData?) { + dest.parentFile.mkdirs() + FileWriter(dest).use { out -> + out.append("name,url,version,revision,license\n") + data?.allDependencies?.forEach { dep -> + val info = com.github.jk1.license.render.LicenseDataCollector.multiModuleLicenseInfo(dep) + + val depVersion = dep.version + val depName = dep.group + ":" + dep.name + val depUrl = if (info.moduleUrls.isNotEmpty()) { info.moduleUrls.first() } else { "" } + + val licenseIds = info.licenses.mapNotNull { license -> + license.name?.let { + checkNotNull(spdxIds[it]) { "No SPDX identifier for $license" } + } + }.toSet() + + // Combine multiple licenses. + // See https://spdx.github.io/spdx-spec/appendix-IV-SPDX-license-expressions/#composite-license-expressions + val licenseId = licenseIds.joinToString(" OR ") + out.append("${quote(depName)},${quote(depUrl)},${quote(depVersion)},,${quote(licenseId)}\n") + } + } + } +} + +tasks.withType { + doLast { + ant.withGroovyBuilder { + "checksum"("algorithm" to "md5", "file" to archiveFile.get()) + "checksum"("algorithm" to "sha1", "file" to archiveFile.get()) + "checksum"("algorithm" to "sha-256", "file" to archiveFile.get(), "fileext" to ".sha256") + "checksum"("algorithm" to "sha-512", "file" to archiveFile.get(), "fileext" to ".sha512") + } + } +} + +spotless { + java { + target("**/*.java") + + licenseHeaderFile("../LICENSE_HEADER.txt") + + // Use the default importOrder configuration + importOrder() + removeUnusedImports() + + eclipse().configFile("../buildSrc/formatterConfig-generated.xml") + + trimTrailingWhitespace() + endWithNewline() + } +} \ No newline at end of file diff --git a/java-codegen/opensearch-openapi.yaml b/java-codegen/opensearch-openapi.yaml new file mode 100644 index 0000000000..889bedbbdf --- /dev/null +++ b/java-codegen/opensearch-openapi.yaml @@ -0,0 +1,51254 @@ +openapi: 3.1.0 +info: + title: OpenSearch API Specification + version: 1.0.0 + x-api-version: 2.16.0 +paths: + /: + get: + operationId: info.0 + x-operation-group: info + x-version-added: '1.0' + x-distributions-excluded: + - amazon-serverless + description: Returns basic information about the cluster. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/info@200' + head: + operationId: ping.0 + x-operation-group: ping + x-version-added: '1.0' + description: Returns whether the cluster is running. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/ping@200' + /_alias: + get: + operationId: indices.get_alias.0 + x-operation-group: indices.get_alias + x-version-added: '1.0' + description: Returns an alias. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-alias/ + parameters: + - $ref: '#/components/parameters/indices.get_alias::query.allow_no_indices' + - $ref: '#/components/parameters/indices.get_alias::query.expand_wildcards' + - $ref: '#/components/parameters/indices.get_alias::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.get_alias::query.local' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.get_alias@200' + '404': + $ref: '#/components/responses/indices.get_alias@404' + put: + operationId: indices.put_alias.0 + x-operation-group: indices.put_alias + x-version-added: '1.0' + description: Creates or updates an alias. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/update-alias/ + parameters: + - $ref: '#/components/parameters/indices.put_alias::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.put_alias::query.master_timeout' + - $ref: '#/components/parameters/indices.put_alias::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.put_alias' + responses: + '200': + $ref: '#/components/responses/indices.put_alias@200' + /_alias/{name}: + get: + operationId: indices.get_alias.1 + x-operation-group: indices.get_alias + x-version-added: '1.0' + description: Returns an alias. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-alias/ + parameters: + - $ref: '#/components/parameters/indices.get_alias::path.name' + - $ref: '#/components/parameters/indices.get_alias::query.allow_no_indices' + - $ref: '#/components/parameters/indices.get_alias::query.expand_wildcards' + - $ref: '#/components/parameters/indices.get_alias::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.get_alias::query.local' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.get_alias@200' + '404': + $ref: '#/components/responses/indices.get_alias@404' + head: + operationId: indices.exists_alias.0 + x-operation-group: indices.exists_alias + x-version-added: '1.0' + description: Returns information about whether a particular alias exists. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.exists_alias::path.name' + - $ref: '#/components/parameters/indices.exists_alias::query.allow_no_indices' + - $ref: '#/components/parameters/indices.exists_alias::query.expand_wildcards' + - $ref: '#/components/parameters/indices.exists_alias::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.exists_alias::query.local' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.exists_alias@200' + '404': + $ref: '#/components/responses/indices.exists_alias@404' + post: + operationId: indices.put_alias.1 + x-operation-group: indices.put_alias + x-version-added: '1.0' + description: Creates or updates an alias. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/update-alias/ + parameters: + - $ref: '#/components/parameters/indices.put_alias::path.name' + - $ref: '#/components/parameters/indices.put_alias::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.put_alias::query.master_timeout' + - $ref: '#/components/parameters/indices.put_alias::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.put_alias' + responses: + '200': + $ref: '#/components/responses/indices.put_alias@200' + put: + operationId: indices.put_alias.2 + x-operation-group: indices.put_alias + x-version-added: '1.0' + description: Creates or updates an alias. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/update-alias/ + parameters: + - $ref: '#/components/parameters/indices.put_alias::path.name' + - $ref: '#/components/parameters/indices.put_alias::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.put_alias::query.master_timeout' + - $ref: '#/components/parameters/indices.put_alias::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.put_alias' + responses: + '200': + $ref: '#/components/responses/indices.put_alias@200' + /_aliases: + post: + operationId: indices.update_aliases.0 + x-operation-group: indices.update_aliases + x-version-added: '1.0' + description: Updates index aliases. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/alias/ + parameters: + - $ref: '#/components/parameters/indices.update_aliases::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.update_aliases::query.master_timeout' + - $ref: '#/components/parameters/indices.update_aliases::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.update_aliases' + responses: + '200': + $ref: '#/components/responses/indices.update_aliases@200' + /_aliases/{name}: + post: + operationId: indices.put_alias.3 + x-operation-group: indices.put_alias + x-version-added: '1.0' + description: Creates or updates an alias. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/update-alias/ + parameters: + - $ref: '#/components/parameters/indices.put_alias::path.name' + - $ref: '#/components/parameters/indices.put_alias::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.put_alias::query.master_timeout' + - $ref: '#/components/parameters/indices.put_alias::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.put_alias' + responses: + '200': + $ref: '#/components/responses/indices.put_alias@200' + put: + operationId: indices.put_alias.4 + x-operation-group: indices.put_alias + x-version-added: '1.0' + description: Creates or updates an alias. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/update-alias/ + parameters: + - $ref: '#/components/parameters/indices.put_alias::path.name' + - $ref: '#/components/parameters/indices.put_alias::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.put_alias::query.master_timeout' + - $ref: '#/components/parameters/indices.put_alias::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.put_alias' + responses: + '200': + $ref: '#/components/responses/indices.put_alias@200' + /_analyze: + get: + operationId: indices.analyze.0 + x-operation-group: indices.analyze + x-version-added: '1.0' + description: Performs the analysis process on a text and return the tokens breakdown of the text. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/analyze-apis/perform-text-analysis/ + parameters: + - $ref: '#/components/parameters/indices.analyze::query.index' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.analyze' + responses: + '200': + $ref: '#/components/responses/indices.analyze@200' + post: + operationId: indices.analyze.1 + x-operation-group: indices.analyze + x-version-added: '1.0' + description: Performs the analysis process on a text and return the tokens breakdown of the text. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/analyze-apis/perform-text-analysis/ + parameters: + - $ref: '#/components/parameters/indices.analyze::query.index' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.analyze' + responses: + '200': + $ref: '#/components/responses/indices.analyze@200' + /_bulk: + post: + operationId: bulk.0 + x-operation-group: bulk + x-version-added: '1.0' + description: Allows to perform multiple index/update/delete operations in a single request. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/document-apis/bulk/ + parameters: + - $ref: '#/components/parameters/bulk::query._source' + - $ref: '#/components/parameters/bulk::query._source_excludes' + - $ref: '#/components/parameters/bulk::query._source_includes' + - $ref: '#/components/parameters/bulk::query.pipeline' + - $ref: '#/components/parameters/bulk::query.refresh' + - $ref: '#/components/parameters/bulk::query.require_alias' + - $ref: '#/components/parameters/bulk::query.routing' + - $ref: '#/components/parameters/bulk::query.timeout' + - $ref: '#/components/parameters/bulk::query.type' + - $ref: '#/components/parameters/bulk::query.wait_for_active_shards' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/bulk' + responses: + '200': + $ref: '#/components/responses/bulk@200' + put: + operationId: bulk.1 + x-operation-group: bulk + x-version-added: '1.0' + description: Allows to perform multiple index/update/delete operations in a single request. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/document-apis/bulk/ + parameters: + - $ref: '#/components/parameters/bulk::query._source' + - $ref: '#/components/parameters/bulk::query._source_excludes' + - $ref: '#/components/parameters/bulk::query._source_includes' + - $ref: '#/components/parameters/bulk::query.pipeline' + - $ref: '#/components/parameters/bulk::query.refresh' + - $ref: '#/components/parameters/bulk::query.require_alias' + - $ref: '#/components/parameters/bulk::query.routing' + - $ref: '#/components/parameters/bulk::query.timeout' + - $ref: '#/components/parameters/bulk::query.type' + - $ref: '#/components/parameters/bulk::query.wait_for_active_shards' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/bulk' + responses: + '200': + $ref: '#/components/responses/bulk@200' + /_cache/clear: + post: + operationId: indices.clear_cache.0 + x-operation-group: indices.clear_cache + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Clears all or specific caches for one or more indices. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/clear-index-cache/ + parameters: + - $ref: '#/components/parameters/indices.clear_cache::query.allow_no_indices' + - $ref: '#/components/parameters/indices.clear_cache::query.expand_wildcards' + - $ref: '#/components/parameters/indices.clear_cache::query.fielddata' + - $ref: '#/components/parameters/indices.clear_cache::query.fields' + - $ref: '#/components/parameters/indices.clear_cache::query.file' + - $ref: '#/components/parameters/indices.clear_cache::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.clear_cache::query.index' + - $ref: '#/components/parameters/indices.clear_cache::query.query' + - $ref: '#/components/parameters/indices.clear_cache::query.request' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.clear_cache@200' + /_cat: + get: + operationId: cat.help.0 + x-operation-group: cat.help + x-version-added: '1.0' + description: Returns help for the Cat APIs. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/index/ + responses: + '200': + $ref: '#/components/responses/cat.help@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_cat/aliases: + get: + operationId: cat.aliases.0 + x-operation-group: cat.aliases + x-version-added: '1.0' + description: Shows information about currently configured aliases to indices including filter and routing infos. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-aliases/ + parameters: + - $ref: '#/components/parameters/cat.aliases::query.expand_wildcards' + - $ref: '#/components/parameters/cat.aliases::query.format' + - $ref: '#/components/parameters/cat.aliases::query.h' + - $ref: '#/components/parameters/cat.aliases::query.help' + - $ref: '#/components/parameters/cat.aliases::query.local' + - $ref: '#/components/parameters/cat.aliases::query.s' + - $ref: '#/components/parameters/cat.aliases::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.aliases@200' + /_cat/aliases/{name}: + get: + operationId: cat.aliases.1 + x-operation-group: cat.aliases + x-version-added: '1.0' + description: Shows information about currently configured aliases to indices including filter and routing infos. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-aliases/ + parameters: + - $ref: '#/components/parameters/cat.aliases::path.name' + - $ref: '#/components/parameters/cat.aliases::query.expand_wildcards' + - $ref: '#/components/parameters/cat.aliases::query.format' + - $ref: '#/components/parameters/cat.aliases::query.h' + - $ref: '#/components/parameters/cat.aliases::query.help' + - $ref: '#/components/parameters/cat.aliases::query.local' + - $ref: '#/components/parameters/cat.aliases::query.s' + - $ref: '#/components/parameters/cat.aliases::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.aliases@200' + /_cat/allocation: + get: + operationId: cat.allocation.0 + x-operation-group: cat.allocation + x-version-added: '1.0' + description: Provides a snapshot of how many shards are allocated to each data node and how much disk space they are using. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-allocation/ + parameters: + - $ref: '#/components/parameters/cat.allocation::query.bytes' + - $ref: '#/components/parameters/cat.allocation::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cat.allocation::query.format' + - $ref: '#/components/parameters/cat.allocation::query.h' + - $ref: '#/components/parameters/cat.allocation::query.help' + - $ref: '#/components/parameters/cat.allocation::query.local' + - $ref: '#/components/parameters/cat.allocation::query.master_timeout' + - $ref: '#/components/parameters/cat.allocation::query.s' + - $ref: '#/components/parameters/cat.allocation::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.allocation@200' + /_cat/allocation/{node_id}: + get: + operationId: cat.allocation.1 + x-operation-group: cat.allocation + x-version-added: '1.0' + description: Provides a snapshot of how many shards are allocated to each data node and how much disk space they are using. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-allocation/ + parameters: + - $ref: '#/components/parameters/cat.allocation::path.node_id' + - $ref: '#/components/parameters/cat.allocation::query.bytes' + - $ref: '#/components/parameters/cat.allocation::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cat.allocation::query.format' + - $ref: '#/components/parameters/cat.allocation::query.h' + - $ref: '#/components/parameters/cat.allocation::query.help' + - $ref: '#/components/parameters/cat.allocation::query.local' + - $ref: '#/components/parameters/cat.allocation::query.master_timeout' + - $ref: '#/components/parameters/cat.allocation::query.s' + - $ref: '#/components/parameters/cat.allocation::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.allocation@200' + /_cat/cluster_manager: + get: + operationId: cat.cluster_manager.0 + x-operation-group: cat.cluster_manager + x-version-added: '2.0' + description: Returns information about the cluster-manager node. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-cluster_manager/ + parameters: + - $ref: '#/components/parameters/cat.cluster_manager::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cat.cluster_manager::query.format' + - $ref: '#/components/parameters/cat.cluster_manager::query.h' + - $ref: '#/components/parameters/cat.cluster_manager::query.help' + - $ref: '#/components/parameters/cat.cluster_manager::query.local' + - $ref: '#/components/parameters/cat.cluster_manager::query.master_timeout' + - $ref: '#/components/parameters/cat.cluster_manager::query.s' + - $ref: '#/components/parameters/cat.cluster_manager::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.cluster_manager@200' + /_cat/count: + get: + operationId: cat.count.0 + x-operation-group: cat.count + x-version-added: '1.0' + description: Provides quick access to the document count of the entire cluster, or individual indices. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-count/ + parameters: + - $ref: '#/components/parameters/cat.count::query.format' + - $ref: '#/components/parameters/cat.count::query.h' + - $ref: '#/components/parameters/cat.count::query.help' + - $ref: '#/components/parameters/cat.count::query.s' + - $ref: '#/components/parameters/cat.count::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.count@200' + /_cat/count/{index}: + get: + operationId: cat.count.1 + x-operation-group: cat.count + x-version-added: '1.0' + description: Provides quick access to the document count of the entire cluster, or individual indices. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-count/ + parameters: + - $ref: '#/components/parameters/cat.count::path.index' + - $ref: '#/components/parameters/cat.count::query.format' + - $ref: '#/components/parameters/cat.count::query.h' + - $ref: '#/components/parameters/cat.count::query.help' + - $ref: '#/components/parameters/cat.count::query.s' + - $ref: '#/components/parameters/cat.count::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.count@200' + /_cat/fielddata: + get: + operationId: cat.fielddata.0 + x-operation-group: cat.fielddata + x-version-added: '1.0' + description: Shows how much heap memory is currently being used by fielddata on every data node in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-field-data/ + parameters: + - $ref: '#/components/parameters/cat.fielddata::query.bytes' + - $ref: '#/components/parameters/cat.fielddata::query.fields' + - $ref: '#/components/parameters/cat.fielddata::query.format' + - $ref: '#/components/parameters/cat.fielddata::query.h' + - $ref: '#/components/parameters/cat.fielddata::query.help' + - $ref: '#/components/parameters/cat.fielddata::query.s' + - $ref: '#/components/parameters/cat.fielddata::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.fielddata@200' + /_cat/fielddata/{fields}: + get: + operationId: cat.fielddata.1 + x-operation-group: cat.fielddata + x-version-added: '1.0' + description: Shows how much heap memory is currently being used by fielddata on every data node in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-field-data/ + parameters: + - $ref: '#/components/parameters/cat.fielddata::path.fields' + - $ref: '#/components/parameters/cat.fielddata::query.bytes' + - $ref: '#/components/parameters/cat.fielddata::query.fields' + - $ref: '#/components/parameters/cat.fielddata::query.format' + - $ref: '#/components/parameters/cat.fielddata::query.h' + - $ref: '#/components/parameters/cat.fielddata::query.help' + - $ref: '#/components/parameters/cat.fielddata::query.s' + - $ref: '#/components/parameters/cat.fielddata::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.fielddata@200' + /_cat/health: + get: + operationId: cat.health.0 + x-operation-group: cat.health + x-version-added: '1.0' + description: Returns a concise representation of the cluster health. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-health/ + parameters: + - $ref: '#/components/parameters/cat.health::query.format' + - $ref: '#/components/parameters/cat.health::query.h' + - $ref: '#/components/parameters/cat.health::query.help' + - $ref: '#/components/parameters/cat.health::query.s' + - $ref: '#/components/parameters/cat.health::query.time' + - $ref: '#/components/parameters/cat.health::query.ts' + - $ref: '#/components/parameters/cat.health::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.health@200' + /_cat/indices: + get: + operationId: cat.indices.0 + x-operation-group: cat.indices + x-version-added: '1.0' + description: 'Returns information about indices: number of primaries and replicas, document counts, disk size, ...' + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-indices/ + parameters: + - $ref: '#/components/parameters/cat.indices::query.bytes' + - $ref: '#/components/parameters/cat.indices::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cat.indices::query.expand_wildcards' + - $ref: '#/components/parameters/cat.indices::query.format' + - $ref: '#/components/parameters/cat.indices::query.h' + - $ref: '#/components/parameters/cat.indices::query.health' + - $ref: '#/components/parameters/cat.indices::query.help' + - $ref: '#/components/parameters/cat.indices::query.include_unloaded_segments' + - $ref: '#/components/parameters/cat.indices::query.local' + - $ref: '#/components/parameters/cat.indices::query.master_timeout' + - $ref: '#/components/parameters/cat.indices::query.pri' + - $ref: '#/components/parameters/cat.indices::query.s' + - $ref: '#/components/parameters/cat.indices::query.time' + - $ref: '#/components/parameters/cat.indices::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.indices@200' + /_cat/indices/{index}: + get: + operationId: cat.indices.1 + x-operation-group: cat.indices + x-version-added: '1.0' + description: 'Returns information about indices: number of primaries and replicas, document counts, disk size, ...' + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-indices/ + parameters: + - $ref: '#/components/parameters/cat.indices::path.index' + - $ref: '#/components/parameters/cat.indices::query.bytes' + - $ref: '#/components/parameters/cat.indices::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cat.indices::query.expand_wildcards' + - $ref: '#/components/parameters/cat.indices::query.format' + - $ref: '#/components/parameters/cat.indices::query.h' + - $ref: '#/components/parameters/cat.indices::query.health' + - $ref: '#/components/parameters/cat.indices::query.help' + - $ref: '#/components/parameters/cat.indices::query.include_unloaded_segments' + - $ref: '#/components/parameters/cat.indices::query.local' + - $ref: '#/components/parameters/cat.indices::query.master_timeout' + - $ref: '#/components/parameters/cat.indices::query.pri' + - $ref: '#/components/parameters/cat.indices::query.s' + - $ref: '#/components/parameters/cat.indices::query.time' + - $ref: '#/components/parameters/cat.indices::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.indices@200' + /_cat/master: + get: + operationId: cat.master.0 + x-operation-group: cat.master + deprecated: true + x-deprecation-message: To promote inclusive language, please use '/_cat/cluster_manager' instead. + x-version-added: '1.0' + x-version-deprecated: '2.0' + description: Returns information about the cluster-manager node. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-cluster_manager/ + parameters: + - $ref: '#/components/parameters/cat.master::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cat.master::query.format' + - $ref: '#/components/parameters/cat.master::query.h' + - $ref: '#/components/parameters/cat.master::query.help' + - $ref: '#/components/parameters/cat.master::query.local' + - $ref: '#/components/parameters/cat.master::query.master_timeout' + - $ref: '#/components/parameters/cat.master::query.s' + - $ref: '#/components/parameters/cat.master::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.master@200' + /_cat/nodeattrs: + get: + operationId: cat.nodeattrs.0 + x-operation-group: cat.nodeattrs + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Returns information about custom node attributes. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-nodeattrs/ + parameters: + - $ref: '#/components/parameters/cat.nodeattrs::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cat.nodeattrs::query.format' + - $ref: '#/components/parameters/cat.nodeattrs::query.h' + - $ref: '#/components/parameters/cat.nodeattrs::query.help' + - $ref: '#/components/parameters/cat.nodeattrs::query.local' + - $ref: '#/components/parameters/cat.nodeattrs::query.master_timeout' + - $ref: '#/components/parameters/cat.nodeattrs::query.s' + - $ref: '#/components/parameters/cat.nodeattrs::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.nodeattrs@200' + /_cat/nodes: + get: + operationId: cat.nodes.0 + x-operation-group: cat.nodes + x-version-added: '1.0' + description: Returns basic statistics about performance of cluster nodes. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-nodes/ + parameters: + - $ref: '#/components/parameters/cat.nodes::query.bytes' + - $ref: '#/components/parameters/cat.nodes::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cat.nodes::query.format' + - $ref: '#/components/parameters/cat.nodes::query.full_id' + - $ref: '#/components/parameters/cat.nodes::query.h' + - $ref: '#/components/parameters/cat.nodes::query.help' + - $ref: '#/components/parameters/cat.nodes::query.local' + - $ref: '#/components/parameters/cat.nodes::query.master_timeout' + - $ref: '#/components/parameters/cat.nodes::query.s' + - $ref: '#/components/parameters/cat.nodes::query.time' + - $ref: '#/components/parameters/cat.nodes::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.nodes@200' + /_cat/pending_tasks: + get: + operationId: cat.pending_tasks.0 + x-operation-group: cat.pending_tasks + x-version-added: '1.0' + description: Returns a concise representation of the cluster pending tasks. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-pending-tasks/ + parameters: + - $ref: '#/components/parameters/cat.pending_tasks::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cat.pending_tasks::query.format' + - $ref: '#/components/parameters/cat.pending_tasks::query.h' + - $ref: '#/components/parameters/cat.pending_tasks::query.help' + - $ref: '#/components/parameters/cat.pending_tasks::query.local' + - $ref: '#/components/parameters/cat.pending_tasks::query.master_timeout' + - $ref: '#/components/parameters/cat.pending_tasks::query.s' + - $ref: '#/components/parameters/cat.pending_tasks::query.time' + - $ref: '#/components/parameters/cat.pending_tasks::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.pending_tasks@200' + /_cat/pit_segments: + get: + operationId: cat.pit_segments.0 + x-operation-group: cat.pit_segments + x-version-added: '2.4' + description: List segments for one or several PITs. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/point-in-time-api/ + parameters: + - $ref: '#/components/parameters/cat.pit_segments::query.bytes' + - $ref: '#/components/parameters/cat.pit_segments::query.format' + - $ref: '#/components/parameters/cat.pit_segments::query.h' + - $ref: '#/components/parameters/cat.pit_segments::query.help' + - $ref: '#/components/parameters/cat.pit_segments::query.s' + - $ref: '#/components/parameters/cat.pit_segments::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/cat.pit_segments' + responses: + '200': + $ref: '#/components/responses/cat.pit_segments@200' + /_cat/pit_segments/_all: + get: + operationId: cat.all_pit_segments.0 + x-operation-group: cat.all_pit_segments + x-version-added: '2.4' + description: Lists all active point-in-time segments. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/point-in-time-api/ + parameters: + - $ref: '#/components/parameters/cat.all_pit_segments::query.bytes' + - $ref: '#/components/parameters/cat.all_pit_segments::query.format' + - $ref: '#/components/parameters/cat.all_pit_segments::query.h' + - $ref: '#/components/parameters/cat.all_pit_segments::query.help' + - $ref: '#/components/parameters/cat.all_pit_segments::query.s' + - $ref: '#/components/parameters/cat.all_pit_segments::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.all_pit_segments@200' + /_cat/plugins: + get: + operationId: cat.plugins.0 + x-operation-group: cat.plugins + x-version-added: '1.0' + description: Returns information about installed plugins across nodes node. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-plugins/ + parameters: + - $ref: '#/components/parameters/cat.plugins::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cat.plugins::query.format' + - $ref: '#/components/parameters/cat.plugins::query.h' + - $ref: '#/components/parameters/cat.plugins::query.help' + - $ref: '#/components/parameters/cat.plugins::query.local' + - $ref: '#/components/parameters/cat.plugins::query.master_timeout' + - $ref: '#/components/parameters/cat.plugins::query.s' + - $ref: '#/components/parameters/cat.plugins::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.plugins@200' + /_cat/recovery: + get: + operationId: cat.recovery.0 + x-operation-group: cat.recovery + x-version-added: '1.0' + description: Returns information about index shard recoveries, both on-going completed. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-plugins/ + parameters: + - $ref: '#/components/parameters/cat.recovery::query.active_only' + - $ref: '#/components/parameters/cat.recovery::query.bytes' + - $ref: '#/components/parameters/cat.recovery::query.detailed' + - $ref: '#/components/parameters/cat.recovery::query.format' + - $ref: '#/components/parameters/cat.recovery::query.h' + - $ref: '#/components/parameters/cat.recovery::query.help' + - $ref: '#/components/parameters/cat.recovery::query.index' + - $ref: '#/components/parameters/cat.recovery::query.s' + - $ref: '#/components/parameters/cat.recovery::query.time' + - $ref: '#/components/parameters/cat.recovery::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.recovery@200' + /_cat/recovery/{index}: + get: + operationId: cat.recovery.1 + x-operation-group: cat.recovery + x-version-added: '1.0' + description: Returns information about index shard recoveries, both on-going completed. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-plugins/ + parameters: + - $ref: '#/components/parameters/cat.recovery::path.index' + - $ref: '#/components/parameters/cat.recovery::query.active_only' + - $ref: '#/components/parameters/cat.recovery::query.bytes' + - $ref: '#/components/parameters/cat.recovery::query.detailed' + - $ref: '#/components/parameters/cat.recovery::query.format' + - $ref: '#/components/parameters/cat.recovery::query.h' + - $ref: '#/components/parameters/cat.recovery::query.help' + - $ref: '#/components/parameters/cat.recovery::query.index' + - $ref: '#/components/parameters/cat.recovery::query.s' + - $ref: '#/components/parameters/cat.recovery::query.time' + - $ref: '#/components/parameters/cat.recovery::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.recovery@200' + /_cat/repositories: + get: + operationId: cat.repositories.0 + x-operation-group: cat.repositories + x-version-added: '1.0' + description: Returns information about snapshot repositories registered in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-repositories/ + parameters: + - $ref: '#/components/parameters/cat.repositories::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cat.repositories::query.format' + - $ref: '#/components/parameters/cat.repositories::query.h' + - $ref: '#/components/parameters/cat.repositories::query.help' + - $ref: '#/components/parameters/cat.repositories::query.local' + - $ref: '#/components/parameters/cat.repositories::query.master_timeout' + - $ref: '#/components/parameters/cat.repositories::query.s' + - $ref: '#/components/parameters/cat.repositories::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.repositories@200' + /_cat/segment_replication: + get: + operationId: cat.segment_replication.0 + x-operation-group: cat.segment_replication + x-version-added: '2.6' + description: Returns information about both on-going and latest completed Segment Replication events. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-segment-replication/ + parameters: + - $ref: '#/components/parameters/cat.segment_replication::query.active_only' + - $ref: '#/components/parameters/cat.segment_replication::query.allow_no_indices' + - $ref: '#/components/parameters/cat.segment_replication::query.bytes' + - $ref: '#/components/parameters/cat.segment_replication::query.completed_only' + - $ref: '#/components/parameters/cat.segment_replication::query.detailed' + - $ref: '#/components/parameters/cat.segment_replication::query.expand_wildcards' + - $ref: '#/components/parameters/cat.segment_replication::query.format' + - $ref: '#/components/parameters/cat.segment_replication::query.h' + - $ref: '#/components/parameters/cat.segment_replication::query.help' + - $ref: '#/components/parameters/cat.segment_replication::query.ignore_throttled' + - $ref: '#/components/parameters/cat.segment_replication::query.ignore_unavailable' + - $ref: '#/components/parameters/cat.segment_replication::query.index' + - $ref: '#/components/parameters/cat.segment_replication::query.s' + - $ref: '#/components/parameters/cat.segment_replication::query.shards' + - $ref: '#/components/parameters/cat.segment_replication::query.time' + - $ref: '#/components/parameters/cat.segment_replication::query.timeout' + - $ref: '#/components/parameters/cat.segment_replication::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.segment_replication@200' + /_cat/segment_replication/{index}: + get: + operationId: cat.segment_replication.1 + x-operation-group: cat.segment_replication + x-version-added: '2.6' + description: Returns information about both on-going and latest completed Segment Replication events. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-segment-replication/ + parameters: + - $ref: '#/components/parameters/cat.segment_replication::path.index' + - $ref: '#/components/parameters/cat.segment_replication::query.active_only' + - $ref: '#/components/parameters/cat.segment_replication::query.allow_no_indices' + - $ref: '#/components/parameters/cat.segment_replication::query.bytes' + - $ref: '#/components/parameters/cat.segment_replication::query.completed_only' + - $ref: '#/components/parameters/cat.segment_replication::query.detailed' + - $ref: '#/components/parameters/cat.segment_replication::query.expand_wildcards' + - $ref: '#/components/parameters/cat.segment_replication::query.format' + - $ref: '#/components/parameters/cat.segment_replication::query.h' + - $ref: '#/components/parameters/cat.segment_replication::query.help' + - $ref: '#/components/parameters/cat.segment_replication::query.ignore_throttled' + - $ref: '#/components/parameters/cat.segment_replication::query.ignore_unavailable' + - $ref: '#/components/parameters/cat.segment_replication::query.index' + - $ref: '#/components/parameters/cat.segment_replication::query.s' + - $ref: '#/components/parameters/cat.segment_replication::query.shards' + - $ref: '#/components/parameters/cat.segment_replication::query.time' + - $ref: '#/components/parameters/cat.segment_replication::query.timeout' + - $ref: '#/components/parameters/cat.segment_replication::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.segment_replication@200' + /_cat/segments: + get: + operationId: cat.segments.0 + x-operation-group: cat.segments + x-version-added: '1.0' + description: Provides low-level information about the segments in the shards of an index. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-segments/ + parameters: + - $ref: '#/components/parameters/cat.segments::query.bytes' + - $ref: '#/components/parameters/cat.segments::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cat.segments::query.format' + - $ref: '#/components/parameters/cat.segments::query.h' + - $ref: '#/components/parameters/cat.segments::query.help' + - $ref: '#/components/parameters/cat.segments::query.master_timeout' + - $ref: '#/components/parameters/cat.segments::query.s' + - $ref: '#/components/parameters/cat.segments::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.segments@200' + /_cat/segments/{index}: + get: + operationId: cat.segments.1 + x-operation-group: cat.segments + x-version-added: '1.0' + description: Provides low-level information about the segments in the shards of an index. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-segments/ + parameters: + - $ref: '#/components/parameters/cat.segments::path.index' + - $ref: '#/components/parameters/cat.segments::query.bytes' + - $ref: '#/components/parameters/cat.segments::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cat.segments::query.format' + - $ref: '#/components/parameters/cat.segments::query.h' + - $ref: '#/components/parameters/cat.segments::query.help' + - $ref: '#/components/parameters/cat.segments::query.master_timeout' + - $ref: '#/components/parameters/cat.segments::query.s' + - $ref: '#/components/parameters/cat.segments::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.segments@200' + /_cat/shards: + get: + operationId: cat.shards.0 + x-operation-group: cat.shards + x-version-added: '1.0' + description: Provides a detailed view of shard allocation on nodes. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-shards/ + parameters: + - $ref: '#/components/parameters/cat.shards::query.bytes' + - $ref: '#/components/parameters/cat.shards::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cat.shards::query.format' + - $ref: '#/components/parameters/cat.shards::query.h' + - $ref: '#/components/parameters/cat.shards::query.help' + - $ref: '#/components/parameters/cat.shards::query.local' + - $ref: '#/components/parameters/cat.shards::query.master_timeout' + - $ref: '#/components/parameters/cat.shards::query.s' + - $ref: '#/components/parameters/cat.shards::query.time' + - $ref: '#/components/parameters/cat.shards::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.shards@200' + /_cat/shards/{index}: + get: + operationId: cat.shards.1 + x-operation-group: cat.shards + x-version-added: '1.0' + description: Provides a detailed view of shard allocation on nodes. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-shards/ + parameters: + - $ref: '#/components/parameters/cat.shards::path.index' + - $ref: '#/components/parameters/cat.shards::query.bytes' + - $ref: '#/components/parameters/cat.shards::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cat.shards::query.format' + - $ref: '#/components/parameters/cat.shards::query.h' + - $ref: '#/components/parameters/cat.shards::query.help' + - $ref: '#/components/parameters/cat.shards::query.local' + - $ref: '#/components/parameters/cat.shards::query.master_timeout' + - $ref: '#/components/parameters/cat.shards::query.s' + - $ref: '#/components/parameters/cat.shards::query.time' + - $ref: '#/components/parameters/cat.shards::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.shards@200' + /_cat/snapshots: + get: + operationId: cat.snapshots.0 + x-operation-group: cat.snapshots + x-version-added: '1.0' + description: Returns all snapshots in a specific repository. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-snapshots/ + parameters: + - $ref: '#/components/parameters/cat.snapshots::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cat.snapshots::query.format' + - $ref: '#/components/parameters/cat.snapshots::query.h' + - $ref: '#/components/parameters/cat.snapshots::query.help' + - $ref: '#/components/parameters/cat.snapshots::query.ignore_unavailable' + - $ref: '#/components/parameters/cat.snapshots::query.master_timeout' + - $ref: '#/components/parameters/cat.snapshots::query.s' + - $ref: '#/components/parameters/cat.snapshots::query.time' + - $ref: '#/components/parameters/cat.snapshots::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.snapshots@200' + /_cat/snapshots/{repository}: + get: + operationId: cat.snapshots.1 + x-operation-group: cat.snapshots + x-version-added: '1.0' + description: Returns all snapshots in a specific repository. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-snapshots/ + parameters: + - $ref: '#/components/parameters/cat.snapshots::path.repository' + - $ref: '#/components/parameters/cat.snapshots::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cat.snapshots::query.format' + - $ref: '#/components/parameters/cat.snapshots::query.h' + - $ref: '#/components/parameters/cat.snapshots::query.help' + - $ref: '#/components/parameters/cat.snapshots::query.ignore_unavailable' + - $ref: '#/components/parameters/cat.snapshots::query.master_timeout' + - $ref: '#/components/parameters/cat.snapshots::query.s' + - $ref: '#/components/parameters/cat.snapshots::query.time' + - $ref: '#/components/parameters/cat.snapshots::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.snapshots@200' + /_cat/tasks: + get: + operationId: cat.tasks.0 + x-operation-group: cat.tasks + x-version-added: '1.0' + description: Returns information about the tasks currently executing on one or more nodes in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-tasks/ + parameters: + - $ref: '#/components/parameters/cat.tasks::query.actions' + - $ref: '#/components/parameters/cat.tasks::query.detailed' + - $ref: '#/components/parameters/cat.tasks::query.format' + - $ref: '#/components/parameters/cat.tasks::query.h' + - $ref: '#/components/parameters/cat.tasks::query.help' + - $ref: '#/components/parameters/cat.tasks::query.nodes' + - $ref: '#/components/parameters/cat.tasks::query.parent_task_id' + - $ref: '#/components/parameters/cat.tasks::query.s' + - $ref: '#/components/parameters/cat.tasks::query.time' + - $ref: '#/components/parameters/cat.tasks::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.tasks@200' + /_cat/templates: + get: + operationId: cat.templates.0 + x-operation-group: cat.templates + x-version-added: '1.0' + description: Returns information about existing templates. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-templates/ + parameters: + - $ref: '#/components/parameters/cat.templates::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cat.templates::query.format' + - $ref: '#/components/parameters/cat.templates::query.h' + - $ref: '#/components/parameters/cat.templates::query.help' + - $ref: '#/components/parameters/cat.templates::query.local' + - $ref: '#/components/parameters/cat.templates::query.master_timeout' + - $ref: '#/components/parameters/cat.templates::query.s' + - $ref: '#/components/parameters/cat.templates::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.templates@200' + /_cat/templates/{name}: + get: + operationId: cat.templates.1 + x-operation-group: cat.templates + x-version-added: '1.0' + description: Returns information about existing templates. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-templates/ + parameters: + - $ref: '#/components/parameters/cat.templates::path.name' + - $ref: '#/components/parameters/cat.templates::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cat.templates::query.format' + - $ref: '#/components/parameters/cat.templates::query.h' + - $ref: '#/components/parameters/cat.templates::query.help' + - $ref: '#/components/parameters/cat.templates::query.local' + - $ref: '#/components/parameters/cat.templates::query.master_timeout' + - $ref: '#/components/parameters/cat.templates::query.s' + - $ref: '#/components/parameters/cat.templates::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.templates@200' + /_cat/thread_pool: + get: + operationId: cat.thread_pool.0 + x-operation-group: cat.thread_pool + x-version-added: '1.0' + description: |- + Returns cluster-wide thread pool statistics per node. + By default the active, queue and rejected statistics are returned for all thread pools. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-thread-pool/ + parameters: + - $ref: '#/components/parameters/cat.thread_pool::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cat.thread_pool::query.format' + - $ref: '#/components/parameters/cat.thread_pool::query.h' + - $ref: '#/components/parameters/cat.thread_pool::query.help' + - $ref: '#/components/parameters/cat.thread_pool::query.local' + - $ref: '#/components/parameters/cat.thread_pool::query.master_timeout' + - $ref: '#/components/parameters/cat.thread_pool::query.s' + - $ref: '#/components/parameters/cat.thread_pool::query.size' + - $ref: '#/components/parameters/cat.thread_pool::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.thread_pool@200' + /_cat/thread_pool/{thread_pool_patterns}: + get: + operationId: cat.thread_pool.1 + x-operation-group: cat.thread_pool + x-version-added: '1.0' + description: |- + Returns cluster-wide thread pool statistics per node. + By default the active, queue and rejected statistics are returned for all thread pools. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cat/cat-thread-pool/ + parameters: + - $ref: '#/components/parameters/cat.thread_pool::path.thread_pool_patterns' + - $ref: '#/components/parameters/cat.thread_pool::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cat.thread_pool::query.format' + - $ref: '#/components/parameters/cat.thread_pool::query.h' + - $ref: '#/components/parameters/cat.thread_pool::query.help' + - $ref: '#/components/parameters/cat.thread_pool::query.local' + - $ref: '#/components/parameters/cat.thread_pool::query.master_timeout' + - $ref: '#/components/parameters/cat.thread_pool::query.s' + - $ref: '#/components/parameters/cat.thread_pool::query.size' + - $ref: '#/components/parameters/cat.thread_pool::query.v' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cat.thread_pool@200' + /_cluster/allocation/explain: + get: + operationId: cluster.allocation_explain.0 + x-operation-group: cluster.allocation_explain + x-version-added: '1.0' + description: Provides explanations for shard allocations in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-allocation/ + parameters: + - $ref: '#/components/parameters/cluster.allocation_explain::query.include_disk_info' + - $ref: '#/components/parameters/cluster.allocation_explain::query.include_yes_decisions' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/cluster.allocation_explain' + responses: + '200': + $ref: '#/components/responses/cluster.allocation_explain@200' + post: + operationId: cluster.allocation_explain.1 + x-operation-group: cluster.allocation_explain + x-version-added: '1.0' + description: Provides explanations for shard allocations in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-allocation/ + parameters: + - $ref: '#/components/parameters/cluster.allocation_explain::query.include_disk_info' + - $ref: '#/components/parameters/cluster.allocation_explain::query.include_yes_decisions' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/cluster.allocation_explain' + responses: + '200': + $ref: '#/components/responses/cluster.allocation_explain@200' + /_cluster/decommission/awareness: + delete: + operationId: cluster.delete_decommission_awareness.0 + x-operation-group: cluster.delete_decommission_awareness + x-version-added: '1.0' + description: Delete any existing decommission. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-decommission/#example-decommissioning-and-recommissioning-a-zone + responses: + '200': + $ref: '#/components/responses/cluster.delete_decommission_awareness@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_cluster/decommission/awareness/{awareness_attribute_name}/_status: + get: + operationId: cluster.get_decommission_awareness.0 + x-operation-group: cluster.get_decommission_awareness + x-version-added: '1.0' + description: Get details and status of decommissioned attribute. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-decommission/#example-getting-zone-decommission-status + parameters: + - $ref: '#/components/parameters/cluster.get_decommission_awareness::path.awareness_attribute_name' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cluster.get_decommission_awareness@200' + /_cluster/decommission/awareness/{awareness_attribute_name}/{awareness_attribute_value}: + put: + operationId: cluster.put_decommission_awareness.0 + x-operation-group: cluster.put_decommission_awareness + x-version-added: '1.0' + description: Decommissions an awareness attribute. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-decommission/#example-decommissioning-and-recommissioning-a-zone + parameters: + - $ref: '#/components/parameters/cluster.put_decommission_awareness::path.awareness_attribute_name' + - $ref: '#/components/parameters/cluster.put_decommission_awareness::path.awareness_attribute_value' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cluster.put_decommission_awareness@200' + /_cluster/health: + get: + operationId: cluster.health.0 + x-operation-group: cluster.health + x-version-added: '1.0' + description: Returns basic information about the health of the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-health/ + parameters: + - $ref: '#/components/parameters/cluster.health::query.awareness_attribute' + - $ref: '#/components/parameters/cluster.health::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cluster.health::query.expand_wildcards' + - $ref: '#/components/parameters/cluster.health::query.level' + - $ref: '#/components/parameters/cluster.health::query.local' + - $ref: '#/components/parameters/cluster.health::query.master_timeout' + - $ref: '#/components/parameters/cluster.health::query.timeout' + - $ref: '#/components/parameters/cluster.health::query.wait_for_active_shards' + - $ref: '#/components/parameters/cluster.health::query.wait_for_events' + - $ref: '#/components/parameters/cluster.health::query.wait_for_no_initializing_shards' + - $ref: '#/components/parameters/cluster.health::query.wait_for_no_relocating_shards' + - $ref: '#/components/parameters/cluster.health::query.wait_for_nodes' + - $ref: '#/components/parameters/cluster.health::query.wait_for_status' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cluster.health@200' + /_cluster/health/{index}: + get: + operationId: cluster.health.1 + x-operation-group: cluster.health + x-version-added: '1.0' + description: Returns basic information about the health of the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-health/ + parameters: + - $ref: '#/components/parameters/cluster.health::path.index' + - $ref: '#/components/parameters/cluster.health::query.awareness_attribute' + - $ref: '#/components/parameters/cluster.health::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cluster.health::query.expand_wildcards' + - $ref: '#/components/parameters/cluster.health::query.level' + - $ref: '#/components/parameters/cluster.health::query.local' + - $ref: '#/components/parameters/cluster.health::query.master_timeout' + - $ref: '#/components/parameters/cluster.health::query.timeout' + - $ref: '#/components/parameters/cluster.health::query.wait_for_active_shards' + - $ref: '#/components/parameters/cluster.health::query.wait_for_events' + - $ref: '#/components/parameters/cluster.health::query.wait_for_no_initializing_shards' + - $ref: '#/components/parameters/cluster.health::query.wait_for_no_relocating_shards' + - $ref: '#/components/parameters/cluster.health::query.wait_for_nodes' + - $ref: '#/components/parameters/cluster.health::query.wait_for_status' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cluster.health@200' + /_cluster/nodes/{node_id}/hot_threads: + get: + operationId: nodes.hot_threads.2 + x-operation-group: nodes.hot_threads + x-ignorable: true + deprecated: true + x-deprecation-message: The hot accepts /_cluster/nodes as prefix for backwards compatibility reasons + x-version-added: '1.0' + x-version-deprecated: '1.0' + description: Returns information about hot threads on each node in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-hot-threads/ + parameters: + - $ref: '#/components/parameters/nodes.hot_threads::path.node_id' + - $ref: '#/components/parameters/nodes.hot_threads::query.ignore_idle_threads' + - $ref: '#/components/parameters/nodes.hot_threads::query.interval' + - $ref: '#/components/parameters/nodes.hot_threads::query.snapshots' + - $ref: '#/components/parameters/nodes.hot_threads::query.threads' + - $ref: '#/components/parameters/nodes.hot_threads::query.timeout' + - $ref: '#/components/parameters/nodes.hot_threads::query.type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/nodes.hot_threads@200' + /_cluster/nodes/{node_id}/hotthreads: + get: + operationId: nodes.hot_threads.3 + x-operation-group: nodes.hot_threads + x-ignorable: true + deprecated: true + x-deprecation-message: The hot threads API accepts `hotthreads` but only `hot_threads` is documented + x-version-added: '1.0' + x-version-deprecated: '1.0' + description: Returns information about hot threads on each node in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-hot-threads/ + parameters: + - $ref: '#/components/parameters/nodes.hot_threads::path.node_id' + - $ref: '#/components/parameters/nodes.hot_threads::query.ignore_idle_threads' + - $ref: '#/components/parameters/nodes.hot_threads::query.interval' + - $ref: '#/components/parameters/nodes.hot_threads::query.snapshots' + - $ref: '#/components/parameters/nodes.hot_threads::query.threads' + - $ref: '#/components/parameters/nodes.hot_threads::query.timeout' + - $ref: '#/components/parameters/nodes.hot_threads::query.type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/nodes.hot_threads@200' + /_cluster/nodes/hot_threads: + get: + operationId: nodes.hot_threads.0 + x-operation-group: nodes.hot_threads + x-ignorable: true + deprecated: true + x-deprecation-message: The hot accepts /_cluster/nodes as prefix for backwards compatibility reasons + x-version-added: '1.0' + x-version-deprecated: '1.0' + description: Returns information about hot threads on each node in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-hot-threads/ + parameters: + - $ref: '#/components/parameters/nodes.hot_threads::query.ignore_idle_threads' + - $ref: '#/components/parameters/nodes.hot_threads::query.interval' + - $ref: '#/components/parameters/nodes.hot_threads::query.snapshots' + - $ref: '#/components/parameters/nodes.hot_threads::query.threads' + - $ref: '#/components/parameters/nodes.hot_threads::query.timeout' + - $ref: '#/components/parameters/nodes.hot_threads::query.type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/nodes.hot_threads@200' + /_cluster/nodes/hotthreads: + get: + operationId: nodes.hot_threads.1 + x-operation-group: nodes.hot_threads + x-ignorable: true + deprecated: true + x-deprecation-message: The hot threads API accepts `hotthreads` but only `hot_threads` is documented + x-version-added: '1.0' + x-version-deprecated: '1.0' + description: Returns information about hot threads on each node in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-hot-threads/ + parameters: + - $ref: '#/components/parameters/nodes.hot_threads::query.ignore_idle_threads' + - $ref: '#/components/parameters/nodes.hot_threads::query.interval' + - $ref: '#/components/parameters/nodes.hot_threads::query.snapshots' + - $ref: '#/components/parameters/nodes.hot_threads::query.threads' + - $ref: '#/components/parameters/nodes.hot_threads::query.timeout' + - $ref: '#/components/parameters/nodes.hot_threads::query.type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/nodes.hot_threads@200' + /_cluster/pending_tasks: + get: + operationId: cluster.pending_tasks.0 + x-operation-group: cluster.pending_tasks + x-version-added: '1.0' + description: |- + Returns a list of any cluster-level changes (e.g. create index, update mapping, + allocate or fail shard) which have not yet been executed. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/cluster.pending_tasks::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cluster.pending_tasks::query.local' + - $ref: '#/components/parameters/cluster.pending_tasks::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cluster.pending_tasks@200' + /_cluster/reroute: + post: + operationId: cluster.reroute.0 + x-operation-group: cluster.reroute + x-version-added: '1.0' + description: Allows to manually change the allocation of individual shards in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/cluster.reroute::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cluster.reroute::query.dry_run' + - $ref: '#/components/parameters/cluster.reroute::query.explain' + - $ref: '#/components/parameters/cluster.reroute::query.master_timeout' + - $ref: '#/components/parameters/cluster.reroute::query.metric' + - $ref: '#/components/parameters/cluster.reroute::query.retry_failed' + - $ref: '#/components/parameters/cluster.reroute::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/cluster.reroute' + responses: + '200': + $ref: '#/components/responses/cluster.reroute@200' + /_cluster/routing/awareness/{attribute}/weights: + get: + operationId: cluster.get_weighted_routing.0 + x-operation-group: cluster.get_weighted_routing + x-version-added: '1.0' + description: Fetches weighted shard routing weights. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-awareness/#example-getting-weights-for-all-zones + parameters: + - $ref: '#/components/parameters/cluster.get_weighted_routing::path.attribute' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cluster.get_weighted_routing@200' + put: + operationId: cluster.put_weighted_routing.0 + x-operation-group: cluster.put_weighted_routing + x-version-added: '1.0' + description: Updates weighted shard routing weights. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-awareness/#example-weighted-round-robin-search + parameters: + - $ref: '#/components/parameters/cluster.put_weighted_routing::path.attribute' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cluster.put_weighted_routing@200' + /_cluster/routing/awareness/weights: + delete: + operationId: cluster.delete_weighted_routing.0 + x-operation-group: cluster.delete_weighted_routing + x-version-added: '1.0' + description: Delete weighted shard routing weights. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-awareness/#example-deleting-weights + responses: + '200': + $ref: '#/components/responses/cluster.delete_weighted_routing@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_cluster/settings: + get: + operationId: cluster.get_settings.0 + x-operation-group: cluster.get_settings + x-version-added: '1.0' + description: Returns cluster settings. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-settings/ + parameters: + - $ref: '#/components/parameters/cluster.get_settings::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cluster.get_settings::query.flat_settings' + - $ref: '#/components/parameters/cluster.get_settings::query.include_defaults' + - $ref: '#/components/parameters/cluster.get_settings::query.master_timeout' + - $ref: '#/components/parameters/cluster.get_settings::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cluster.get_settings@200' + put: + operationId: cluster.put_settings.0 + x-operation-group: cluster.put_settings + x-version-added: '1.0' + description: Updates the cluster settings. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cluster-settings/ + parameters: + - $ref: '#/components/parameters/cluster.put_settings::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cluster.put_settings::query.flat_settings' + - $ref: '#/components/parameters/cluster.put_settings::query.master_timeout' + - $ref: '#/components/parameters/cluster.put_settings::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/cluster.put_settings' + responses: + '200': + $ref: '#/components/responses/cluster.put_settings@200' + /_cluster/state: + get: + operationId: cluster.state.0 + x-operation-group: cluster.state + x-version-added: '1.0' + description: Returns a comprehensive information about the state of the cluster. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/cluster.state::query.allow_no_indices' + - $ref: '#/components/parameters/cluster.state::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cluster.state::query.expand_wildcards' + - $ref: '#/components/parameters/cluster.state::query.flat_settings' + - $ref: '#/components/parameters/cluster.state::query.ignore_unavailable' + - $ref: '#/components/parameters/cluster.state::query.local' + - $ref: '#/components/parameters/cluster.state::query.master_timeout' + - $ref: '#/components/parameters/cluster.state::query.wait_for_metadata_version' + - $ref: '#/components/parameters/cluster.state::query.wait_for_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cluster.state@200' + /_cluster/state/{metric}: + get: + operationId: cluster.state.1 + x-operation-group: cluster.state + x-version-added: '1.0' + description: Returns a comprehensive information about the state of the cluster. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/cluster.state::path.metric' + - $ref: '#/components/parameters/cluster.state::query.allow_no_indices' + - $ref: '#/components/parameters/cluster.state::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cluster.state::query.expand_wildcards' + - $ref: '#/components/parameters/cluster.state::query.flat_settings' + - $ref: '#/components/parameters/cluster.state::query.ignore_unavailable' + - $ref: '#/components/parameters/cluster.state::query.local' + - $ref: '#/components/parameters/cluster.state::query.master_timeout' + - $ref: '#/components/parameters/cluster.state::query.wait_for_metadata_version' + - $ref: '#/components/parameters/cluster.state::query.wait_for_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cluster.state@200' + /_cluster/state/{metric}/{index}: + get: + operationId: cluster.state.2 + x-operation-group: cluster.state + x-version-added: '1.0' + description: Returns a comprehensive information about the state of the cluster. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/cluster.state::path.index' + - $ref: '#/components/parameters/cluster.state::path.metric' + - $ref: '#/components/parameters/cluster.state::query.allow_no_indices' + - $ref: '#/components/parameters/cluster.state::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cluster.state::query.expand_wildcards' + - $ref: '#/components/parameters/cluster.state::query.flat_settings' + - $ref: '#/components/parameters/cluster.state::query.ignore_unavailable' + - $ref: '#/components/parameters/cluster.state::query.local' + - $ref: '#/components/parameters/cluster.state::query.master_timeout' + - $ref: '#/components/parameters/cluster.state::query.wait_for_metadata_version' + - $ref: '#/components/parameters/cluster.state::query.wait_for_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cluster.state@200' + /_cluster/stats: + get: + operationId: cluster.stats.0 + x-operation-group: cluster.stats + x-version-added: '1.0' + description: Returns high-level overview of cluster statistics. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-stats/ + parameters: + - $ref: '#/components/parameters/cluster.stats::query.flat_settings' + - $ref: '#/components/parameters/cluster.stats::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cluster.stats@200' + /_cluster/stats/nodes/{node_id}: + get: + operationId: cluster.stats.1 + x-operation-group: cluster.stats + x-version-added: '1.0' + description: Returns high-level overview of cluster statistics. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-stats/ + parameters: + - $ref: '#/components/parameters/cluster.stats::path.node_id' + - $ref: '#/components/parameters/cluster.stats::query.flat_settings' + - $ref: '#/components/parameters/cluster.stats::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cluster.stats@200' + /_cluster/voting_config_exclusions: + delete: + operationId: cluster.delete_voting_config_exclusions.0 + x-operation-group: cluster.delete_voting_config_exclusions + x-version-added: '1.0' + description: Clears cluster voting config exclusions. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/cluster.delete_voting_config_exclusions::query.wait_for_removal' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cluster.delete_voting_config_exclusions@200' + post: + operationId: cluster.post_voting_config_exclusions.0 + x-operation-group: cluster.post_voting_config_exclusions + x-version-added: '1.0' + description: Updates the cluster voting config exclusions by node ids or node names. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/cluster.post_voting_config_exclusions::query.node_ids' + - $ref: '#/components/parameters/cluster.post_voting_config_exclusions::query.node_names' + - $ref: '#/components/parameters/cluster.post_voting_config_exclusions::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cluster.post_voting_config_exclusions@200' + /_component_template: + get: + operationId: cluster.get_component_template.0 + x-operation-group: cluster.get_component_template + x-version-added: '1.0' + description: Returns one or more component templates. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/cluster.get_component_template::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cluster.get_component_template::query.local' + - $ref: '#/components/parameters/cluster.get_component_template::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cluster.get_component_template@200' + /_component_template/{name}: + delete: + operationId: cluster.delete_component_template.0 + x-operation-group: cluster.delete_component_template + x-version-added: '1.0' + description: Deletes a component template. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/cluster.delete_component_template::path.name' + - $ref: '#/components/parameters/cluster.delete_component_template::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cluster.delete_component_template::query.master_timeout' + - $ref: '#/components/parameters/cluster.delete_component_template::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cluster.delete_component_template@200' + get: + operationId: cluster.get_component_template.1 + x-operation-group: cluster.get_component_template + x-version-added: '1.0' + description: Returns one or more component templates. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/cluster.get_component_template::path.name' + - $ref: '#/components/parameters/cluster.get_component_template::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cluster.get_component_template::query.local' + - $ref: '#/components/parameters/cluster.get_component_template::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cluster.get_component_template@200' + head: + operationId: cluster.exists_component_template.0 + x-operation-group: cluster.exists_component_template + x-version-added: '1.0' + description: Returns information about whether a particular component template exist. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/cluster.exists_component_template::path.name' + - $ref: '#/components/parameters/cluster.exists_component_template::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cluster.exists_component_template::query.local' + - $ref: '#/components/parameters/cluster.exists_component_template::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cluster.exists_component_template@200' + post: + operationId: cluster.put_component_template.0 + x-operation-group: cluster.put_component_template + x-version-added: '1.0' + description: Creates or updates a component template. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-templates/#use-component-templates-to-create-an-index-template + parameters: + - $ref: '#/components/parameters/cluster.put_component_template::path.name' + - $ref: '#/components/parameters/cluster.put_component_template::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cluster.put_component_template::query.create' + - $ref: '#/components/parameters/cluster.put_component_template::query.master_timeout' + - $ref: '#/components/parameters/cluster.put_component_template::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/cluster.put_component_template' + responses: + '200': + $ref: '#/components/responses/cluster.put_component_template@200' + put: + operationId: cluster.put_component_template.1 + x-operation-group: cluster.put_component_template + x-version-added: '1.0' + description: Creates or updates a component template. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-templates/#use-component-templates-to-create-an-index-template + parameters: + - $ref: '#/components/parameters/cluster.put_component_template::path.name' + - $ref: '#/components/parameters/cluster.put_component_template::query.cluster_manager_timeout' + - $ref: '#/components/parameters/cluster.put_component_template::query.create' + - $ref: '#/components/parameters/cluster.put_component_template::query.master_timeout' + - $ref: '#/components/parameters/cluster.put_component_template::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/cluster.put_component_template' + responses: + '200': + $ref: '#/components/responses/cluster.put_component_template@200' + /_count: + get: + operationId: count.0 + x-operation-group: count + x-version-added: '1.0' + description: Returns number of documents matching a query. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/count/ + parameters: + - $ref: '#/components/parameters/count::query.allow_no_indices' + - $ref: '#/components/parameters/count::query.analyze_wildcard' + - $ref: '#/components/parameters/count::query.analyzer' + - $ref: '#/components/parameters/count::query.default_operator' + - $ref: '#/components/parameters/count::query.df' + - $ref: '#/components/parameters/count::query.expand_wildcards' + - $ref: '#/components/parameters/count::query.ignore_throttled' + - $ref: '#/components/parameters/count::query.ignore_unavailable' + - $ref: '#/components/parameters/count::query.lenient' + - $ref: '#/components/parameters/count::query.min_score' + - $ref: '#/components/parameters/count::query.preference' + - $ref: '#/components/parameters/count::query.q' + - $ref: '#/components/parameters/count::query.routing' + - $ref: '#/components/parameters/count::query.terminate_after' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/count' + responses: + '200': + $ref: '#/components/responses/count@200' + post: + operationId: count.1 + x-operation-group: count + x-version-added: '1.0' + description: Returns number of documents matching a query. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/count/ + parameters: + - $ref: '#/components/parameters/count::query.allow_no_indices' + - $ref: '#/components/parameters/count::query.analyze_wildcard' + - $ref: '#/components/parameters/count::query.analyzer' + - $ref: '#/components/parameters/count::query.default_operator' + - $ref: '#/components/parameters/count::query.df' + - $ref: '#/components/parameters/count::query.expand_wildcards' + - $ref: '#/components/parameters/count::query.ignore_throttled' + - $ref: '#/components/parameters/count::query.ignore_unavailable' + - $ref: '#/components/parameters/count::query.lenient' + - $ref: '#/components/parameters/count::query.min_score' + - $ref: '#/components/parameters/count::query.preference' + - $ref: '#/components/parameters/count::query.q' + - $ref: '#/components/parameters/count::query.routing' + - $ref: '#/components/parameters/count::query.terminate_after' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/count' + responses: + '200': + $ref: '#/components/responses/count@200' + /_dangling: + get: + operationId: dangling_indices.list_dangling_indices.0 + x-operation-group: dangling_indices.list_dangling_indices + x-version-added: '1.0' + description: Returns all dangling indices. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/dangling-index/ + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/dangling_indices.list_dangling_indices@200' + /_dangling/{index_uuid}: + delete: + operationId: dangling_indices.delete_dangling_index.0 + x-operation-group: dangling_indices.delete_dangling_index + x-version-added: '1.0' + description: Deletes the specified dangling index. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/dangling-index/ + parameters: + - $ref: '#/components/parameters/dangling_indices.delete_dangling_index::path.index_uuid' + - $ref: '#/components/parameters/dangling_indices.delete_dangling_index::query.accept_data_loss' + - $ref: '#/components/parameters/dangling_indices.delete_dangling_index::query.cluster_manager_timeout' + - $ref: '#/components/parameters/dangling_indices.delete_dangling_index::query.master_timeout' + - $ref: '#/components/parameters/dangling_indices.delete_dangling_index::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/dangling_indices.delete_dangling_index@200' + post: + operationId: dangling_indices.import_dangling_index.0 + x-operation-group: dangling_indices.import_dangling_index + x-version-added: '1.0' + description: Imports the specified dangling index. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/dangling-index/ + parameters: + - $ref: '#/components/parameters/dangling_indices.import_dangling_index::path.index_uuid' + - $ref: '#/components/parameters/dangling_indices.import_dangling_index::query.accept_data_loss' + - $ref: '#/components/parameters/dangling_indices.import_dangling_index::query.cluster_manager_timeout' + - $ref: '#/components/parameters/dangling_indices.import_dangling_index::query.master_timeout' + - $ref: '#/components/parameters/dangling_indices.import_dangling_index::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/dangling_indices.import_dangling_index@200' + /_data_stream: + get: + operationId: indices.get_data_stream.0 + x-operation-group: indices.get_data_stream + x-version-added: '1.0' + description: Returns data streams. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/data-streams/ + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.get_data_stream@200' + /_data_stream/_stats: + get: + operationId: indices.data_streams_stats.0 + x-operation-group: indices.data_streams_stats + x-version-added: '1.0' + description: Provides statistics on operations happening in a data stream. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/data-streams/ + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.data_streams_stats@200' + /_data_stream/{name}: + delete: + operationId: indices.delete_data_stream.0 + x-operation-group: indices.delete_data_stream + x-version-added: '1.0' + description: Deletes a data stream. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/data-streams/ + parameters: + - $ref: '#/components/parameters/indices.delete_data_stream::path.name' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.delete_data_stream@200' + get: + operationId: indices.get_data_stream.1 + x-operation-group: indices.get_data_stream + x-version-added: '1.0' + description: Returns data streams. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/data-streams/ + parameters: + - $ref: '#/components/parameters/indices.get_data_stream::path.name' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.get_data_stream@200' + put: + operationId: indices.create_data_stream.0 + x-operation-group: indices.create_data_stream + x-version-added: '1.0' + description: Creates or updates a data stream. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/data-streams/ + parameters: + - $ref: '#/components/parameters/indices.create_data_stream::path.name' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.create_data_stream' + responses: + '200': + $ref: '#/components/responses/indices.create_data_stream@200' + /_data_stream/{name}/_stats: + get: + operationId: indices.data_streams_stats.1 + x-operation-group: indices.data_streams_stats + x-version-added: '1.0' + description: Provides statistics on operations happening in a data stream. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/data-streams/ + parameters: + - $ref: '#/components/parameters/indices.data_streams_stats::path.name' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.data_streams_stats@200' + /_delete_by_query/{task_id}/_rethrottle: + post: + operationId: delete_by_query_rethrottle.0 + x-operation-group: delete_by_query_rethrottle + x-version-added: '1.0' + description: Changes the number of requests per second for a particular Delete By Query operation. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/delete_by_query_rethrottle::path.task_id' + - $ref: '#/components/parameters/delete_by_query_rethrottle::query.requests_per_second' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/delete_by_query_rethrottle@200' + /_field_caps: + get: + operationId: field_caps.0 + x-operation-group: field_caps + x-version-added: '1.0' + description: Returns the information about the capabilities of fields among multiple indices. + externalDocs: + url: https://opensearch.org/docs/latest/field-types/supported-field-types/alias/#using-aliases-in-field-capabilities-api-operations + parameters: + - $ref: '#/components/parameters/field_caps::query.allow_no_indices' + - $ref: '#/components/parameters/field_caps::query.expand_wildcards' + - $ref: '#/components/parameters/field_caps::query.fields' + - $ref: '#/components/parameters/field_caps::query.ignore_unavailable' + - $ref: '#/components/parameters/field_caps::query.include_unmapped' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/field_caps' + responses: + '200': + $ref: '#/components/responses/field_caps@200' + post: + operationId: field_caps.1 + x-operation-group: field_caps + x-version-added: '1.0' + description: Returns the information about the capabilities of fields among multiple indices. + externalDocs: + url: https://opensearch.org/docs/latest/field-types/supported-field-types/alias/#using-aliases-in-field-capabilities-api-operations + parameters: + - $ref: '#/components/parameters/field_caps::query.allow_no_indices' + - $ref: '#/components/parameters/field_caps::query.expand_wildcards' + - $ref: '#/components/parameters/field_caps::query.fields' + - $ref: '#/components/parameters/field_caps::query.ignore_unavailable' + - $ref: '#/components/parameters/field_caps::query.include_unmapped' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/field_caps' + responses: + '200': + $ref: '#/components/responses/field_caps@200' + /_flush: + get: + operationId: indices.flush.0 + x-operation-group: indices.flush + x-version-added: '1.0' + description: Performs the flush operation on one or more indices. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.flush::query.allow_no_indices' + - $ref: '#/components/parameters/indices.flush::query.expand_wildcards' + - $ref: '#/components/parameters/indices.flush::query.force' + - $ref: '#/components/parameters/indices.flush::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.flush::query.wait_if_ongoing' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.flush@200' + post: + operationId: indices.flush.1 + x-operation-group: indices.flush + x-version-added: '1.0' + description: Performs the flush operation on one or more indices. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.flush::query.allow_no_indices' + - $ref: '#/components/parameters/indices.flush::query.expand_wildcards' + - $ref: '#/components/parameters/indices.flush::query.force' + - $ref: '#/components/parameters/indices.flush::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.flush::query.wait_if_ongoing' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.flush@200' + /_forcemerge: + post: + operationId: indices.forcemerge.0 + x-operation-group: indices.forcemerge + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Performs the force merge operation on one or more indices. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.forcemerge::query.allow_no_indices' + - $ref: '#/components/parameters/indices.forcemerge::query.expand_wildcards' + - $ref: '#/components/parameters/indices.forcemerge::query.flush' + - $ref: '#/components/parameters/indices.forcemerge::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.forcemerge::query.max_num_segments' + - $ref: '#/components/parameters/indices.forcemerge::query.only_expunge_deletes' + - $ref: '#/components/parameters/indices.forcemerge::query.primary_only' + - $ref: '#/components/parameters/indices.forcemerge::query.wait_for_completion' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.forcemerge@200' + /_index_template: + get: + operationId: indices.get_index_template.0 + x-operation-group: indices.get_index_template + x-version-added: '1.0' + description: Returns an index template. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-templates/ + parameters: + - $ref: '#/components/parameters/indices.get_index_template::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.get_index_template::query.flat_settings' + - $ref: '#/components/parameters/indices.get_index_template::query.local' + - $ref: '#/components/parameters/indices.get_index_template::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.get_index_template@200' + /_index_template/_simulate: + post: + operationId: indices.simulate_template.0 + x-operation-group: indices.simulate_template + x-version-added: '1.0' + description: Simulate resolving the given template name or body. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.simulate_template::query.cause' + - $ref: '#/components/parameters/indices.simulate_template::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.simulate_template::query.create' + - $ref: '#/components/parameters/indices.simulate_template::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.simulate_template' + responses: + '200': + $ref: '#/components/responses/indices.simulate_template@200' + /_index_template/_simulate_index/{name}: + post: + operationId: indices.simulate_index_template.0 + x-operation-group: indices.simulate_index_template + x-version-added: '1.0' + description: Simulate matching the given index name against the index templates in the system. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.simulate_index_template::path.name' + - $ref: '#/components/parameters/indices.simulate_index_template::query.cause' + - $ref: '#/components/parameters/indices.simulate_index_template::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.simulate_index_template::query.create' + - $ref: '#/components/parameters/indices.simulate_index_template::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.simulate_index_template' + responses: + '200': + $ref: '#/components/responses/indices.simulate_index_template@200' + /_index_template/_simulate/{name}: + post: + operationId: indices.simulate_template.1 + x-operation-group: indices.simulate_template + x-version-added: '1.0' + description: Simulate resolving the given template name or body. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.simulate_template::path.name' + - $ref: '#/components/parameters/indices.simulate_template::query.cause' + - $ref: '#/components/parameters/indices.simulate_template::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.simulate_template::query.create' + - $ref: '#/components/parameters/indices.simulate_template::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.simulate_template' + responses: + '200': + $ref: '#/components/responses/indices.simulate_template@200' + /_index_template/{name}: + delete: + operationId: indices.delete_index_template.0 + x-operation-group: indices.delete_index_template + x-version-added: '1.0' + description: Deletes an index template. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-templates/#delete-a-template + parameters: + - $ref: '#/components/parameters/indices.delete_index_template::path.name' + - $ref: '#/components/parameters/indices.delete_index_template::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.delete_index_template::query.master_timeout' + - $ref: '#/components/parameters/indices.delete_index_template::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.delete_index_template@200' + get: + operationId: indices.get_index_template.1 + x-operation-group: indices.get_index_template + x-version-added: '1.0' + description: Returns an index template. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-templates/ + parameters: + - $ref: '#/components/parameters/indices.get_index_template::path.name' + - $ref: '#/components/parameters/indices.get_index_template::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.get_index_template::query.flat_settings' + - $ref: '#/components/parameters/indices.get_index_template::query.local' + - $ref: '#/components/parameters/indices.get_index_template::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.get_index_template@200' + head: + operationId: indices.exists_index_template.0 + x-operation-group: indices.exists_index_template + x-version-added: '1.0' + description: Returns information about whether a particular index template exists. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-templates/ + parameters: + - $ref: '#/components/parameters/indices.exists_index_template::path.name' + - $ref: '#/components/parameters/indices.exists_index_template::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.exists_index_template::query.flat_settings' + - $ref: '#/components/parameters/indices.exists_index_template::query.local' + - $ref: '#/components/parameters/indices.exists_index_template::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.exists_index_template@200' + post: + operationId: indices.put_index_template.0 + x-operation-group: indices.put_index_template + x-version-added: '1.0' + description: Creates or updates an index template. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-templates/ + parameters: + - $ref: '#/components/parameters/indices.put_index_template::path.name' + - $ref: '#/components/parameters/indices.put_index_template::query.cause' + - $ref: '#/components/parameters/indices.put_index_template::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.put_index_template::query.create' + - $ref: '#/components/parameters/indices.put_index_template::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.put_index_template' + responses: + '200': + $ref: '#/components/responses/indices.put_index_template@200' + put: + operationId: indices.put_index_template.1 + x-operation-group: indices.put_index_template + x-version-added: '1.0' + description: Creates or updates an index template. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-templates/ + parameters: + - $ref: '#/components/parameters/indices.put_index_template::path.name' + - $ref: '#/components/parameters/indices.put_index_template::query.cause' + - $ref: '#/components/parameters/indices.put_index_template::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.put_index_template::query.create' + - $ref: '#/components/parameters/indices.put_index_template::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.put_index_template' + responses: + '200': + $ref: '#/components/responses/indices.put_index_template@200' + /_ingest/pipeline: + get: + operationId: ingest.get_pipeline.0 + x-operation-group: ingest.get_pipeline + x-version-added: '1.0' + description: Returns a pipeline. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/ingest-apis/get-ingest/ + parameters: + - $ref: '#/components/parameters/ingest.get_pipeline::query.cluster_manager_timeout' + - $ref: '#/components/parameters/ingest.get_pipeline::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/ingest.get_pipeline@200' + /_ingest/pipeline/_simulate: + get: + operationId: ingest.simulate.0 + x-operation-group: ingest.simulate + x-version-added: '1.0' + description: Allows to simulate a pipeline with example documents. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/ingest-apis/simulate-ingest/ + parameters: + - $ref: '#/components/parameters/ingest.simulate::query.verbose' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/ingest.simulate' + responses: + '200': + $ref: '#/components/responses/ingest.simulate@200' + post: + operationId: ingest.simulate.1 + x-operation-group: ingest.simulate + x-version-added: '1.0' + description: Allows to simulate a pipeline with example documents. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/ingest-apis/simulate-ingest/ + parameters: + - $ref: '#/components/parameters/ingest.simulate::query.verbose' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/ingest.simulate' + responses: + '200': + $ref: '#/components/responses/ingest.simulate@200' + /_ingest/pipeline/{id}: + delete: + operationId: ingest.delete_pipeline.0 + x-operation-group: ingest.delete_pipeline + x-version-added: '1.0' + description: Deletes a pipeline. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/ingest-apis/delete-ingest/ + parameters: + - $ref: '#/components/parameters/ingest.delete_pipeline::path.id' + - $ref: '#/components/parameters/ingest.delete_pipeline::query.cluster_manager_timeout' + - $ref: '#/components/parameters/ingest.delete_pipeline::query.master_timeout' + - $ref: '#/components/parameters/ingest.delete_pipeline::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/ingest.delete_pipeline@200' + get: + operationId: ingest.get_pipeline.1 + x-operation-group: ingest.get_pipeline + x-version-added: '1.0' + description: Returns a pipeline. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/ingest-apis/get-ingest/ + parameters: + - $ref: '#/components/parameters/ingest.get_pipeline::path.id' + - $ref: '#/components/parameters/ingest.get_pipeline::query.cluster_manager_timeout' + - $ref: '#/components/parameters/ingest.get_pipeline::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/ingest.get_pipeline@200' + put: + operationId: ingest.put_pipeline.0 + x-operation-group: ingest.put_pipeline + x-version-added: '1.0' + description: Creates or updates a pipeline. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/ingest-apis/create-update-ingest/ + parameters: + - $ref: '#/components/parameters/ingest.put_pipeline::path.id' + - $ref: '#/components/parameters/ingest.put_pipeline::query.cluster_manager_timeout' + - $ref: '#/components/parameters/ingest.put_pipeline::query.master_timeout' + - $ref: '#/components/parameters/ingest.put_pipeline::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/ingest.put_pipeline' + responses: + '200': + $ref: '#/components/responses/ingest.put_pipeline@200' + /_ingest/pipeline/{id}/_simulate: + get: + operationId: ingest.simulate.2 + x-operation-group: ingest.simulate + x-version-added: '1.0' + description: Allows to simulate a pipeline with example documents. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/ingest-apis/simulate-ingest/ + parameters: + - $ref: '#/components/parameters/ingest.simulate::path.id' + - $ref: '#/components/parameters/ingest.simulate::query.verbose' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/ingest.simulate' + responses: + '200': + $ref: '#/components/responses/ingest.simulate@200' + post: + operationId: ingest.simulate.3 + x-operation-group: ingest.simulate + x-version-added: '1.0' + description: Allows to simulate a pipeline with example documents. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/ingest-apis/simulate-ingest/ + parameters: + - $ref: '#/components/parameters/ingest.simulate::path.id' + - $ref: '#/components/parameters/ingest.simulate::query.verbose' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/ingest.simulate' + responses: + '200': + $ref: '#/components/responses/ingest.simulate@200' + /_ingest/processor/grok: + get: + operationId: ingest.processor_grok.0 + x-operation-group: ingest.processor_grok + x-version-added: '1.0' + description: Returns a list of the built-in patterns. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/ingest.processor_grok@200' + /_mapping: + get: + operationId: indices.get_mapping.0 + x-operation-group: indices.get_mapping + x-version-added: '1.0' + description: Returns mappings for one or more indices. + externalDocs: + url: https://opensearch.org/docs/latest/field-types/index/#get-a-mapping + parameters: + - $ref: '#/components/parameters/indices.get_mapping::query.allow_no_indices' + - $ref: '#/components/parameters/indices.get_mapping::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.get_mapping::query.expand_wildcards' + - $ref: '#/components/parameters/indices.get_mapping::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.get_mapping::query.index' + - $ref: '#/components/parameters/indices.get_mapping::query.local' + - $ref: '#/components/parameters/indices.get_mapping::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.get_mapping@200' + /_mapping/field/{fields}: + get: + operationId: indices.get_field_mapping.0 + x-operation-group: indices.get_field_mapping + x-version-added: '1.0' + description: Returns mapping for one or more fields. + externalDocs: + url: https://opensearch.org/docs/latest/field-types/index/ + parameters: + - $ref: '#/components/parameters/indices.get_field_mapping::path.fields' + - $ref: '#/components/parameters/indices.get_field_mapping::query.allow_no_indices' + - $ref: '#/components/parameters/indices.get_field_mapping::query.expand_wildcards' + - $ref: '#/components/parameters/indices.get_field_mapping::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.get_field_mapping::query.include_defaults' + - $ref: '#/components/parameters/indices.get_field_mapping::query.local' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.get_field_mapping@200' + /_mget: + get: + operationId: mget.0 + x-operation-group: mget + x-version-added: '1.0' + description: Allows to get multiple documents in one request. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/document-apis/multi-get/ + parameters: + - $ref: '#/components/parameters/mget::query._source' + - $ref: '#/components/parameters/mget::query._source_excludes' + - $ref: '#/components/parameters/mget::query._source_includes' + - $ref: '#/components/parameters/mget::query.preference' + - $ref: '#/components/parameters/mget::query.realtime' + - $ref: '#/components/parameters/mget::query.refresh' + - $ref: '#/components/parameters/mget::query.routing' + - $ref: '#/components/parameters/mget::query.stored_fields' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/mget' + responses: + '200': + $ref: '#/components/responses/mget@200' + post: + operationId: mget.1 + x-operation-group: mget + x-version-added: '1.0' + description: Allows to get multiple documents in one request. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/document-apis/multi-get/ + parameters: + - $ref: '#/components/parameters/mget::query._source' + - $ref: '#/components/parameters/mget::query._source_excludes' + - $ref: '#/components/parameters/mget::query._source_includes' + - $ref: '#/components/parameters/mget::query.preference' + - $ref: '#/components/parameters/mget::query.realtime' + - $ref: '#/components/parameters/mget::query.refresh' + - $ref: '#/components/parameters/mget::query.routing' + - $ref: '#/components/parameters/mget::query.stored_fields' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/mget' + responses: + '200': + $ref: '#/components/responses/mget@200' + /_msearch: + get: + operationId: msearch.0 + x-operation-group: msearch + x-version-added: '1.0' + description: Allows to execute several search operations in one request. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/multi-search/ + parameters: + - $ref: '#/components/parameters/msearch::query.ccs_minimize_roundtrips' + - $ref: '#/components/parameters/msearch::query.max_concurrent_searches' + - $ref: '#/components/parameters/msearch::query.max_concurrent_shard_requests' + - $ref: '#/components/parameters/msearch::query.pre_filter_shard_size' + - $ref: '#/components/parameters/msearch::query.rest_total_hits_as_int' + - $ref: '#/components/parameters/msearch::query.search_type' + - $ref: '#/components/parameters/msearch::query.typed_keys' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/msearch' + responses: + '200': + $ref: '#/components/responses/msearch@200' + post: + operationId: msearch.1 + x-operation-group: msearch + x-version-added: '1.0' + description: Allows to execute several search operations in one request. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/multi-search/ + parameters: + - $ref: '#/components/parameters/msearch::query.ccs_minimize_roundtrips' + - $ref: '#/components/parameters/msearch::query.max_concurrent_searches' + - $ref: '#/components/parameters/msearch::query.max_concurrent_shard_requests' + - $ref: '#/components/parameters/msearch::query.pre_filter_shard_size' + - $ref: '#/components/parameters/msearch::query.rest_total_hits_as_int' + - $ref: '#/components/parameters/msearch::query.search_type' + - $ref: '#/components/parameters/msearch::query.typed_keys' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/msearch' + responses: + '200': + $ref: '#/components/responses/msearch@200' + /_msearch/template: + get: + operationId: msearch_template.0 + x-operation-group: msearch_template + x-version-added: '1.0' + description: Allows to execute several search template operations in one request. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/search-template/ + parameters: + - $ref: '#/components/parameters/msearch_template::query.ccs_minimize_roundtrips' + - $ref: '#/components/parameters/msearch_template::query.max_concurrent_searches' + - $ref: '#/components/parameters/msearch_template::query.rest_total_hits_as_int' + - $ref: '#/components/parameters/msearch_template::query.search_type' + - $ref: '#/components/parameters/msearch_template::query.typed_keys' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/msearch_template' + responses: + '200': + $ref: '#/components/responses/msearch_template@200' + post: + operationId: msearch_template.1 + x-operation-group: msearch_template + x-version-added: '1.0' + description: Allows to execute several search template operations in one request. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/search-template/ + parameters: + - $ref: '#/components/parameters/msearch_template::query.ccs_minimize_roundtrips' + - $ref: '#/components/parameters/msearch_template::query.max_concurrent_searches' + - $ref: '#/components/parameters/msearch_template::query.rest_total_hits_as_int' + - $ref: '#/components/parameters/msearch_template::query.search_type' + - $ref: '#/components/parameters/msearch_template::query.typed_keys' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/msearch_template' + responses: + '200': + $ref: '#/components/responses/msearch_template@200' + /_mtermvectors: + get: + operationId: mtermvectors.0 + x-operation-group: mtermvectors + x-version-added: '1.0' + description: Returns multiple termvectors in one request. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/mtermvectors::query.field_statistics' + - $ref: '#/components/parameters/mtermvectors::query.fields' + - $ref: '#/components/parameters/mtermvectors::query.ids' + - $ref: '#/components/parameters/mtermvectors::query.offsets' + - $ref: '#/components/parameters/mtermvectors::query.payloads' + - $ref: '#/components/parameters/mtermvectors::query.positions' + - $ref: '#/components/parameters/mtermvectors::query.preference' + - $ref: '#/components/parameters/mtermvectors::query.realtime' + - $ref: '#/components/parameters/mtermvectors::query.routing' + - $ref: '#/components/parameters/mtermvectors::query.term_statistics' + - $ref: '#/components/parameters/mtermvectors::query.version' + - $ref: '#/components/parameters/mtermvectors::query.version_type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/mtermvectors' + responses: + '200': + $ref: '#/components/responses/mtermvectors@200' + post: + operationId: mtermvectors.1 + x-operation-group: mtermvectors + x-version-added: '1.0' + description: Returns multiple termvectors in one request. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/mtermvectors::query.field_statistics' + - $ref: '#/components/parameters/mtermvectors::query.fields' + - $ref: '#/components/parameters/mtermvectors::query.ids' + - $ref: '#/components/parameters/mtermvectors::query.offsets' + - $ref: '#/components/parameters/mtermvectors::query.payloads' + - $ref: '#/components/parameters/mtermvectors::query.positions' + - $ref: '#/components/parameters/mtermvectors::query.preference' + - $ref: '#/components/parameters/mtermvectors::query.realtime' + - $ref: '#/components/parameters/mtermvectors::query.routing' + - $ref: '#/components/parameters/mtermvectors::query.term_statistics' + - $ref: '#/components/parameters/mtermvectors::query.version' + - $ref: '#/components/parameters/mtermvectors::query.version_type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/mtermvectors' + responses: + '200': + $ref: '#/components/responses/mtermvectors@200' + /_nodes: + get: + operationId: nodes.info.0 + x-operation-group: nodes.info + x-version-added: '1.0' + description: Returns information about nodes in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-info/ + parameters: + - $ref: '#/components/parameters/nodes.info::query.flat_settings' + - $ref: '#/components/parameters/nodes.info::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/nodes.info@200' + /_nodes/{node_id_or_metric}: + get: + operationId: nodes.info.1 + x-operation-group: nodes.info + x-version-added: '1.0' + description: Returns information about nodes in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-info/ + parameters: + - $ref: '#/components/parameters/nodes.info::path.node_id_or_metric' + - $ref: '#/components/parameters/nodes.info::query.flat_settings' + - $ref: '#/components/parameters/nodes.info::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/nodes.info@200' + /_nodes/{node_id}/{metric}: + get: + operationId: nodes.info.3 + x-operation-group: nodes.info + x-version-added: '1.0' + description: Returns information about nodes in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-info/ + parameters: + - $ref: '#/components/parameters/nodes.info::path.metric' + - $ref: '#/components/parameters/nodes.info::path.node_id' + - $ref: '#/components/parameters/nodes.info::query.flat_settings' + - $ref: '#/components/parameters/nodes.info::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/nodes.info@200' + /_nodes/{node_id}/hot_threads: + get: + operationId: nodes.hot_threads.6 + x-operation-group: nodes.hot_threads + x-version-added: '1.0' + description: Returns information about hot threads on each node in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-hot-threads/ + parameters: + - $ref: '#/components/parameters/nodes.hot_threads::path.node_id' + - $ref: '#/components/parameters/nodes.hot_threads::query.ignore_idle_threads' + - $ref: '#/components/parameters/nodes.hot_threads::query.interval' + - $ref: '#/components/parameters/nodes.hot_threads::query.snapshots' + - $ref: '#/components/parameters/nodes.hot_threads::query.threads' + - $ref: '#/components/parameters/nodes.hot_threads::query.timeout' + - $ref: '#/components/parameters/nodes.hot_threads::query.type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/nodes.hot_threads@200' + /_nodes/{node_id}/hotthreads: + get: + operationId: nodes.hot_threads.7 + x-operation-group: nodes.hot_threads + x-ignorable: true + deprecated: true + x-deprecation-message: The hot threads API accepts `hotthreads` but only `hot_threads` is documented + x-version-added: '1.0' + x-version-deprecated: '1.0' + description: Returns information about hot threads on each node in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-hot-threads/ + parameters: + - $ref: '#/components/parameters/nodes.hot_threads::path.node_id' + - $ref: '#/components/parameters/nodes.hot_threads::query.ignore_idle_threads' + - $ref: '#/components/parameters/nodes.hot_threads::query.interval' + - $ref: '#/components/parameters/nodes.hot_threads::query.snapshots' + - $ref: '#/components/parameters/nodes.hot_threads::query.threads' + - $ref: '#/components/parameters/nodes.hot_threads::query.timeout' + - $ref: '#/components/parameters/nodes.hot_threads::query.type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/nodes.hot_threads@200' + /_nodes/{node_id}/reload_secure_settings: + post: + operationId: nodes.reload_secure_settings.1 + x-operation-group: nodes.reload_secure_settings + x-version-added: '1.0' + description: Reloads secure settings. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-reload-secure/ + parameters: + - $ref: '#/components/parameters/nodes.reload_secure_settings::path.node_id' + - $ref: '#/components/parameters/nodes.reload_secure_settings::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/nodes.reload_secure_settings' + responses: + '200': + $ref: '#/components/responses/nodes.reload_secure_settings@200' + /_nodes/{node_id}/stats: + get: + operationId: nodes.stats.3 + x-operation-group: nodes.stats + x-version-added: '1.0' + description: Returns statistical information about nodes in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-usage/ + parameters: + - $ref: '#/components/parameters/nodes.stats::path.node_id' + - $ref: '#/components/parameters/nodes.stats::query.completion_fields' + - $ref: '#/components/parameters/nodes.stats::query.fielddata_fields' + - $ref: '#/components/parameters/nodes.stats::query.fields' + - $ref: '#/components/parameters/nodes.stats::query.groups' + - $ref: '#/components/parameters/nodes.stats::query.include_segment_file_sizes' + - $ref: '#/components/parameters/nodes.stats::query.level' + - $ref: '#/components/parameters/nodes.stats::query.timeout' + - $ref: '#/components/parameters/nodes.stats::query.types' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/nodes.stats@200' + /_nodes/{node_id}/stats/{metric}: + get: + operationId: nodes.stats.4 + x-operation-group: nodes.stats + x-version-added: '1.0' + description: Returns statistical information about nodes in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-usage/ + parameters: + - $ref: '#/components/parameters/nodes.stats::path.metric' + - $ref: '#/components/parameters/nodes.stats::path.node_id' + - $ref: '#/components/parameters/nodes.stats::query.completion_fields' + - $ref: '#/components/parameters/nodes.stats::query.fielddata_fields' + - $ref: '#/components/parameters/nodes.stats::query.fields' + - $ref: '#/components/parameters/nodes.stats::query.groups' + - $ref: '#/components/parameters/nodes.stats::query.include_segment_file_sizes' + - $ref: '#/components/parameters/nodes.stats::query.level' + - $ref: '#/components/parameters/nodes.stats::query.timeout' + - $ref: '#/components/parameters/nodes.stats::query.types' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/nodes.stats@200' + /_nodes/{node_id}/stats/{metric}/{index_metric}: + get: + operationId: nodes.stats.5 + x-operation-group: nodes.stats + x-version-added: '1.0' + description: Returns statistical information about nodes in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-usage/ + parameters: + - $ref: '#/components/parameters/nodes.stats::path.index_metric' + - $ref: '#/components/parameters/nodes.stats::path.metric' + - $ref: '#/components/parameters/nodes.stats::path.node_id' + - $ref: '#/components/parameters/nodes.stats::query.completion_fields' + - $ref: '#/components/parameters/nodes.stats::query.fielddata_fields' + - $ref: '#/components/parameters/nodes.stats::query.fields' + - $ref: '#/components/parameters/nodes.stats::query.groups' + - $ref: '#/components/parameters/nodes.stats::query.include_segment_file_sizes' + - $ref: '#/components/parameters/nodes.stats::query.level' + - $ref: '#/components/parameters/nodes.stats::query.timeout' + - $ref: '#/components/parameters/nodes.stats::query.types' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/nodes.stats@200' + /_nodes/{node_id}/usage: + get: + operationId: nodes.usage.2 + x-operation-group: nodes.usage + x-version-added: '1.0' + description: Returns low-level information about REST actions usage on nodes. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/nodes.usage::path.node_id' + - $ref: '#/components/parameters/nodes.usage::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/nodes.usage@200' + /_nodes/{node_id}/usage/{metric}: + get: + operationId: nodes.usage.3 + x-operation-group: nodes.usage + x-version-added: '1.0' + description: Returns low-level information about REST actions usage on nodes. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/nodes.usage::path.metric' + - $ref: '#/components/parameters/nodes.usage::path.node_id' + - $ref: '#/components/parameters/nodes.usage::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/nodes.usage@200' + /_nodes/hot_threads: + get: + operationId: nodes.hot_threads.4 + x-operation-group: nodes.hot_threads + x-version-added: '1.0' + description: Returns information about hot threads on each node in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-hot-threads/ + parameters: + - $ref: '#/components/parameters/nodes.hot_threads::query.ignore_idle_threads' + - $ref: '#/components/parameters/nodes.hot_threads::query.interval' + - $ref: '#/components/parameters/nodes.hot_threads::query.snapshots' + - $ref: '#/components/parameters/nodes.hot_threads::query.threads' + - $ref: '#/components/parameters/nodes.hot_threads::query.timeout' + - $ref: '#/components/parameters/nodes.hot_threads::query.type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/nodes.hot_threads@200' + /_nodes/hotthreads: + get: + operationId: nodes.hot_threads.5 + x-operation-group: nodes.hot_threads + x-ignorable: true + deprecated: true + x-deprecation-message: The hot threads API accepts `hotthreads` but only `hot_threads` is documented + x-version-added: '1.0' + x-version-deprecated: '1.0' + description: Returns information about hot threads on each node in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-hot-threads/ + parameters: + - $ref: '#/components/parameters/nodes.hot_threads::query.ignore_idle_threads' + - $ref: '#/components/parameters/nodes.hot_threads::query.interval' + - $ref: '#/components/parameters/nodes.hot_threads::query.snapshots' + - $ref: '#/components/parameters/nodes.hot_threads::query.threads' + - $ref: '#/components/parameters/nodes.hot_threads::query.timeout' + - $ref: '#/components/parameters/nodes.hot_threads::query.type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/nodes.hot_threads@200' + /_nodes/reload_secure_settings: + post: + operationId: nodes.reload_secure_settings.0 + x-operation-group: nodes.reload_secure_settings + x-version-added: '1.0' + description: Reloads secure settings. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-reload-secure/ + parameters: + - $ref: '#/components/parameters/nodes.reload_secure_settings::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/nodes.reload_secure_settings' + responses: + '200': + $ref: '#/components/responses/nodes.reload_secure_settings@200' + /_nodes/stats: + get: + operationId: nodes.stats.0 + x-operation-group: nodes.stats + x-version-added: '1.0' + description: Returns statistical information about nodes in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-usage/ + parameters: + - $ref: '#/components/parameters/nodes.stats::query.completion_fields' + - $ref: '#/components/parameters/nodes.stats::query.fielddata_fields' + - $ref: '#/components/parameters/nodes.stats::query.fields' + - $ref: '#/components/parameters/nodes.stats::query.groups' + - $ref: '#/components/parameters/nodes.stats::query.include_segment_file_sizes' + - $ref: '#/components/parameters/nodes.stats::query.level' + - $ref: '#/components/parameters/nodes.stats::query.timeout' + - $ref: '#/components/parameters/nodes.stats::query.types' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/nodes.stats@200' + /_nodes/stats/{metric}: + get: + operationId: nodes.stats.1 + x-operation-group: nodes.stats + x-version-added: '1.0' + description: Returns statistical information about nodes in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-usage/ + parameters: + - $ref: '#/components/parameters/nodes.stats::path.metric' + - $ref: '#/components/parameters/nodes.stats::query.completion_fields' + - $ref: '#/components/parameters/nodes.stats::query.fielddata_fields' + - $ref: '#/components/parameters/nodes.stats::query.fields' + - $ref: '#/components/parameters/nodes.stats::query.groups' + - $ref: '#/components/parameters/nodes.stats::query.include_segment_file_sizes' + - $ref: '#/components/parameters/nodes.stats::query.level' + - $ref: '#/components/parameters/nodes.stats::query.timeout' + - $ref: '#/components/parameters/nodes.stats::query.types' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/nodes.stats@200' + /_nodes/stats/{metric}/{index_metric}: + get: + operationId: nodes.stats.2 + x-operation-group: nodes.stats + x-version-added: '1.0' + description: Returns statistical information about nodes in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/nodes-apis/nodes-usage/ + parameters: + - $ref: '#/components/parameters/nodes.stats::path.index_metric' + - $ref: '#/components/parameters/nodes.stats::path.metric' + - $ref: '#/components/parameters/nodes.stats::query.completion_fields' + - $ref: '#/components/parameters/nodes.stats::query.fielddata_fields' + - $ref: '#/components/parameters/nodes.stats::query.fields' + - $ref: '#/components/parameters/nodes.stats::query.groups' + - $ref: '#/components/parameters/nodes.stats::query.include_segment_file_sizes' + - $ref: '#/components/parameters/nodes.stats::query.level' + - $ref: '#/components/parameters/nodes.stats::query.timeout' + - $ref: '#/components/parameters/nodes.stats::query.types' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/nodes.stats@200' + /_nodes/usage: + get: + operationId: nodes.usage.0 + x-operation-group: nodes.usage + x-version-added: '1.0' + description: Returns low-level information about REST actions usage on nodes. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/nodes.usage::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/nodes.usage@200' + /_nodes/usage/{metric}: + get: + operationId: nodes.usage.1 + x-operation-group: nodes.usage + x-version-added: '1.0' + description: Returns low-level information about REST actions usage on nodes. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/nodes.usage::path.metric' + - $ref: '#/components/parameters/nodes.usage::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/nodes.usage@200' + /_opendistro/_security/sslinfo: + get: + operationId: security.get_sslinfo.0 + x-operation-group: security.get_sslinfo + x-version-added: '1.0' + description: Retrieves the SSL configuration information. + parameters: + - $ref: '#/components/parameters/security.get_sslinfo::query.show_dn' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.get_sslinfo@200' + '500': + $ref: '#/components/responses/security.get_sslinfo@500' + /_plugins/_knn/{node_id}/stats: + get: + operationId: knn.stats.2 + x-operation-group: knn.stats + x-version-added: '1.0' + description: Provides information about the current status of the k-NN plugin. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/knn/api/#stats + parameters: + - $ref: '#/components/parameters/knn.stats::path.node_id' + - $ref: '#/components/parameters/knn.stats::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/knn.stats@200' + /_plugins/_knn/{node_id}/stats/{stat}: + get: + operationId: knn.stats.3 + x-operation-group: knn.stats + x-version-added: '1.0' + description: Provides information about the current status of the k-NN plugin. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/knn/api/#stats + parameters: + - $ref: '#/components/parameters/knn.stats::path.node_id' + - $ref: '#/components/parameters/knn.stats::path.stat' + - $ref: '#/components/parameters/knn.stats::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/knn.stats@200' + /_plugins/_knn/models/_search: + get: + operationId: knn.search_models.0 + x-operation-group: knn.search_models + x-version-added: '1.0' + description: Use an OpenSearch query to search for models in the index. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/knn/api/#search-model + parameters: + - $ref: '#/components/parameters/knn.search_models::query._source' + - $ref: '#/components/parameters/knn.search_models::query._source_excludes' + - $ref: '#/components/parameters/knn.search_models::query._source_includes' + - $ref: '#/components/parameters/knn.search_models::query.allow_no_indices' + - $ref: '#/components/parameters/knn.search_models::query.allow_partial_search_results' + - $ref: '#/components/parameters/knn.search_models::query.analyze_wildcard' + - $ref: '#/components/parameters/knn.search_models::query.analyzer' + - $ref: '#/components/parameters/knn.search_models::query.batched_reduce_size' + - $ref: '#/components/parameters/knn.search_models::query.ccs_minimize_roundtrips' + - $ref: '#/components/parameters/knn.search_models::query.default_operator' + - $ref: '#/components/parameters/knn.search_models::query.df' + - $ref: '#/components/parameters/knn.search_models::query.docvalue_fields' + - $ref: '#/components/parameters/knn.search_models::query.expand_wildcards' + - $ref: '#/components/parameters/knn.search_models::query.explain' + - $ref: '#/components/parameters/knn.search_models::query.from' + - $ref: '#/components/parameters/knn.search_models::query.ignore_throttled' + - $ref: '#/components/parameters/knn.search_models::query.ignore_unavailable' + - $ref: '#/components/parameters/knn.search_models::query.lenient' + - $ref: '#/components/parameters/knn.search_models::query.max_concurrent_shard_requests' + - $ref: '#/components/parameters/knn.search_models::query.pre_filter_shard_size' + - $ref: '#/components/parameters/knn.search_models::query.preference' + - $ref: '#/components/parameters/knn.search_models::query.q' + - $ref: '#/components/parameters/knn.search_models::query.request_cache' + - $ref: '#/components/parameters/knn.search_models::query.rest_total_hits_as_int' + - $ref: '#/components/parameters/knn.search_models::query.routing' + - $ref: '#/components/parameters/knn.search_models::query.scroll' + - $ref: '#/components/parameters/knn.search_models::query.search_type' + - $ref: '#/components/parameters/knn.search_models::query.seq_no_primary_term' + - $ref: '#/components/parameters/knn.search_models::query.size' + - $ref: '#/components/parameters/knn.search_models::query.sort' + - $ref: '#/components/parameters/knn.search_models::query.stats' + - $ref: '#/components/parameters/knn.search_models::query.stored_fields' + - $ref: '#/components/parameters/knn.search_models::query.suggest_field' + - $ref: '#/components/parameters/knn.search_models::query.suggest_mode' + - $ref: '#/components/parameters/knn.search_models::query.suggest_size' + - $ref: '#/components/parameters/knn.search_models::query.suggest_text' + - $ref: '#/components/parameters/knn.search_models::query.terminate_after' + - $ref: '#/components/parameters/knn.search_models::query.timeout' + - $ref: '#/components/parameters/knn.search_models::query.track_scores' + - $ref: '#/components/parameters/knn.search_models::query.track_total_hits' + - $ref: '#/components/parameters/knn.search_models::query.typed_keys' + - $ref: '#/components/parameters/knn.search_models::query.version' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/knn.search_models' + responses: + '200': + $ref: '#/components/responses/knn.search_models@200' + post: + operationId: knn.search_models.1 + x-operation-group: knn.search_models + x-version-added: '1.0' + description: Use an OpenSearch query to search for models in the index. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/knn/api/#search-model + parameters: + - $ref: '#/components/parameters/knn.search_models::query._source' + - $ref: '#/components/parameters/knn.search_models::query._source_excludes' + - $ref: '#/components/parameters/knn.search_models::query._source_includes' + - $ref: '#/components/parameters/knn.search_models::query.allow_no_indices' + - $ref: '#/components/parameters/knn.search_models::query.allow_partial_search_results' + - $ref: '#/components/parameters/knn.search_models::query.analyze_wildcard' + - $ref: '#/components/parameters/knn.search_models::query.analyzer' + - $ref: '#/components/parameters/knn.search_models::query.batched_reduce_size' + - $ref: '#/components/parameters/knn.search_models::query.ccs_minimize_roundtrips' + - $ref: '#/components/parameters/knn.search_models::query.default_operator' + - $ref: '#/components/parameters/knn.search_models::query.df' + - $ref: '#/components/parameters/knn.search_models::query.docvalue_fields' + - $ref: '#/components/parameters/knn.search_models::query.expand_wildcards' + - $ref: '#/components/parameters/knn.search_models::query.explain' + - $ref: '#/components/parameters/knn.search_models::query.from' + - $ref: '#/components/parameters/knn.search_models::query.ignore_throttled' + - $ref: '#/components/parameters/knn.search_models::query.ignore_unavailable' + - $ref: '#/components/parameters/knn.search_models::query.lenient' + - $ref: '#/components/parameters/knn.search_models::query.max_concurrent_shard_requests' + - $ref: '#/components/parameters/knn.search_models::query.pre_filter_shard_size' + - $ref: '#/components/parameters/knn.search_models::query.preference' + - $ref: '#/components/parameters/knn.search_models::query.q' + - $ref: '#/components/parameters/knn.search_models::query.request_cache' + - $ref: '#/components/parameters/knn.search_models::query.rest_total_hits_as_int' + - $ref: '#/components/parameters/knn.search_models::query.routing' + - $ref: '#/components/parameters/knn.search_models::query.scroll' + - $ref: '#/components/parameters/knn.search_models::query.search_type' + - $ref: '#/components/parameters/knn.search_models::query.seq_no_primary_term' + - $ref: '#/components/parameters/knn.search_models::query.size' + - $ref: '#/components/parameters/knn.search_models::query.sort' + - $ref: '#/components/parameters/knn.search_models::query.stats' + - $ref: '#/components/parameters/knn.search_models::query.stored_fields' + - $ref: '#/components/parameters/knn.search_models::query.suggest_field' + - $ref: '#/components/parameters/knn.search_models::query.suggest_mode' + - $ref: '#/components/parameters/knn.search_models::query.suggest_size' + - $ref: '#/components/parameters/knn.search_models::query.suggest_text' + - $ref: '#/components/parameters/knn.search_models::query.terminate_after' + - $ref: '#/components/parameters/knn.search_models::query.timeout' + - $ref: '#/components/parameters/knn.search_models::query.track_scores' + - $ref: '#/components/parameters/knn.search_models::query.track_total_hits' + - $ref: '#/components/parameters/knn.search_models::query.typed_keys' + - $ref: '#/components/parameters/knn.search_models::query.version' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/knn.search_models' + responses: + '200': + $ref: '#/components/responses/knn.search_models@200' + /_plugins/_knn/models/_train: + post: + operationId: knn.train_model.0 + x-operation-group: knn.train_model + x-version-added: '1.0' + description: Create and train a model that can be used for initializing k-NN native library indexes during indexing. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/knn/api/#train-model + parameters: + - $ref: '#/components/parameters/knn.train_model::query.preference' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/knn.train_model' + responses: + '200': + $ref: '#/components/responses/knn.train_model@200' + /_plugins/_knn/models/{model_id}: + delete: + operationId: knn.delete_model.0 + x-operation-group: knn.delete_model + x-version-added: '1.0' + description: Used to delete a particular model in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/knn/api/#delete-model + parameters: + - $ref: '#/components/parameters/knn.delete_model::path.model_id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/knn.delete_model@200' + get: + operationId: knn.get_model.0 + x-operation-group: knn.get_model + x-version-added: '1.0' + description: Used to retrieve information about models present in the cluster. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/knn/api/#get-model + parameters: + - $ref: '#/components/parameters/knn.get_model::path.model_id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/knn.get_model@200' + /_plugins/_knn/models/{model_id}/_train: + post: + operationId: knn.train_model.1 + x-operation-group: knn.train_model + x-version-added: '1.0' + description: Create and train a model that can be used for initializing k-NN native library indexes during indexing. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/knn/api/#train-model + parameters: + - $ref: '#/components/parameters/knn.train_model::path.model_id' + - $ref: '#/components/parameters/knn.train_model::query.preference' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/knn.train_model' + responses: + '200': + $ref: '#/components/responses/knn.train_model@200' + /_plugins/_knn/stats: + get: + operationId: knn.stats.0 + x-operation-group: knn.stats + x-version-added: '1.0' + description: Provides information about the current status of the k-NN plugin. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/knn/api/#stats + parameters: + - $ref: '#/components/parameters/knn.stats::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/knn.stats@200' + /_plugins/_knn/stats/{stat}: + get: + operationId: knn.stats.1 + x-operation-group: knn.stats + x-version-added: '1.0' + description: Provides information about the current status of the k-NN plugin. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/knn/api/#stats + parameters: + - $ref: '#/components/parameters/knn.stats::path.stat' + - $ref: '#/components/parameters/knn.stats::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/knn.stats@200' + /_plugins/_knn/warmup/{index}: + get: + operationId: knn.warmup.0 + x-operation-group: knn.warmup + x-version-added: '1.0' + description: Preloads native library files into memory, reducing initial search latency for specified indexes. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/knn/api/#warmup-operation + parameters: + - $ref: '#/components/parameters/knn.warmup::path.index' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/knn.warmup@200' + /_plugins/_ml/model_groups/_register: + post: + operationId: ml.register_model_group.0 + x-operation-group: ml.register_model_group + description: Registers a model group. + requestBody: + $ref: '#/components/requestBodies/ml.register_model_group' + responses: + '200': + $ref: '#/components/responses/ml.register_model_group@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_ml/model_groups/{model_group_id}: + delete: + operationId: ml.delete_model_group.0 + x-operation-group: ml.delete_model_group + description: Deletes a model group. + parameters: + - $ref: '#/components/parameters/ml.delete_model_group::path.model_group_id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/ml.delete_model_group@200' + get: + operationId: ml.get_model_group.0 + x-operation-group: ml.get_model_group + description: Retrieves a model group. + parameters: + - $ref: '#/components/parameters/ml.get_model_group::path.model_group_id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/ml.get_model_group@200' + /_plugins/_ml/models/_register: + post: + operationId: ml.register_model.0 + x-operation-group: ml.register_model + description: Registers a model. + requestBody: + $ref: '#/components/requestBodies/ml.register_model' + responses: + '200': + $ref: '#/components/responses/ml.register_model@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_ml/models/_search: + get: + operationId: ml.search_models.0 + x-operation-group: ml.search_models + description: Searches for models. + requestBody: + $ref: '#/components/requestBodies/ml.search_models' + responses: + '200': + $ref: '#/components/responses/ml.search_models@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_ml/models/{model_id}: + delete: + operationId: ml.delete_model.0 + x-operation-group: ml.delete_model + description: Deletes a model. + parameters: + - $ref: '#/components/parameters/ml.delete_model::path.model_id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/ml.delete_model@200' + /_plugins/_ml/models/{model_id}/_deploy: + post: + operationId: ml.deploy_model.0 + x-operation-group: ml.deploy_model + description: Deploys a model. + parameters: + - $ref: '#/components/parameters/ml.deploy_model::path.model_id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/ml.deploy_model@200' + /_plugins/_ml/models/{model_id}/_undeploy: + post: + operationId: ml.undeploy_model.0 + x-operation-group: ml.undeploy_model + description: Undeploys a model. + parameters: + - $ref: '#/components/parameters/ml.undeploy_model::path.model_id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/ml.undeploy_model@200' + /_plugins/_ml/tasks/{task_id}: + delete: + operationId: ml.delete_task.0 + x-operation-group: ml.delete_task + description: Deletes a task. + parameters: + - $ref: '#/components/parameters/ml.delete_task::path.task_id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/ml.delete_task@200' + get: + operationId: ml.get_task.0 + x-operation-group: ml.get_task + description: Retrieves a task. + parameters: + - $ref: '#/components/parameters/ml.get_task::path.task_id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/ml.get_task@200' + /_plugins/_notifications/channels: + get: + operationId: notifications.list_channels.0 + x-operation-group: notifications.list_channels + x-version-added: '2.0' + description: List created notification channels. + externalDocs: + url: https://opensearch.org/docs/latest/observing-your-data/notifications/api/#list-all-notification-channels + responses: + '200': + $ref: '#/components/responses/notifications.list_channels@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_notifications/configs: + delete: + operationId: notifications.delete_configs.0 + x-operation-group: notifications.delete_configs + x-version-added: '2.2' + description: Delete multiple channel configurations. + externalDocs: + url: https://opensearch.org/docs/latest/observing-your-data/notifications/api/#delete-channel-configuration + parameters: + - $ref: '#/components/parameters/notifications.delete_configs::query.config_id' + - $ref: '#/components/parameters/notifications.delete_configs::query.config_id_list' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/notifications.delete_configs@200' + get: + operationId: notifications.get_configs.0 + x-operation-group: notifications.get_configs + x-version-added: '2.0' + description: Get multiple channel configurations with filtering. + externalDocs: + url: https://opensearch.org/docs/latest/observing-your-data/notifications/api/#list-all-notification-configurations + parameters: + - $ref: '#/components/parameters/notifications.get_configs::query.chime.url' + - $ref: '#/components/parameters/notifications.get_configs::query.chime.url.keyword' + - $ref: '#/components/parameters/notifications.get_configs::query.config_type' + - $ref: '#/components/parameters/notifications.get_configs::query.created_time_ms' + - $ref: '#/components/parameters/notifications.get_configs::query.description' + - $ref: '#/components/parameters/notifications.get_configs::query.description.keyword' + - $ref: '#/components/parameters/notifications.get_configs::query.email.email_account_id' + - $ref: '#/components/parameters/notifications.get_configs::query.email.email_group_id_list' + - $ref: '#/components/parameters/notifications.get_configs::query.email.recipient_list.recipient' + - $ref: '#/components/parameters/notifications.get_configs::query.email.recipient_list.recipient.keyword' + - $ref: '#/components/parameters/notifications.get_configs::query.email_group.recipient_list.recipient' + - $ref: '#/components/parameters/notifications.get_configs::query.email_group.recipient_list.recipient.keyword' + - $ref: '#/components/parameters/notifications.get_configs::query.is_enabled' + - $ref: '#/components/parameters/notifications.get_configs::query.last_updated_time_ms' + - $ref: '#/components/parameters/notifications.get_configs::query.microsoft_teams.url' + - $ref: '#/components/parameters/notifications.get_configs::query.microsoft_teams.url.keyword' + - $ref: '#/components/parameters/notifications.get_configs::query.name' + - $ref: '#/components/parameters/notifications.get_configs::query.name.keyword' + - $ref: '#/components/parameters/notifications.get_configs::query.query' + - $ref: '#/components/parameters/notifications.get_configs::query.ses_account.from_address' + - $ref: '#/components/parameters/notifications.get_configs::query.ses_account.from_address.keyword' + - $ref: '#/components/parameters/notifications.get_configs::query.ses_account.region' + - $ref: '#/components/parameters/notifications.get_configs::query.ses_account.role_arn' + - $ref: '#/components/parameters/notifications.get_configs::query.ses_account.role_arn.keyword' + - $ref: '#/components/parameters/notifications.get_configs::query.slack.url' + - $ref: '#/components/parameters/notifications.get_configs::query.slack.url.keyword' + - $ref: '#/components/parameters/notifications.get_configs::query.smtp_account.from_address' + - $ref: '#/components/parameters/notifications.get_configs::query.smtp_account.from_address.keyword' + - $ref: '#/components/parameters/notifications.get_configs::query.smtp_account.host' + - $ref: '#/components/parameters/notifications.get_configs::query.smtp_account.host.keyword' + - $ref: '#/components/parameters/notifications.get_configs::query.smtp_account.method' + - $ref: '#/components/parameters/notifications.get_configs::query.sns.role_arn' + - $ref: '#/components/parameters/notifications.get_configs::query.sns.role_arn.keyword' + - $ref: '#/components/parameters/notifications.get_configs::query.sns.topic_arn' + - $ref: '#/components/parameters/notifications.get_configs::query.sns.topic_arn.keyword' + - $ref: '#/components/parameters/notifications.get_configs::query.text_query' + - $ref: '#/components/parameters/notifications.get_configs::query.webhook.url' + - $ref: '#/components/parameters/notifications.get_configs::query.webhook.url.keyword' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/notifications.get_configs' + responses: + '200': + $ref: '#/components/responses/notifications.get_configs@200' + post: + operationId: notifications.create_config.0 + x-operation-group: notifications.create_config + x-version-added: '2.0' + description: Create channel configuration. + externalDocs: + url: https://opensearch.org/docs/latest/observing-your-data/notifications/api/#create-channel-configuration + requestBody: + $ref: '#/components/requestBodies/notifications.create_config' + responses: + '200': + $ref: '#/components/responses/notifications.create_config@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_notifications/configs/{config_id}: + delete: + operationId: notifications.delete_config.0 + x-operation-group: notifications.delete_config + x-version-added: '2.0' + description: Delete a channel configuration. + externalDocs: + url: https://opensearch.org/docs/latest/observing-your-data/notifications/api/#delete-channel-configuration + parameters: + - $ref: '#/components/parameters/notifications.delete_config::path.config_id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/notifications.delete_config@200' + get: + operationId: notifications.get_config.0 + x-operation-group: notifications.get_config + x-version-added: '2.0' + description: Get a specific channel configuration. + parameters: + - $ref: '#/components/parameters/notifications.get_config::path.config_id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/notifications.get_config@200' + put: + operationId: notifications.update_config.0 + x-operation-group: notifications.update_config + x-version-added: '2.0' + description: Update channel configuration. + externalDocs: + url: https://opensearch.org/docs/latest/observing-your-data/notifications/api/#update-channel-configuration + parameters: + - $ref: '#/components/parameters/notifications.update_config::path.config_id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/notifications.update_config' + responses: + '200': + $ref: '#/components/responses/notifications.update_config@200' + /_plugins/_notifications/feature/test/{config_id}: + get: + operationId: notifications.send_test.0 + x-operation-group: notifications.send_test + deprecated: true + x-deprecation-message: Use the POST method instead. + x-version-added: '2.0' + x-version-deprecated: '2.3' + description: Send a test notification. + externalDocs: + url: https://opensearch.org/docs/latest/observing-your-data/notifications/api/#send-test-notification + parameters: + - $ref: '#/components/parameters/notifications.send_test::path.config_id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/notifications.send_test@200' + post: + operationId: notifications.send_test.1 + x-operation-group: notifications.send_test + x-version-added: '2.0' + description: Send a test notification. + externalDocs: + url: https://opensearch.org/docs/latest/observing-your-data/notifications/api/#send-test-notification + parameters: + - $ref: '#/components/parameters/notifications.send_test::path.config_id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/notifications.send_test@200' + /_plugins/_notifications/features: + get: + operationId: notifications.list_features.0 + x-operation-group: notifications.list_features + x-version-added: '2.0' + description: List supported channel configurations. + externalDocs: + url: https://opensearch.org/docs/latest/observing-your-data/notifications/api/#list-supported-channel-configurations + responses: + '200': + $ref: '#/components/responses/notifications.list_features@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_observability/_local/stats: + get: + operationId: observability.get_localstats.0 + x-operation-group: observability.get_localstats + x-version-added: '1.1' + description: Retrieves Local Stats of all observability objects. + responses: + '200': + $ref: '#/components/responses/observability.get_localstats@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_observability/object: + delete: + operationId: observability.delete_objects.0 + x-operation-group: observability.delete_objects + x-version-added: '1.1' + description: Deletes specific observability objects specified by ID or a list of IDs. + parameters: + - $ref: '#/components/parameters/observability.delete_objects::query.objectId' + - $ref: '#/components/parameters/observability.delete_objects::query.objectIdList' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/observability.delete_objects@200' + '404': + $ref: '#/components/responses/observability.delete_objects@404' + get: + operationId: observability.list_objects.0 + x-operation-group: observability.list_objects + x-version-added: '1.1' + description: Retrieves list of all observability objects. + responses: + '200': + $ref: '#/components/responses/observability.list_objects@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + post: + operationId: observability.create_object.0 + x-operation-group: observability.create_object + x-version-added: '1.1' + description: Creates a new observability object. + requestBody: + $ref: '#/components/requestBodies/observability.create_object' + responses: + '200': + $ref: '#/components/responses/observability.create_object@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_observability/object/{object_id}: + delete: + operationId: observability.delete_object.0 + x-operation-group: observability.delete_object + x-version-added: '1.1' + description: Deletes specific observability object specified by ID. + parameters: + - $ref: '#/components/parameters/observability.delete_object::path.object_id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/observability.delete_object@200' + '404': + $ref: '#/components/responses/observability.delete_object@404' + get: + operationId: observability.get_object.0 + x-operation-group: observability.get_object + x-version-added: '1.1' + description: Retrieves specific observability object specified by ID. + parameters: + - $ref: '#/components/parameters/observability.get_object::path.object_id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/observability.get_object@200' + '404': + $ref: '#/components/responses/observability.get_object@404' + put: + operationId: observability.update_object.0 + x-operation-group: observability.update_object + x-version-added: '1.1' + description: Updates an existing observability object. + parameters: + - $ref: '#/components/parameters/observability.update_object::path.object_id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/observability.update_object' + responses: + '200': + $ref: '#/components/responses/observability.update_object@200' + '404': + $ref: '#/components/responses/observability.update_object@404' + /_plugins/_ppl: + post: + operationId: ppl.query.0 + x-operation-group: ppl.query + x-version-added: '1.0' + description: Send a PPL query to the PPL plugin. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/sql/sql-ppl-api/ + parameters: + - $ref: '#/components/parameters/ppl.query::query.format' + - $ref: '#/components/parameters/ppl.query::query.sanitize' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/ppl.query' + responses: + '200': + $ref: '#/components/responses/ppl.query@200' + /_plugins/_ppl/_explain: + post: + operationId: ppl.explain.0 + x-operation-group: ppl.explain + x-version-added: '1.0' + description: Shows how a query is executed against OpenSearch. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/sql/sql-ppl-api/ + parameters: + - $ref: '#/components/parameters/ppl.explain::query.format' + - $ref: '#/components/parameters/ppl.explain::query.sanitize' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/ppl.explain' + responses: + '200': + $ref: '#/components/responses/ppl.explain@200' + /_plugins/_ppl/stats: + get: + operationId: ppl.get_stats.0 + x-operation-group: ppl.get_stats + x-version-added: '1.0' + description: Collect metrics for the plugin within the interval. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/sql/monitoring/ + parameters: + - $ref: '#/components/parameters/ppl.get_stats::query.format' + - $ref: '#/components/parameters/ppl.get_stats::query.sanitize' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/ppl.get_stats@200' + post: + operationId: ppl.post_stats.1 + x-operation-group: ppl.post_stats + x-version-added: '1.0' + description: By a stats endpoint, you are able to collect metrics for the plugin within the interval. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/sql/monitoring/ + parameters: + - $ref: '#/components/parameters/ppl.post_stats::query.format' + - $ref: '#/components/parameters/ppl.post_stats::query.sanitize' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/ppl.post_stats' + responses: + '200': + $ref: '#/components/responses/ppl.post_stats@200' + /_plugins/_query/_datasources: + get: + operationId: query.datasources_list.0 + x-operation-group: query.datasources_list + x-version-added: '2.7' + description: Retrieves list of all datasources. + responses: + '200': + $ref: '#/components/responses/query.datasources_list@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + post: + operationId: query.datasources_create.0 + x-operation-group: query.datasources_create + x-version-added: '2.7' + description: Creates a new query datasource. + requestBody: + $ref: '#/components/requestBodies/query.datasources_create' + responses: + '201': + $ref: '#/components/responses/query.datasources_create@201' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + put: + operationId: query.datasources_update.0 + x-operation-group: query.datasources_update + x-version-added: '2.7' + description: Updates an existing query datasource. + requestBody: + $ref: '#/components/requestBodies/query.datasources_update' + responses: + '200': + $ref: '#/components/responses/query.datasources_update@200' + '404': + $ref: '#/components/responses/query.datasources_update@404' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_query/_datasources/{datasource_name}: + delete: + operationId: query.datasource_delete.0 + x-operation-group: query.datasource_delete + x-version-added: '2.7' + description: Deletes specific datasource specified by name. + parameters: + - $ref: '#/components/parameters/query.datasource_delete::path.datasource_name' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '204': + $ref: '#/components/responses/query.datasource_delete@204' + '404': + $ref: '#/components/responses/query.datasource_delete@404' + get: + operationId: query.datasource_retrieve.0 + x-operation-group: query.datasource_retrieve + x-version-added: '2.7' + description: Retrieves specific datasource specified by name. + parameters: + - $ref: '#/components/parameters/query.datasource_retrieve::path.datasource_name' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/query.datasource_retrieve@200' + '404': + $ref: '#/components/responses/query.datasource_retrieve@404' + /_plugins/_query/settings: + put: + operationId: sql.settings.0 + x-operation-group: sql.settings + x-version-added: '1.0' + description: Adds SQL settings to the standard OpenSearch cluster settings. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/sql/settings/ + parameters: + - $ref: '#/components/parameters/sql.settings::query.format' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/sql.settings' + responses: + '200': + $ref: '#/components/responses/sql.settings@200' + /_plugins/_rollup/jobs/{id}: + delete: + operationId: rollups.delete.0 + x-operation-group: rollups.delete + x-version-added: '1.0' + description: Delete index rollup. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-rollups/rollup-api/#delete-an-index-rollup-job + responses: + '200': + $ref: '#/components/responses/rollups.delete@200' + parameters: + - $ref: '#/components/parameters/rollups.delete::path.id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + get: + operationId: rollups.get.0 + x-operation-group: rollups.get + x-version-added: '1.0' + description: Get an index rollup. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-rollups/rollup-api/#get-an-index-rollup-job + parameters: + - $ref: '#/components/parameters/rollups.get::path.id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/rollups.get@200' + put: + operationId: rollups.put.0 + x-operation-group: rollups.put + x-version-added: '1.0' + description: Create or update index rollup. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-rollups/rollup-api/#create-or-update-an-index-rollup-job + responses: + '200': + $ref: '#/components/responses/rollups.put@200' + parameters: + - $ref: '#/components/parameters/rollups.put::path.id' + - $ref: '#/components/parameters/rollups.put::query.if_primary_term' + - $ref: '#/components/parameters/rollups.put::query.if_seq_no' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/rollups.put' + /_plugins/_rollup/jobs/{id}/_explain: + get: + operationId: rollups.explain.0 + x-operation-group: rollups.explain + x-version-added: '1.0' + description: Get a rollup's current status. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-rollups/rollup-api/#explain-an-index-rollup-job + parameters: + - $ref: '#/components/parameters/rollups.explain::path.id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/rollups.explain@200' + /_plugins/_rollup/jobs/{id}/_start: + post: + operationId: rollups.start.0 + x-operation-group: rollups.start + x-version-added: '1.0' + description: Start rollup. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-rollups/rollup-api/#start-or-stop-an-index-rollup-job + parameters: + - $ref: '#/components/parameters/rollups.start::path.id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/rollups.start@200' + /_plugins/_rollup/jobs/{id}/_stop: + post: + operationId: rollups.stop.0 + x-operation-group: rollups.stop + x-version-added: '1.0' + description: Stop rollup. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-rollups/rollup-api/#start-or-stop-an-index-rollup-job + parameters: + - $ref: '#/components/parameters/rollups.stop::path.id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/rollups.stop@200' + /_plugins/_security/api/_upgrade_check: + get: + operationId: security.config_upgrade_check.0 + x-operation-group: security.config_upgrade_check + x-version-added: '2.14' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Check whether or not an upgrade can be performed and what resources can be updated. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#configuration-upgrade-check + responses: + '200': + $ref: '#/components/responses/security.config_upgrade_check@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/_upgrade_perform: + post: + operationId: security.config_upgrade_perform.0 + x-operation-group: security.config_upgrade_perform + x-version-added: '2.14' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Helps cluster operator upgrade missing defaults and stale default definitions. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#configuration-upgrade + requestBody: + $ref: '#/components/requestBodies/security.config_upgrade_perform' + responses: + '200': + $ref: '#/components/responses/security.config_upgrade_perform@200' + '400': + $ref: '#/components/responses/security.config_upgrade_perform@400' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/account: + get: + operationId: security.get_account_details.0 + x-operation-group: security.get_account_details + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Returns account details for the current user. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-account-details + responses: + '200': + $ref: '#/components/responses/security.get_account_details@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + put: + operationId: security.change_password.0 + x-operation-group: security.change_password + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Changes the password for the current user. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#change-password + requestBody: + $ref: '#/components/requestBodies/security.change_password' + responses: + '200': + $ref: '#/components/responses/security.change_password@200' + '403': + $ref: '#/components/responses/security.change_password@403' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/actiongroups: + get: + operationId: security.get_action_groups.0 + x-operation-group: security.get_action_groups + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves all action groups. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-action-groups + responses: + '200': + $ref: '#/components/responses/security.get_action_groups@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + patch: + operationId: security.patch_action_groups.1 + x-operation-group: security.patch_action_groups + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Creates, updates, or deletes multiple action groups in a single call. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#patch-action-groups + requestBody: + $ref: '#/components/requestBodies/security.patch_action_groups' + responses: + '200': + $ref: '#/components/responses/security.patch_action_groups@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/actiongroups/{action_group}: + delete: + operationId: security.delete_action_group.0 + x-operation-group: security.delete_action_group + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Delete a specified action group. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#delete-action-group + parameters: + - $ref: '#/components/parameters/security.delete_action_group::path.action_group' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.delete_action_group@200' + get: + operationId: security.get_action_group.0 + x-operation-group: security.get_action_group + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves one action group. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-action-group + parameters: + - $ref: '#/components/parameters/security.get_action_group::path.action_group' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.get_action_group@200' + patch: + operationId: security.patch_action_group.0 + x-operation-group: security.patch_action_group + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Updates individual attributes of an action group. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#patch-action-group + parameters: + - $ref: '#/components/parameters/security.patch_action_group::path.action_group' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.patch_action_group' + responses: + '200': + $ref: '#/components/responses/security.patch_action_group@200' + put: + operationId: security.create_action_group.0 + x-operation-group: security.create_action_group + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Creates or replaces the specified action group. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#create-action-group + parameters: + - $ref: '#/components/parameters/security.create_action_group::path.action_group' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.create_action_group' + responses: + '200': + $ref: '#/components/responses/security.create_action_group@200' + '201': + $ref: '#/components/responses/security.create_action_group@201' + /_plugins/_security/api/allowlist: + get: + operationId: security.get_allowlist.0 + x-operation-group: security.get_allowlist + x-version-added: '2.1' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves the current list of allowed API accessible to normal user. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#access-control-for-the-api + responses: + '200': + $ref: '#/components/responses/security.get_allowlist@200' + '403': + $ref: '#/components/responses/security.get_allowlist@403' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + patch: + operationId: security.patch_allowlist.0 + x-operation-group: security.patch_allowlist + x-version-added: '2.1' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Updates the current list of allowed API accessible to normal user. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#access-control-for-the-api + requestBody: + $ref: '#/components/requestBodies/security.patch_allowlist' + responses: + '200': + $ref: '#/components/responses/security.patch_allowlist@200' + '403': + $ref: '#/components/responses/security.patch_allowlist@403' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + put: + operationId: security.create_allowlist.0 + x-operation-group: security.create_allowlist + x-version-added: '2.1' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Creates or replaces the allowlisted APIs. Accessible via Super Admin certificate or REST API permission. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#access-control-for-the-api + requestBody: + $ref: '#/components/requestBodies/security.create_allowlist' + responses: + '200': + $ref: '#/components/responses/security.create_allowlist@200' + '403': + $ref: '#/components/responses/security.create_allowlist@403' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/audit: + get: + operationId: security.get_audit_configuration.0 + x-operation-group: security.get_audit_configuration + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves the audit configuration. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#audit-logs + responses: + '200': + $ref: '#/components/responses/security.get_audit_configuration@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + patch: + operationId: security.patch_audit_configuration.0 + x-operation-group: security.patch_audit_configuration + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: A PATCH call is used to update specified fields in the audit configuration. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#audit-logs + requestBody: + $ref: '#/components/requestBodies/security.patch_audit_configuration' + responses: + '200': + $ref: '#/components/responses/security.patch_audit_configuration@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/audit/config: + put: + operationId: security.update_audit_configuration.0 + x-operation-group: security.update_audit_configuration + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Updates the audit configuration. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#audit-logs + requestBody: + $ref: '#/components/requestBodies/security.update_audit_configuration' + responses: + '200': + $ref: '#/components/responses/security.update_audit_configuration@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/authtoken: + post: + operationId: security.authtoken.0 + x-operation-group: security.authtoken + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Returns the authorization token. + responses: + '200': + $ref: '#/components/responses/security.authtoken@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/cache: + delete: + operationId: security.flush_cache.0 + x-operation-group: security.flush_cache + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Flushes the Security plugin user, authentication, and authorization cache. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#flush-cache + responses: + '200': + $ref: '#/components/responses/security.flush_cache@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + get: + operationId: security.cache.1 + x-operation-group: security.cache + x-ignorable: true + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Not supported for cache API. + responses: + '501': + $ref: '#/components/responses/security.cache@501' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + post: + operationId: security.cache.2 + x-operation-group: security.cache + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + x-ignorable: true + description: Not supported for cache API. + responses: + '501': + $ref: '#/components/responses/security.cache@501' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + put: + operationId: security.cache.3 + x-operation-group: security.cache + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + x-ignorable: true + description: Not supported for cache API. + responses: + '501': + $ref: '#/components/responses/security.cache@501' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/certificates: + get: + operationId: security.get_all_certificates.0 + x-operation-group: security.get_all_certificates + x-version-added: '2.15' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves the cluster security certificates. + parameters: + - $ref: '#/components/parameters/security.get_all_certificates::query.cert_type' + - $ref: '#/components/parameters/security.get_all_certificates::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.get_all_certificates@200' + '403': + $ref: '#/components/responses/security.get_all_certificates@403' + '500': + $ref: '#/components/responses/security.get_all_certificates@500' + /_plugins/_security/api/certificates/{node_id}: + get: + operationId: security.get_node_certificates.0 + x-operation-group: security.get_node_certificates + x-version-added: '2.15' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves the given node's security certificates. + parameters: + - $ref: '#/components/parameters/security.get_node_certificates::path.node_id' + - $ref: '#/components/parameters/security.get_node_certificates::query.cert_type' + - $ref: '#/components/parameters/security.get_node_certificates::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.get_node_certificates@200' + '403': + $ref: '#/components/responses/security.get_node_certificates@403' + '500': + $ref: '#/components/responses/security.get_node_certificates@500' + /_plugins/_security/api/generateonbehalfoftoken: + post: + operationId: security.generate_obo_token.0 + x-operation-group: security.generate_obo_token + x-version-added: '2.12' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Generates On-Behalf-Of token for the current user. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/authentication-tokens/#api-endpoint + requestBody: + $ref: '#/components/requestBodies/security.generate_obo_token' + responses: + '200': + $ref: '#/components/responses/security.generate_obo_token@200' + '400': + $ref: '#/components/responses/security.generate_obo_token@400' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/internalusers: + get: + operationId: security.get_users.0 + x-operation-group: security.get_users + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieve all internal users. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-users + responses: + '200': + $ref: '#/components/responses/security.get_users@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + patch: + operationId: security.patch_users.0 + x-operation-group: security.patch_users + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Creates, updates, or deletes multiple internal users in a single call. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#patch-users + requestBody: + $ref: '#/components/requestBodies/security.patch_users' + responses: + '200': + $ref: '#/components/responses/security.patch_users@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/internalusers/{username}: + delete: + operationId: security.delete_user.0 + x-operation-group: security.delete_user + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Delete the specified user. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#delete-user + parameters: + - $ref: '#/components/parameters/security.delete_user::path.username' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.delete_user@200' + get: + operationId: security.get_user.0 + x-operation-group: security.get_user + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieve one internal user. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-user + parameters: + - $ref: '#/components/parameters/security.get_user::path.username' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.get_user@200' + patch: + operationId: security.patch_user.0 + x-operation-group: security.patch_user + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Updates individual attributes of an internal user. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#patch-user + parameters: + - $ref: '#/components/parameters/security.patch_user::path.username' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.patch_user' + responses: + '200': + $ref: '#/components/responses/security.patch_user@200' + put: + operationId: security.create_user.0 + x-operation-group: security.create_user + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Creates or replaces the specified user. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#create-user + parameters: + - $ref: '#/components/parameters/security.create_user::path.username' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.create_user' + responses: + '200': + $ref: '#/components/responses/security.create_user@200' + /_plugins/_security/api/internalusers/{username}/authtoken: + post: + operationId: security.generate_user_token.0 + x-operation-group: security.generate_user_token + x-version-added: '2.7' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Generates authorization token for the given user. + parameters: + - $ref: '#/components/parameters/security.generate_user_token::path.username' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.generate_user_token@200' + '400': + $ref: '#/components/responses/security.generate_user_token@400' + /_plugins/_security/api/migrate: + post: + operationId: security.migrate.0 + x-operation-group: security.migrate + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Migrates security configuration from v6 to v7. + responses: + '200': + $ref: '#/components/responses/security.migrate@200' + '400': + $ref: '#/components/responses/security.migrate@400' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/nodesdn: + get: + operationId: security.get_distinguished_names.0 + x-operation-group: security.get_distinguished_names + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves distinguished names. Only accessible to super-admins and with rest-api permissions when enabled. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-distinguished-names + parameters: + - $ref: '#/components/parameters/security.get_distinguished_names::query.show_all' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.get_distinguished_names@200' + '400': + $ref: '#/components/responses/security.get_distinguished_names@400' + '403': + $ref: '#/components/responses/security.get_distinguished_names@403' + patch: + operationId: security.patch_distinguished_names.0 + x-operation-group: security.patch_distinguished_names + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Bulk update of distinguished names. Only accessible to super-admins and with rest-api permissions when enabled. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#update-all-distinguished-names + requestBody: + $ref: '#/components/requestBodies/security.patch_distinguished_names' + responses: + '200': + $ref: '#/components/responses/security.patch_distinguished_names@200' + '400': + $ref: '#/components/responses/security.patch_distinguished_names@400' + '403': + $ref: '#/components/responses/security.patch_distinguished_names@403' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/nodesdn/{cluster_name}: + delete: + operationId: security.delete_distinguished_name.0 + x-operation-group: security.delete_distinguished_name + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Deletes all distinguished names in the specified cluster or node allow list. Only accessible to super-admins and with rest-api permissions when enabled. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#delete-distinguished-names + parameters: + - $ref: '#/components/parameters/security.delete_distinguished_name::path.cluster_name' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.delete_distinguished_name@200' + '400': + $ref: '#/components/responses/security.delete_distinguished_name@400' + '403': + $ref: '#/components/responses/security.delete_distinguished_name@403' + get: + operationId: security.get_distinguished_name.0 + x-operation-group: security.get_distinguished_name + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves distinguished names. Only accessible to super-admins and with rest-api permissions when enabled. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-distinguished-names + parameters: + - $ref: '#/components/parameters/security.get_distinguished_name::path.cluster_name' + - $ref: '#/components/parameters/security.get_distinguished_name::query.show_all' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.get_distinguished_name@200' + '400': + $ref: '#/components/responses/security.get_distinguished_name@400' + '403': + $ref: '#/components/responses/security.get_distinguished_name@403' + patch: + operationId: security.patch_distinguished_name.0 + x-operation-group: security.patch_distinguished_name + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Updates a distinguished cluster name for a specific cluster. Only accessible to super-admins and with rest-api permissions when enabled. + parameters: + - $ref: '#/components/parameters/security.patch_distinguished_name::path.cluster_name' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.patch_distinguished_name' + responses: + '200': + $ref: '#/components/responses/security.patch_distinguished_name@200' + '400': + $ref: '#/components/responses/security.patch_distinguished_name@400' + '403': + $ref: '#/components/responses/security.patch_distinguished_name@403' + put: + operationId: security.update_distinguished_name.0 + x-operation-group: security.update_distinguished_name + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Adds or updates the specified distinguished names in the cluster or node allow list. Only accessible to super-admins and with rest-api permissions when enabled. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#update-distinguished-names + parameters: + - $ref: '#/components/parameters/security.update_distinguished_name::path.cluster_name' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.update_distinguished_name' + responses: + '200': + $ref: '#/components/responses/security.update_distinguished_name@200' + '400': + $ref: '#/components/responses/security.update_distinguished_name@400' + '403': + $ref: '#/components/responses/security.update_distinguished_name@403' + /_plugins/_security/api/permissionsinfo: + get: + operationId: security.get_permissions_info.0 + x-operation-group: security.get_permissions_info + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Gets the evaluated REST API permissions for the currently logged in user. + responses: + '200': + $ref: '#/components/responses/security.get_permissions_info@200' + '500': + $ref: '#/components/responses/security.get_permissions_info@500' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/roles: + get: + operationId: security.get_roles.0 + x-operation-group: security.get_roles + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves all roles. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-roles + responses: + '200': + $ref: '#/components/responses/security.get_roles@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + patch: + operationId: security.patch_roles.0 + x-operation-group: security.patch_roles + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Creates, updates, or deletes multiple roles in a single call. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#patch-roles + requestBody: + $ref: '#/components/requestBodies/security.patch_roles' + responses: + '200': + $ref: '#/components/responses/security.patch_roles@200' + '400': + $ref: '#/components/responses/security.patch_roles@400' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/roles/{role}: + delete: + operationId: security.delete_role.0 + x-operation-group: security.delete_role + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Delete the specified role. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#delete-role + parameters: + - $ref: '#/components/parameters/security.delete_role::path.role' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.delete_role@200' + get: + operationId: security.get_role.0 + x-operation-group: security.get_role + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves one role. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-role + parameters: + - $ref: '#/components/parameters/security.get_role::path.role' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.get_role@200' + patch: + operationId: security.patch_role.0 + x-operation-group: security.patch_role + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Updates individual attributes of a role. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#patch-role + parameters: + - $ref: '#/components/parameters/security.patch_role::path.role' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.patch_role' + responses: + '200': + $ref: '#/components/responses/security.patch_role@200' + '400': + $ref: '#/components/responses/security.patch_role@400' + put: + operationId: security.create_role.0 + x-operation-group: security.create_role + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Creates or replaces the specified role. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#create-role + parameters: + - $ref: '#/components/parameters/security.create_role::path.role' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.create_role' + responses: + '200': + $ref: '#/components/responses/security.create_role@200' + '201': + $ref: '#/components/responses/security.create_role@201' + /_plugins/_security/api/rolesmapping: + get: + operationId: security.get_role_mappings.0 + x-operation-group: security.get_role_mappings + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves all role mappings. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-role-mappings + responses: + '200': + $ref: '#/components/responses/security.get_role_mappings@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + patch: + operationId: security.patch_role_mappings.0 + x-operation-group: security.patch_role_mappings + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Creates or updates multiple role mappings in a single call. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#patch-role-mappings + requestBody: + $ref: '#/components/requestBodies/security.patch_role_mappings' + responses: + '200': + $ref: '#/components/responses/security.patch_role_mappings@200' + '400': + $ref: '#/components/responses/security.patch_role_mappings@400' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/rolesmapping/{role}: + delete: + operationId: security.delete_role_mapping.0 + x-operation-group: security.delete_role_mapping + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Deletes the specified role mapping. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#delete-role-mapping + parameters: + - $ref: '#/components/parameters/security.delete_role_mapping::path.role' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.delete_role_mapping@200' + get: + operationId: security.get_role_mapping.0 + x-operation-group: security.get_role_mapping + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves one role mapping. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-role-mapping + parameters: + - $ref: '#/components/parameters/security.get_role_mapping::path.role' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.get_role_mapping@200' + patch: + operationId: security.patch_role_mapping.0 + x-operation-group: security.patch_role_mapping + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Updates individual attributes of a role mapping. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#patch-role-mapping + parameters: + - $ref: '#/components/parameters/security.patch_role_mapping::path.role' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.patch_role_mapping' + responses: + '200': + $ref: '#/components/responses/security.patch_role_mapping@200' + '400': + $ref: '#/components/responses/security.patch_role_mapping@400' + put: + operationId: security.create_role_mapping.0 + x-operation-group: security.create_role_mapping + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Creates or replaces the specified role mapping. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#create-role-mapping + parameters: + - $ref: '#/components/parameters/security.create_role_mapping::path.role' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.create_role_mapping' + responses: + '200': + $ref: '#/components/responses/security.create_role_mapping@200' + '201': + $ref: '#/components/responses/security.create_role_mapping@201' + /_plugins/_security/api/securityconfig: + get: + operationId: security.get_configuration.0 + x-operation-group: security.get_configuration + x-version-added: '2.10' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Returns the current Security plugin configuration in JSON format. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-configuration + responses: + '200': + $ref: '#/components/responses/security.get_configuration@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + patch: + operationId: security.patch_configuration.0 + x-operation-group: security.patch_configuration + x-version-added: '2.10' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: A PATCH call is used to update the existing configuration using the REST API. Only accessible by admins and users with rest api access and only when put or patch is enabled. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#patch-configuration + requestBody: + $ref: '#/components/requestBodies/security.patch_configuration' + responses: + '200': + $ref: '#/components/responses/security.patch_configuration@200' + '403': + $ref: '#/components/responses/security.patch_configuration@403' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/securityconfig/config: + put: + operationId: security.update_configuration.0 + x-operation-group: security.update_configuration + x-version-added: '2.10' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Adds or updates the existing configuration using the REST API. Only accessible by admins and users with rest api access and only when put or patch is enabled. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#update-configuration + requestBody: + $ref: '#/components/requestBodies/security.update_configuration' + responses: + '200': + $ref: '#/components/responses/security.update_configuration@200' + '403': + $ref: '#/components/responses/security.update_configuration@403' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/ssl/certs: + get: + operationId: security.get_certificates.0 + x-operation-group: security.get_certificates + x-version-added: '2.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves the cluster security certificates. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-certificates + responses: + '200': + $ref: '#/components/responses/security.get_certificates@200' + '400': + $ref: '#/components/responses/security.get_certificates@400' + '403': + $ref: '#/components/responses/security.get_certificates@403' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/ssl/http/reloadcerts: + put: + operationId: security.reload_http_certificates.0 + x-operation-group: security.reload_http_certificates + x-version-added: '2.8' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Reload HTTP layer communication certificates. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#reload-http-certificates + responses: + '200': + $ref: '#/components/responses/security.reload_http_certificates@200' + '400': + $ref: '#/components/responses/security.reload_http_certificates@400' + '403': + $ref: '#/components/responses/security.reload_http_certificates@403' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/ssl/transport/reloadcerts: + put: + operationId: security.reload_transport_certificates.0 + x-operation-group: security.reload_transport_certificates + x-version-added: '2.8' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Reload Transport layer communication certificates. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#reload-transport-certificates + responses: + '200': + $ref: '#/components/responses/security.reload_transport_certificates@200' + '400': + $ref: '#/components/responses/security.reload_transport_certificates@400' + '403': + $ref: '#/components/responses/security.reload_transport_certificates@403' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/tenancy/config: + get: + operationId: security.get_tenancy_config.0 + x-operation-group: security.get_tenancy_config + x-version-added: '2.7' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves multi-tenancy configuration. Only accessible to admins and users with REST API permissions. + externalDocs: + url: https://opensearch.org/docs/latest/security/multi-tenancy/dynamic-config/#configuring-multi-tenancy-with-the-rest-api + responses: + '200': + $ref: '#/components/responses/security.get_tenancy_config@200' + '400': + $ref: '#/components/responses/security.get_tenancy_config@400' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + put: + operationId: security.create_update_tenancy_config.0 + x-operation-group: security.create_update_tenancy_config + x-version-added: '2.7' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Creates or replaces the multi-tenancy configuration. Only accessible to admins and users with REST API permissions. + externalDocs: + url: https://opensearch.org/docs/latest/security/multi-tenancy/dynamic-config/#configuring-multi-tenancy-with-the-rest-api + requestBody: + $ref: '#/components/requestBodies/security.create_update_tenancy_config' + responses: + '200': + $ref: '#/components/responses/security.create_update_tenancy_config@200' + '400': + $ref: '#/components/responses/security.create_update_tenancy_config@400' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/tenants: + get: + operationId: security.get_tenants.0 + x-operation-group: security.get_tenants + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves all tenants. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-tenants + responses: + '200': + $ref: '#/components/responses/security.get_tenants@200' + '400': + $ref: '#/components/responses/security.get_tenants@400' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + patch: + operationId: security.patch_tenants.0 + x-operation-group: security.patch_tenants + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Add, delete, or modify multiple tenants in a single call. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#patch-tenants + requestBody: + $ref: '#/components/requestBodies/security.patch_tenants' + responses: + '200': + $ref: '#/components/responses/security.patch_tenants@200' + '400': + $ref: '#/components/responses/security.patch_tenants@400' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/tenants/{tenant}: + delete: + operationId: security.delete_tenant.0 + x-operation-group: security.delete_tenant + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Delete the specified tenant. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#delete-action-group + parameters: + - $ref: '#/components/parameters/security.delete_tenant::path.tenant' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.delete_tenant@200' + '400': + $ref: '#/components/responses/security.delete_tenant@400' + get: + operationId: security.get_tenant.0 + x-operation-group: security.get_tenant + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves one tenant. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-tenant + parameters: + - $ref: '#/components/parameters/security.get_tenant::path.tenant' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.get_tenant@200' + patch: + operationId: security.patch_tenant.0 + x-operation-group: security.patch_tenant + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Add, delete, or modify a single tenant. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#patch-tenant + parameters: + - $ref: '#/components/parameters/security.patch_tenant::path.tenant' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.patch_tenant' + responses: + '200': + $ref: '#/components/responses/security.patch_tenant@200' + '400': + $ref: '#/components/responses/security.patch_tenant@400' + put: + operationId: security.create_tenant.0 + x-operation-group: security.create_tenant + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Creates or replaces the specified tenant. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#create-tenant + parameters: + - $ref: '#/components/parameters/security.create_tenant::path.tenant' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.create_tenant' + responses: + '200': + $ref: '#/components/responses/security.create_tenant@200' + '201': + $ref: '#/components/responses/security.create_tenant@201' + '400': + $ref: '#/components/responses/security.create_tenant@400' + /_plugins/_security/api/user: + get: + operationId: security.get_users_legacy.0 + x-operation-group: security.get_users_legacy + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieve all internal users. Legacy API. + responses: + '200': + $ref: '#/components/responses/security.get_users_legacy@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/api/user/{username}: + delete: + operationId: security.delete_user_legacy.0 + x-operation-group: security.delete_user_legacy + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Delete the specified user. Legacy API. + parameters: + - $ref: '#/components/parameters/security.delete_user_legacy::path.username' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.delete_user_legacy@200' + get: + operationId: security.get_user_legacy.0 + x-operation-group: security.get_user_legacy + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieve one user. Legacy API. + parameters: + - $ref: '#/components/parameters/security.get_user_legacy::path.username' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.get_user_legacy@200' + put: + operationId: security.create_user_legacy.0 + x-operation-group: security.create_user_legacy + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Creates or replaces the specified user. Legacy API. + parameters: + - $ref: '#/components/parameters/security.create_user_legacy::path.username' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.create_user_legacy' + responses: + '200': + $ref: '#/components/responses/security.create_user_legacy@200' + '201': + $ref: '#/components/responses/security.create_user_legacy@201' + /_plugins/_security/api/user/{username}/authtoken: + post: + operationId: security.generate_user_token_legacy.0 + x-operation-group: security.generate_user_token_legacy + x-version-added: '2.7' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Generates authorization token for the given user. Legacy API. Not Implemented. + parameters: + - $ref: '#/components/parameters/security.generate_user_token_legacy::path.username' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '501': + $ref: '#/components/responses/security.generate_user_token_legacy@501' + /_plugins/_security/api/validate: + get: + operationId: security.validate.0 + x-operation-group: security.validate + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Checks whether the v6 security configuration is valid and ready to be migrated to v7. + parameters: + - $ref: '#/components/parameters/security.validate::query.accept_invalid' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.validate@200' + '400': + $ref: '#/components/responses/security.validate@400' + /_plugins/_security/authinfo: + get: + operationId: security.authinfo.0 + x-operation-group: security.authinfo + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Returns the authentication information. + parameters: + - $ref: '#/components/parameters/security.authinfo::query.auth_type' + - $ref: '#/components/parameters/security.authinfo::query.verbose' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.authinfo@200' + '500': + $ref: '#/components/responses/security.authinfo@500' + post: + operationId: security.authinfo.1 + x-operation-group: security.authinfo + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Returns the authentication information. + parameters: + - $ref: '#/components/parameters/security.authinfo::query.auth_type' + - $ref: '#/components/parameters/security.authinfo::query.verbose' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.authinfo@200' + '500': + $ref: '#/components/responses/security.authinfo@500' + /_plugins/_security/dashboardsinfo: + get: + operationId: security.get_dashboards_info.0 + x-operation-group: security.get_dashboards_info + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves the current security-dashboards plugin configuration. + responses: + '200': + $ref: '#/components/responses/security.get_dashboards_info@200' + '500': + $ref: '#/components/responses/security.get_dashboards_info@500' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + post: + operationId: security.post_dashboards_info.1 + x-operation-group: security.post_dashboards_info + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Updates the current security-dashboards plugin configuration. + responses: + '200': + $ref: '#/components/responses/security.post_dashboards_info@200' + '500': + $ref: '#/components/responses/security.post_dashboards_info@500' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/health: + get: + operationId: security.health.0 + x-operation-group: security.health + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Checks to see if the Security plugin is up and running. + parameters: + - $ref: '#/components/parameters/security.health::query.mode' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#health-check + responses: + '200': + $ref: '#/components/responses/security.health@200' + post: + operationId: security.health.1 + x-operation-group: security.health + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Checks to see if the Security plugin is up and running. + parameters: + - $ref: '#/components/parameters/security.health::query.mode' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#health-check + responses: + '200': + $ref: '#/components/responses/security.health@200' + /_plugins/_security/tenantinfo: + get: + operationId: security.tenant_info.0 + x-operation-group: security.tenant_info + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves the tenant names if any exist. Only accessible to super admins or kibanaserver user. + responses: + '200': + $ref: '#/components/responses/security.tenant_info@200' + '403': + $ref: '#/components/responses/security.tenant_info@403' + '500': + $ref: '#/components/responses/security.tenant_info@500' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + post: + operationId: security.tenant_info.1 + x-operation-group: security.tenant_info + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves the tenant names if any exist. Only accessible to super admins or kibanaserver user. + responses: + '200': + $ref: '#/components/responses/security.tenant_info@200' + '403': + $ref: '#/components/responses/security.tenant_info@403' + '500': + $ref: '#/components/responses/security.tenant_info@500' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/whoami: + get: + operationId: security.who_am_i.0 + x-operation-group: security.who_am_i + x-version-added: '2.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Gets the user identity related information for currently logged in user. + responses: + '200': + $ref: '#/components/responses/security.who_am_i@200' + '500': + $ref: '#/components/responses/security.who_am_i@500' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + post: + operationId: security.who_am_i.1 + x-operation-group: security.who_am_i + x-version-added: '2.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Gets the user identity related information for currently logged in user. + responses: + '200': + $ref: '#/components/responses/security.who_am_i@200' + '500': + $ref: '#/components/responses/security.who_am_i@500' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_security/whoamiprotected: + get: + operationId: security.who_am_i_protected.0 + x-operation-group: security.who_am_i_protected + x-version-added: '2.11' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Gets the user identity related information for currently logged in user. User needs to have access to this endpoint when authorization at REST layer is enabled. + responses: + '200': + $ref: '#/components/responses/security.who_am_i_protected@200' + '500': + $ref: '#/components/responses/security.who_am_i_protected@500' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_sql: + post: + operationId: sql.query.0 + x-operation-group: sql.query + x-version-added: '1.0' + description: Send a SQL/PPL query to the SQL plugin. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/sql/sql-ppl-api/ + parameters: + - $ref: '#/components/parameters/sql.query::query.format' + - $ref: '#/components/parameters/sql.query::query.sanitize' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/sql.query' + responses: + '200': + $ref: '#/components/responses/sql.query@200' + /_plugins/_sql/_explain: + post: + operationId: sql.explain.0 + x-operation-group: sql.explain + x-version-added: '1.0' + description: Shows how a query is executed against OpenSearch. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/sql/sql-ppl-api/ + parameters: + - $ref: '#/components/parameters/sql.explain::query.format' + - $ref: '#/components/parameters/sql.explain::query.sanitize' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/sql.explain' + responses: + '200': + $ref: '#/components/responses/sql.explain@200' + /_plugins/_sql/close: + post: + operationId: sql.close.0 + x-operation-group: sql.close + x-version-added: '1.0' + description: Clear the cursor context. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/sql/sql-ppl-api/ + parameters: + - $ref: '#/components/parameters/sql.close::query.format' + - $ref: '#/components/parameters/sql.close::query.sanitize' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/sql.close' + responses: + '200': + $ref: '#/components/responses/sql.close@200' + /_plugins/_sql/stats: + get: + operationId: sql.get_stats.0 + x-operation-group: sql.get_stats + x-version-added: '1.0' + description: Collect metrics for the plugin within the interval. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/sql/monitoring/ + parameters: + - $ref: '#/components/parameters/sql.get_stats::query.format' + - $ref: '#/components/parameters/sql.get_stats::query.sanitize' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/sql.get_stats@200' + post: + operationId: sql.post_stats.1 + x-operation-group: sql.post_stats + x-version-added: '1.0' + description: By a stats endpoint, you are able to collect metrics for the plugin within the interval. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/sql/monitoring/ + parameters: + - $ref: '#/components/parameters/sql.post_stats::query.format' + - $ref: '#/components/parameters/sql.post_stats::query.sanitize' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/sql.post_stats' + responses: + '200': + $ref: '#/components/responses/sql.post_stats@200' + /_plugins/_transform: + get: + operationId: transforms.search.0 + x-operation-group: transforms.search + x-version-added: '1.0' + description: Returns the details of all transform jobs. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-transforms/transforms-apis/#get-a-transform-jobs-details + parameters: + - $ref: '#/components/parameters/transforms.search::query.from' + - $ref: '#/components/parameters/transforms.search::query.search' + - $ref: '#/components/parameters/transforms.search::query.size' + - $ref: '#/components/parameters/transforms.search::query.sortDirection' + - $ref: '#/components/parameters/transforms.search::query.sortField' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/transforms.search@200' + /_plugins/_transform/_preview: + get: + operationId: transforms.preview.0 + x-operation-group: transforms.preview + x-version-added: '1.0' + description: Returns a preview of what a transformed index would look like. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-transforms/transforms-apis/#preview-a-transform-jobs-results + responses: + '200': + $ref: '#/components/responses/transforms.preview@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_plugins/_transform/{id}: + delete: + operationId: transforms.delete.0 + x-operation-group: transforms.delete + x-version-added: '1.0' + description: Delete an index transform. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-transforms/transforms-apis/#delete-a-transform-job + parameters: + - $ref: '#/components/parameters/transforms.delete::path.id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/transforms.delete@200' + get: + operationId: transforms.get.0 + x-operation-group: transforms.get + x-version-added: '1.0' + description: Returns the status and metadata of a transform job. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-transforms/transforms-apis/#get-a-transform-jobs-details + parameters: + - $ref: '#/components/parameters/transforms.get::path.id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/transforms.get@200' + put: + operationId: transforms.put.0 + x-operation-group: transforms.put + x-version-added: '1.0' + description: Create an index transform, or update a transform if if_seq_no and if_primary_term are provided. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-transforms/transforms-apis/#create-a-transform-job + parameters: + - $ref: '#/components/parameters/transforms.put::path.id' + - $ref: '#/components/parameters/transforms.put::query.if_primary_term' + - $ref: '#/components/parameters/transforms.put::query.if_seq_no' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/transforms.put' + responses: + '200': + $ref: '#/components/responses/transforms.put@200' + /_plugins/_transform/{id}/_explain: + get: + operationId: transforms.explain.0 + x-operation-group: transforms.explain + x-version-added: '1.0' + description: Returns the status and metadata of a transform job. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-transforms/transforms-apis/#get-the-status-of-a-transform-job + parameters: + - $ref: '#/components/parameters/transforms.explain::path.id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/transforms.explain@200' + /_plugins/_transform/{id}/_start: + post: + operationId: transforms.start.0 + x-operation-group: transforms.start + x-version-added: '1.0' + description: Start transform. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-transforms/transforms-apis/#start-a-transform-job + parameters: + - $ref: '#/components/parameters/transforms.start::path.id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/transforms.start@200' + /_plugins/_transform/{id}/_stop: + post: + operationId: transforms.stop.0 + x-operation-group: transforms.stop + x-version-added: '1.0' + description: Stop transform. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-transforms/transforms-apis/#stop-a-transform-job + parameters: + - $ref: '#/components/parameters/transforms.stop::path.id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/transforms.stop@200' + /_rank_eval: + get: + operationId: rank_eval.0 + x-operation-group: rank_eval + x-version-added: '1.0' + description: Allows to evaluate the quality of ranked search results over a set of typical search queries. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/rank-eval/ + parameters: + - $ref: '#/components/parameters/rank_eval::query.allow_no_indices' + - $ref: '#/components/parameters/rank_eval::query.expand_wildcards' + - $ref: '#/components/parameters/rank_eval::query.ignore_unavailable' + - $ref: '#/components/parameters/rank_eval::query.search_type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/rank_eval' + responses: + '200': + $ref: '#/components/responses/rank_eval@200' + post: + operationId: rank_eval.1 + x-operation-group: rank_eval + x-version-added: '1.0' + description: Allows to evaluate the quality of ranked search results over a set of typical search queries. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/rank-eval/ + parameters: + - $ref: '#/components/parameters/rank_eval::query.allow_no_indices' + - $ref: '#/components/parameters/rank_eval::query.expand_wildcards' + - $ref: '#/components/parameters/rank_eval::query.ignore_unavailable' + - $ref: '#/components/parameters/rank_eval::query.search_type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/rank_eval' + responses: + '200': + $ref: '#/components/responses/rank_eval@200' + /_recovery: + get: + operationId: indices.recovery.0 + x-operation-group: indices.recovery + x-version-added: '1.0' + description: Returns information about ongoing index shard recoveries. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.recovery::query.active_only' + - $ref: '#/components/parameters/indices.recovery::query.detailed' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.recovery@200' + /_refresh: + get: + operationId: indices.refresh.0 + x-operation-group: indices.refresh + x-version-added: '1.0' + description: Performs the refresh operation in one or more indices. + externalDocs: + url: https://opensearch.org/docs/latest/tuning-your-cluster/availability-and-recovery/remote-store/index/#refresh-level-and-request-level-durability + parameters: + - $ref: '#/components/parameters/indices.refresh::query.allow_no_indices' + - $ref: '#/components/parameters/indices.refresh::query.expand_wildcards' + - $ref: '#/components/parameters/indices.refresh::query.ignore_unavailable' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.refresh@200' + post: + operationId: indices.refresh.1 + x-operation-group: indices.refresh + x-version-added: '1.0' + description: Performs the refresh operation in one or more indices. + externalDocs: + url: https://opensearch.org/docs/latest/tuning-your-cluster/availability-and-recovery/remote-store/index/#refresh-level-and-request-level-durability + parameters: + - $ref: '#/components/parameters/indices.refresh::query.allow_no_indices' + - $ref: '#/components/parameters/indices.refresh::query.expand_wildcards' + - $ref: '#/components/parameters/indices.refresh::query.ignore_unavailable' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.refresh@200' + /_reindex: + post: + operationId: reindex.0 + x-operation-group: reindex + x-version-added: '1.0' + description: |- + Allows to copy documents from one index to another, optionally filtering the source + documents by a query, changing the destination index settings, or fetching the + documents from a remote cluster. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/reindex-data/ + parameters: + - $ref: '#/components/parameters/reindex::query.max_docs' + - $ref: '#/components/parameters/reindex::query.refresh' + - $ref: '#/components/parameters/reindex::query.requests_per_second' + - $ref: '#/components/parameters/reindex::query.scroll' + - $ref: '#/components/parameters/reindex::query.slices' + - $ref: '#/components/parameters/reindex::query.timeout' + - $ref: '#/components/parameters/reindex::query.wait_for_active_shards' + - $ref: '#/components/parameters/reindex::query.wait_for_completion' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/reindex' + responses: + '200': + $ref: '#/components/responses/reindex@200' + /_reindex/{task_id}/_rethrottle: + post: + operationId: reindex_rethrottle.0 + x-operation-group: reindex_rethrottle + x-version-added: '1.0' + description: Changes the number of requests per second for a particular Reindex operation. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/reindex_rethrottle::path.task_id' + - $ref: '#/components/parameters/reindex_rethrottle::query.requests_per_second' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/reindex_rethrottle@200' + /_remote/info: + get: + operationId: cluster.remote_info.0 + x-operation-group: cluster.remote_info + x-version-added: '1.0' + description: Returns the information about configured remote clusters. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/remote-info/ + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/cluster.remote_info@200' + /_remotestore/_restore: + post: + operationId: remote_store.restore.0 + x-operation-group: remote_store.restore + x-version-added: '1.0' + description: Restores from remote store. + externalDocs: + url: https://opensearch.org/docs/latest/opensearch/remote/#restoring-from-a-backup + parameters: + - $ref: '#/components/parameters/remote_store.restore::query.cluster_manager_timeout' + - $ref: '#/components/parameters/remote_store.restore::query.wait_for_completion' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/remote_store.restore' + responses: + '200': + $ref: '#/components/responses/remote_store.restore@200' + /_render/template: + get: + operationId: render_search_template.0 + x-operation-group: render_search_template + x-version-added: '1.0' + description: Allows to use the Mustache language to pre-render a search definition. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/search-template/ + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/render_search_template' + responses: + '200': + $ref: '#/components/responses/render_search_template@200' + post: + operationId: render_search_template.1 + x-operation-group: render_search_template + x-version-added: '1.0' + description: Allows to use the Mustache language to pre-render a search definition. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/search-template/ + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/render_search_template' + responses: + '200': + $ref: '#/components/responses/render_search_template@200' + /_render/template/{id}: + get: + operationId: render_search_template.2 + x-operation-group: render_search_template + x-version-added: '1.0' + description: Allows to use the Mustache language to pre-render a search definition. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/search-template/ + parameters: + - $ref: '#/components/parameters/render_search_template::path.id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/render_search_template' + responses: + '200': + $ref: '#/components/responses/render_search_template@200' + post: + operationId: render_search_template.3 + x-operation-group: render_search_template + x-version-added: '1.0' + description: Allows to use the Mustache language to pre-render a search definition. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/search-template/ + parameters: + - $ref: '#/components/parameters/render_search_template::path.id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/render_search_template' + responses: + '200': + $ref: '#/components/responses/render_search_template@200' + /_resolve/index/{name}: + get: + operationId: indices.resolve_index.0 + x-operation-group: indices.resolve_index + x-version-added: '1.0' + description: Returns information about any matching indices, aliases, and data streams. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.resolve_index::path.name' + - $ref: '#/components/parameters/indices.resolve_index::query.expand_wildcards' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.resolve_index@200' + /_script_context: + get: + operationId: get_script_context.0 + x-operation-group: get_script_context + x-version-added: '1.0' + description: Returns all script contexts. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/script-apis/get-script-contexts/ + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/get_script_context@200' + /_script_language: + get: + operationId: get_script_languages.0 + x-operation-group: get_script_languages + x-version-added: '1.0' + description: Returns available script types, languages and contexts. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/script-apis/get-script-language/ + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/get_script_languages@200' + /_scripts/{id}: + delete: + operationId: delete_script.0 + x-operation-group: delete_script + x-version-added: '1.0' + description: Deletes a script. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/script-apis/delete-script/ + parameters: + - $ref: '#/components/parameters/delete_script::path.id' + - $ref: '#/components/parameters/delete_script::query.cluster_manager_timeout' + - $ref: '#/components/parameters/delete_script::query.master_timeout' + - $ref: '#/components/parameters/delete_script::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/delete_script@200' + get: + operationId: get_script.0 + x-operation-group: get_script + x-version-added: '1.0' + description: Returns a script. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/script-apis/get-stored-script/ + parameters: + - $ref: '#/components/parameters/get_script::path.id' + - $ref: '#/components/parameters/get_script::query.cluster_manager_timeout' + - $ref: '#/components/parameters/get_script::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/get_script@200' + post: + operationId: put_script.0 + x-operation-group: put_script + x-version-added: '1.0' + description: Creates or updates a script. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/script-apis/create-stored-script/ + parameters: + - $ref: '#/components/parameters/put_script::path.id' + - $ref: '#/components/parameters/put_script::query.cluster_manager_timeout' + - $ref: '#/components/parameters/put_script::query.master_timeout' + - $ref: '#/components/parameters/put_script::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/put_script' + responses: + '200': + $ref: '#/components/responses/put_script@200' + put: + operationId: put_script.1 + x-operation-group: put_script + x-version-added: '1.0' + description: Creates or updates a script. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/script-apis/create-stored-script/ + parameters: + - $ref: '#/components/parameters/put_script::path.id' + - $ref: '#/components/parameters/put_script::query.cluster_manager_timeout' + - $ref: '#/components/parameters/put_script::query.master_timeout' + - $ref: '#/components/parameters/put_script::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/put_script' + responses: + '200': + $ref: '#/components/responses/put_script@200' + /_scripts/{id}/{context}: + post: + operationId: put_script.2 + x-operation-group: put_script + x-version-added: '1.0' + description: Creates or updates a script. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/script-apis/create-stored-script/ + parameters: + - $ref: '#/components/parameters/put_script::path.context' + - $ref: '#/components/parameters/put_script::path.id' + - $ref: '#/components/parameters/put_script::query.cluster_manager_timeout' + - $ref: '#/components/parameters/put_script::query.master_timeout' + - $ref: '#/components/parameters/put_script::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/put_script' + responses: + '200': + $ref: '#/components/responses/put_script@200' + put: + operationId: put_script.3 + x-operation-group: put_script + x-version-added: '1.0' + description: Creates or updates a script. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/script-apis/create-stored-script/ + parameters: + - $ref: '#/components/parameters/put_script::path.context' + - $ref: '#/components/parameters/put_script::path.id' + - $ref: '#/components/parameters/put_script::query.cluster_manager_timeout' + - $ref: '#/components/parameters/put_script::query.master_timeout' + - $ref: '#/components/parameters/put_script::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/put_script' + responses: + '200': + $ref: '#/components/responses/put_script@200' + /_scripts/painless/_execute: + get: + operationId: scripts_painless_execute.0 + x-operation-group: scripts_painless_execute + x-version-added: '1.0' + description: Allows an arbitrary script to be executed and a result to be returned. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/script-apis/exec-script/ + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/scripts_painless_execute' + responses: + '200': + $ref: '#/components/responses/scripts_painless_execute@200' + post: + operationId: scripts_painless_execute.1 + x-operation-group: scripts_painless_execute + x-version-added: '1.0' + description: Allows an arbitrary script to be executed and a result to be returned. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/script-apis/exec-script/ + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/scripts_painless_execute' + responses: + '200': + $ref: '#/components/responses/scripts_painless_execute@200' + /_search: + get: + operationId: search.0 + x-operation-group: search + x-version-added: '1.0' + description: Returns results matching a query. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/search/ + parameters: + - $ref: '#/components/parameters/search::query._source' + - $ref: '#/components/parameters/search::query._source_excludes' + - $ref: '#/components/parameters/search::query._source_includes' + - $ref: '#/components/parameters/search::query.allow_no_indices' + - $ref: '#/components/parameters/search::query.allow_partial_search_results' + - $ref: '#/components/parameters/search::query.analyze_wildcard' + - $ref: '#/components/parameters/search::query.analyzer' + - $ref: '#/components/parameters/search::query.batched_reduce_size' + - $ref: '#/components/parameters/search::query.cancel_after_time_interval' + - $ref: '#/components/parameters/search::query.ccs_minimize_roundtrips' + - $ref: '#/components/parameters/search::query.default_operator' + - $ref: '#/components/parameters/search::query.df' + - $ref: '#/components/parameters/search::query.docvalue_fields' + - $ref: '#/components/parameters/search::query.expand_wildcards' + - $ref: '#/components/parameters/search::query.explain' + - $ref: '#/components/parameters/search::query.from' + - $ref: '#/components/parameters/search::query.ignore_throttled' + - $ref: '#/components/parameters/search::query.ignore_unavailable' + - $ref: '#/components/parameters/search::query.include_named_queries_score' + - $ref: '#/components/parameters/search::query.lenient' + - $ref: '#/components/parameters/search::query.max_concurrent_shard_requests' + - $ref: '#/components/parameters/search::query.phase_took' + - $ref: '#/components/parameters/search::query.pre_filter_shard_size' + - $ref: '#/components/parameters/search::query.preference' + - $ref: '#/components/parameters/search::query.q' + - $ref: '#/components/parameters/search::query.request_cache' + - $ref: '#/components/parameters/search::query.rest_total_hits_as_int' + - $ref: '#/components/parameters/search::query.routing' + - $ref: '#/components/parameters/search::query.scroll' + - $ref: '#/components/parameters/search::query.search_pipeline' + - $ref: '#/components/parameters/search::query.search_type' + - $ref: '#/components/parameters/search::query.seq_no_primary_term' + - $ref: '#/components/parameters/search::query.size' + - $ref: '#/components/parameters/search::query.sort' + - $ref: '#/components/parameters/search::query.stats' + - $ref: '#/components/parameters/search::query.stored_fields' + - $ref: '#/components/parameters/search::query.suggest_field' + - $ref: '#/components/parameters/search::query.suggest_mode' + - $ref: '#/components/parameters/search::query.suggest_size' + - $ref: '#/components/parameters/search::query.suggest_text' + - $ref: '#/components/parameters/search::query.terminate_after' + - $ref: '#/components/parameters/search::query.timeout' + - $ref: '#/components/parameters/search::query.track_scores' + - $ref: '#/components/parameters/search::query.track_total_hits' + - $ref: '#/components/parameters/search::query.typed_keys' + - $ref: '#/components/parameters/search::query.version' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/search' + responses: + '200': + $ref: '#/components/responses/search@200' + '400': + $ref: '#/components/responses/search@400' + '404': + $ref: '#/components/responses/search@404' + post: + operationId: search.1 + x-operation-group: search + x-version-added: '1.0' + description: Returns results matching a query. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/search/ + parameters: + - $ref: '#/components/parameters/search::query._source' + - $ref: '#/components/parameters/search::query._source_excludes' + - $ref: '#/components/parameters/search::query._source_includes' + - $ref: '#/components/parameters/search::query.allow_no_indices' + - $ref: '#/components/parameters/search::query.allow_partial_search_results' + - $ref: '#/components/parameters/search::query.analyze_wildcard' + - $ref: '#/components/parameters/search::query.analyzer' + - $ref: '#/components/parameters/search::query.batched_reduce_size' + - $ref: '#/components/parameters/search::query.cancel_after_time_interval' + - $ref: '#/components/parameters/search::query.ccs_minimize_roundtrips' + - $ref: '#/components/parameters/search::query.default_operator' + - $ref: '#/components/parameters/search::query.df' + - $ref: '#/components/parameters/search::query.docvalue_fields' + - $ref: '#/components/parameters/search::query.expand_wildcards' + - $ref: '#/components/parameters/search::query.explain' + - $ref: '#/components/parameters/search::query.from' + - $ref: '#/components/parameters/search::query.ignore_throttled' + - $ref: '#/components/parameters/search::query.ignore_unavailable' + - $ref: '#/components/parameters/search::query.include_named_queries_score' + - $ref: '#/components/parameters/search::query.lenient' + - $ref: '#/components/parameters/search::query.max_concurrent_shard_requests' + - $ref: '#/components/parameters/search::query.phase_took' + - $ref: '#/components/parameters/search::query.pre_filter_shard_size' + - $ref: '#/components/parameters/search::query.preference' + - $ref: '#/components/parameters/search::query.q' + - $ref: '#/components/parameters/search::query.request_cache' + - $ref: '#/components/parameters/search::query.rest_total_hits_as_int' + - $ref: '#/components/parameters/search::query.routing' + - $ref: '#/components/parameters/search::query.scroll' + - $ref: '#/components/parameters/search::query.search_pipeline' + - $ref: '#/components/parameters/search::query.search_type' + - $ref: '#/components/parameters/search::query.seq_no_primary_term' + - $ref: '#/components/parameters/search::query.size' + - $ref: '#/components/parameters/search::query.sort' + - $ref: '#/components/parameters/search::query.stats' + - $ref: '#/components/parameters/search::query.stored_fields' + - $ref: '#/components/parameters/search::query.suggest_field' + - $ref: '#/components/parameters/search::query.suggest_mode' + - $ref: '#/components/parameters/search::query.suggest_size' + - $ref: '#/components/parameters/search::query.suggest_text' + - $ref: '#/components/parameters/search::query.terminate_after' + - $ref: '#/components/parameters/search::query.timeout' + - $ref: '#/components/parameters/search::query.track_scores' + - $ref: '#/components/parameters/search::query.track_total_hits' + - $ref: '#/components/parameters/search::query.typed_keys' + - $ref: '#/components/parameters/search::query.version' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/search' + responses: + '200': + $ref: '#/components/responses/search@200' + '400': + $ref: '#/components/responses/search@400' + '404': + $ref: '#/components/responses/search@404' + /_search_shards: + get: + operationId: search_shards.0 + x-operation-group: search_shards + x-version-added: '1.0' + description: Returns information about the indices and shards that a search request would be executed against. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/search_shards::query.allow_no_indices' + - $ref: '#/components/parameters/search_shards::query.expand_wildcards' + - $ref: '#/components/parameters/search_shards::query.ignore_unavailable' + - $ref: '#/components/parameters/search_shards::query.local' + - $ref: '#/components/parameters/search_shards::query.preference' + - $ref: '#/components/parameters/search_shards::query.routing' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/search_shards@200' + post: + operationId: search_shards.1 + x-operation-group: search_shards + x-version-added: '1.0' + description: Returns information about the indices and shards that a search request would be executed against. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/search_shards::query.allow_no_indices' + - $ref: '#/components/parameters/search_shards::query.expand_wildcards' + - $ref: '#/components/parameters/search_shards::query.ignore_unavailable' + - $ref: '#/components/parameters/search_shards::query.local' + - $ref: '#/components/parameters/search_shards::query.preference' + - $ref: '#/components/parameters/search_shards::query.routing' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/search_shards@200' + /_search/pipeline: + get: + operationId: search_pipeline.get.0 + x-operation-group: search_pipeline.get + x-version-added: '2.9' + description: Retrieves information about a specified search pipeline. + parameters: + - $ref: '#/components/parameters/search_pipeline.get::query.cluster_manager_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/search_pipeline.get@200' + /_search/pipeline/{id}: + delete: + operationId: search_pipeline.delete.0 + x-operation-group: search_pipeline.delete + x-version-added: '2.9' + description: Deletes the specified search pipeline. + parameters: + - $ref: '#/components/parameters/search_pipeline.delete::path.id' + - $ref: '#/components/parameters/search_pipeline.delete::query.cluster_manager_timeout' + - $ref: '#/components/parameters/search_pipeline.delete::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/search_pipeline.delete@200' + get: + operationId: search_pipeline.get.1 + x-operation-group: search_pipeline.get + x-version-added: '2.9' + description: Retrieves information about a specified search pipeline. + parameters: + - $ref: '#/components/parameters/search_pipeline.get::path.id' + - $ref: '#/components/parameters/search_pipeline.get::query.cluster_manager_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/search_pipeline.get@200' + put: + operationId: search_pipeline.put.0 + x-operation-group: search_pipeline.put + x-version-added: '2.9' + description: Creates or replaces the specified search pipeline. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/search-pipelines/creating-search-pipeline/ + parameters: + - $ref: '#/components/parameters/search_pipeline.put::path.id' + - $ref: '#/components/parameters/search_pipeline.put::query.cluster_manager_timeout' + - $ref: '#/components/parameters/search_pipeline.put::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/search_pipeline.put' + responses: + '200': + $ref: '#/components/responses/search_pipeline.put@200' + /_search/point_in_time: + delete: + operationId: delete_pit.0 + x-operation-group: delete_pit + x-version-added: '2.4' + description: Deletes one or more point in time searches based on the IDs passed. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/point-in-time-api/#delete-pits + requestBody: + $ref: '#/components/requestBodies/delete_pit' + responses: + '200': + $ref: '#/components/responses/delete_pit@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_search/point_in_time/_all: + delete: + operationId: delete_all_pits.0 + x-operation-group: delete_all_pits + x-version-added: '2.4' + description: Deletes all active point in time searches. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/point-in-time-api/#delete-pits + responses: + '200': + $ref: '#/components/responses/delete_all_pits@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + get: + operationId: get_all_pits.0 + x-operation-group: get_all_pits + x-version-added: '2.4' + description: Lists all active point in time searches. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/point-in-time-api/#list-all-pits + responses: + '200': + $ref: '#/components/responses/get_all_pits@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + /_search/scroll: + delete: + operationId: clear_scroll.0 + x-operation-group: clear_scroll + x-version-added: '1.0' + description: Explicitly clears the search context for a scroll. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/scroll/ + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/clear_scroll' + responses: + '200': + $ref: '#/components/responses/clear_scroll@200' + get: + operationId: scroll.0 + x-operation-group: scroll + x-version-added: '1.0' + description: Allows to retrieve a large numbers of results from a single search request. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/scroll/#path-and-http-methods + parameters: + - $ref: '#/components/parameters/scroll::query.rest_total_hits_as_int' + - $ref: '#/components/parameters/scroll::query.scroll' + - $ref: '#/components/parameters/scroll::query.scroll_id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/scroll' + responses: + '200': + $ref: '#/components/responses/scroll@200' + post: + operationId: scroll.1 + x-operation-group: scroll + x-version-added: '1.0' + description: Allows to retrieve a large numbers of results from a single search request. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/scroll/#path-and-http-methods + parameters: + - $ref: '#/components/parameters/scroll::query.rest_total_hits_as_int' + - $ref: '#/components/parameters/scroll::query.scroll' + - $ref: '#/components/parameters/scroll::query.scroll_id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/scroll' + responses: + '200': + $ref: '#/components/responses/scroll@200' + /_search/scroll/{scroll_id}: + delete: + operationId: clear_scroll.1 + x-operation-group: clear_scroll + deprecated: true + x-deprecation-message: A scroll id can be quite large and should be specified as part of the body + x-version-added: '1.0' + x-version-deprecated: '1.0' + description: Explicitly clears the search context for a scroll. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/scroll/ + parameters: + - $ref: '#/components/parameters/clear_scroll::path.scroll_id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/clear_scroll' + responses: + '200': + $ref: '#/components/responses/clear_scroll@200' + get: + operationId: scroll.2 + x-operation-group: scroll + deprecated: true + x-deprecation-message: A scroll id can be quite large and should be specified as part of the body + x-version-added: '1.0' + x-version-deprecated: '1.0' + description: Allows to retrieve a large numbers of results from a single search request. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/scroll/#path-and-http-methods + parameters: + - $ref: '#/components/parameters/scroll::path.scroll_id' + - $ref: '#/components/parameters/scroll::query.rest_total_hits_as_int' + - $ref: '#/components/parameters/scroll::query.scroll' + - $ref: '#/components/parameters/scroll::query.scroll_id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/scroll' + responses: + '200': + $ref: '#/components/responses/scroll@200' + post: + operationId: scroll.3 + x-operation-group: scroll + deprecated: true + x-deprecation-message: A scroll id can be quite large and should be specified as part of the body + x-version-added: '1.0' + x-version-deprecated: '1.0' + description: Allows to retrieve a large numbers of results from a single search request. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/scroll/#path-and-http-methods + parameters: + - $ref: '#/components/parameters/scroll::path.scroll_id' + - $ref: '#/components/parameters/scroll::query.rest_total_hits_as_int' + - $ref: '#/components/parameters/scroll::query.scroll' + - $ref: '#/components/parameters/scroll::query.scroll_id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/scroll' + responses: + '200': + $ref: '#/components/responses/scroll@200' + /_search/template: + get: + operationId: search_template.0 + x-operation-group: search_template + x-version-added: '1.0' + description: Allows to use the Mustache language to pre-render a search definition. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/search-template/ + parameters: + - $ref: '#/components/parameters/search_template::query.allow_no_indices' + - $ref: '#/components/parameters/search_template::query.ccs_minimize_roundtrips' + - $ref: '#/components/parameters/search_template::query.expand_wildcards' + - $ref: '#/components/parameters/search_template::query.explain' + - $ref: '#/components/parameters/search_template::query.ignore_throttled' + - $ref: '#/components/parameters/search_template::query.ignore_unavailable' + - $ref: '#/components/parameters/search_template::query.preference' + - $ref: '#/components/parameters/search_template::query.profile' + - $ref: '#/components/parameters/search_template::query.rest_total_hits_as_int' + - $ref: '#/components/parameters/search_template::query.routing' + - $ref: '#/components/parameters/search_template::query.scroll' + - $ref: '#/components/parameters/search_template::query.search_type' + - $ref: '#/components/parameters/search_template::query.typed_keys' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/search_template' + responses: + '200': + $ref: '#/components/responses/search_template@200' + post: + operationId: search_template.1 + x-operation-group: search_template + x-version-added: '1.0' + description: Allows to use the Mustache language to pre-render a search definition. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/search-template/ + parameters: + - $ref: '#/components/parameters/search_template::query.allow_no_indices' + - $ref: '#/components/parameters/search_template::query.ccs_minimize_roundtrips' + - $ref: '#/components/parameters/search_template::query.expand_wildcards' + - $ref: '#/components/parameters/search_template::query.explain' + - $ref: '#/components/parameters/search_template::query.ignore_throttled' + - $ref: '#/components/parameters/search_template::query.ignore_unavailable' + - $ref: '#/components/parameters/search_template::query.preference' + - $ref: '#/components/parameters/search_template::query.profile' + - $ref: '#/components/parameters/search_template::query.rest_total_hits_as_int' + - $ref: '#/components/parameters/search_template::query.routing' + - $ref: '#/components/parameters/search_template::query.scroll' + - $ref: '#/components/parameters/search_template::query.search_type' + - $ref: '#/components/parameters/search_template::query.typed_keys' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/search_template' + responses: + '200': + $ref: '#/components/responses/search_template@200' + /_segments: + get: + operationId: indices.segments.0 + x-operation-group: indices.segments + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Provides low-level information about segments in a Lucene index. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.segments::query.allow_no_indices' + - $ref: '#/components/parameters/indices.segments::query.expand_wildcards' + - $ref: '#/components/parameters/indices.segments::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.segments::query.verbose' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.segments@200' + /_settings: + get: + operationId: indices.get_settings.0 + x-operation-group: indices.get_settings + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Returns settings for one or more indices. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/get-settings/ + parameters: + - $ref: '#/components/parameters/indices.get_settings::query.allow_no_indices' + - $ref: '#/components/parameters/indices.get_settings::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.get_settings::query.expand_wildcards' + - $ref: '#/components/parameters/indices.get_settings::query.flat_settings' + - $ref: '#/components/parameters/indices.get_settings::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.get_settings::query.include_defaults' + - $ref: '#/components/parameters/indices.get_settings::query.local' + - $ref: '#/components/parameters/indices.get_settings::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.get_settings@200' + put: + operationId: indices.put_settings.0 + x-operation-group: indices.put_settings + x-version-added: '1.0' + description: Updates the index settings. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/update-settings/ + parameters: + - $ref: '#/components/parameters/indices.put_settings::query.allow_no_indices' + - $ref: '#/components/parameters/indices.put_settings::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.put_settings::query.expand_wildcards' + - $ref: '#/components/parameters/indices.put_settings::query.flat_settings' + - $ref: '#/components/parameters/indices.put_settings::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.put_settings::query.master_timeout' + - $ref: '#/components/parameters/indices.put_settings::query.preserve_existing' + - $ref: '#/components/parameters/indices.put_settings::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.put_settings' + responses: + '200': + $ref: '#/components/responses/indices.put_settings@200' + /_settings/{name}: + get: + operationId: indices.get_settings.1 + x-operation-group: indices.get_settings + x-version-added: '1.0' + description: Returns settings for one or more indices. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/get-settings/ + parameters: + - $ref: '#/components/parameters/indices.get_settings::path.name' + - $ref: '#/components/parameters/indices.get_settings::query.allow_no_indices' + - $ref: '#/components/parameters/indices.get_settings::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.get_settings::query.expand_wildcards' + - $ref: '#/components/parameters/indices.get_settings::query.flat_settings' + - $ref: '#/components/parameters/indices.get_settings::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.get_settings::query.include_defaults' + - $ref: '#/components/parameters/indices.get_settings::query.local' + - $ref: '#/components/parameters/indices.get_settings::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.get_settings@200' + /_shard_stores: + get: + operationId: indices.shard_stores.0 + x-operation-group: indices.shard_stores + x-version-added: '1.0' + description: Provides store information for shard copies of indices. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.shard_stores::query.allow_no_indices' + - $ref: '#/components/parameters/indices.shard_stores::query.expand_wildcards' + - $ref: '#/components/parameters/indices.shard_stores::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.shard_stores::query.status' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.shard_stores@200' + /_snapshot: + get: + operationId: snapshot.get_repository.0 + x-operation-group: snapshot.get_repository + x-version-added: '1.0' + description: Returns information about a repository. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/snapshots/get-snapshot-repository/ + parameters: + - $ref: '#/components/parameters/snapshot.get_repository::query.cluster_manager_timeout' + - $ref: '#/components/parameters/snapshot.get_repository::query.local' + - $ref: '#/components/parameters/snapshot.get_repository::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/snapshot.get_repository@200' + /_snapshot/_status: + get: + operationId: snapshot.status.0 + x-operation-group: snapshot.status + x-version-added: '1.0' + description: Returns information about the status of a snapshot. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/snapshots/get-snapshot-status/ + parameters: + - $ref: '#/components/parameters/snapshot.status::query.cluster_manager_timeout' + - $ref: '#/components/parameters/snapshot.status::query.ignore_unavailable' + - $ref: '#/components/parameters/snapshot.status::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/snapshot.status@200' + /_snapshot/{repository}: + delete: + operationId: snapshot.delete_repository.0 + x-operation-group: snapshot.delete_repository + x-version-added: '1.0' + description: Deletes a repository. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/snapshots/delete-snapshot-repository/ + parameters: + - $ref: '#/components/parameters/snapshot.delete_repository::path.repository' + - $ref: '#/components/parameters/snapshot.delete_repository::query.cluster_manager_timeout' + - $ref: '#/components/parameters/snapshot.delete_repository::query.master_timeout' + - $ref: '#/components/parameters/snapshot.delete_repository::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/snapshot.delete_repository@200' + get: + operationId: snapshot.get_repository.1 + x-operation-group: snapshot.get_repository + x-version-added: '1.0' + description: Returns information about a repository. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/snapshots/get-snapshot-repository/ + parameters: + - $ref: '#/components/parameters/snapshot.get_repository::path.repository' + - $ref: '#/components/parameters/snapshot.get_repository::query.cluster_manager_timeout' + - $ref: '#/components/parameters/snapshot.get_repository::query.local' + - $ref: '#/components/parameters/snapshot.get_repository::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/snapshot.get_repository@200' + post: + operationId: snapshot.create_repository.0 + x-operation-group: snapshot.create_repository + x-version-added: '1.0' + description: Creates a repository. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/snapshots/create-repository/ + parameters: + - $ref: '#/components/parameters/snapshot.create_repository::path.repository' + - $ref: '#/components/parameters/snapshot.create_repository::query.cluster_manager_timeout' + - $ref: '#/components/parameters/snapshot.create_repository::query.master_timeout' + - $ref: '#/components/parameters/snapshot.create_repository::query.timeout' + - $ref: '#/components/parameters/snapshot.create_repository::query.verify' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/snapshot.create_repository' + responses: + '200': + $ref: '#/components/responses/snapshot.create_repository@200' + put: + operationId: snapshot.create_repository.1 + x-operation-group: snapshot.create_repository + x-version-added: '1.0' + description: Creates a repository. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/snapshots/create-repository/ + parameters: + - $ref: '#/components/parameters/snapshot.create_repository::path.repository' + - $ref: '#/components/parameters/snapshot.create_repository::query.cluster_manager_timeout' + - $ref: '#/components/parameters/snapshot.create_repository::query.master_timeout' + - $ref: '#/components/parameters/snapshot.create_repository::query.timeout' + - $ref: '#/components/parameters/snapshot.create_repository::query.verify' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/snapshot.create_repository' + responses: + '200': + $ref: '#/components/responses/snapshot.create_repository@200' + /_snapshot/{repository}/_cleanup: + post: + operationId: snapshot.cleanup_repository.0 + x-operation-group: snapshot.cleanup_repository + x-version-added: '1.0' + description: Removes stale data from repository. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/snapshot.cleanup_repository::path.repository' + - $ref: '#/components/parameters/snapshot.cleanup_repository::query.cluster_manager_timeout' + - $ref: '#/components/parameters/snapshot.cleanup_repository::query.master_timeout' + - $ref: '#/components/parameters/snapshot.cleanup_repository::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/snapshot.cleanup_repository@200' + /_snapshot/{repository}/_status: + get: + operationId: snapshot.status.1 + x-operation-group: snapshot.status + x-version-added: '1.0' + description: Returns information about the status of a snapshot. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/snapshots/get-snapshot-status/ + parameters: + - $ref: '#/components/parameters/snapshot.status::path.repository' + - $ref: '#/components/parameters/snapshot.status::query.cluster_manager_timeout' + - $ref: '#/components/parameters/snapshot.status::query.ignore_unavailable' + - $ref: '#/components/parameters/snapshot.status::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/snapshot.status@200' + /_snapshot/{repository}/_verify: + post: + operationId: snapshot.verify_repository.0 + x-operation-group: snapshot.verify_repository + x-version-added: '1.0' + description: Verifies a repository. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/snapshots/verify-snapshot-repository/ + parameters: + - $ref: '#/components/parameters/snapshot.verify_repository::path.repository' + - $ref: '#/components/parameters/snapshot.verify_repository::query.cluster_manager_timeout' + - $ref: '#/components/parameters/snapshot.verify_repository::query.master_timeout' + - $ref: '#/components/parameters/snapshot.verify_repository::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/snapshot.verify_repository@200' + /_snapshot/{repository}/{snapshot}: + delete: + operationId: snapshot.delete.0 + x-operation-group: snapshot.delete + x-version-added: '1.0' + description: Deletes a snapshot. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/snapshots/delete-snapshot/ + parameters: + - $ref: '#/components/parameters/snapshot.delete::path.repository' + - $ref: '#/components/parameters/snapshot.delete::path.snapshot' + - $ref: '#/components/parameters/snapshot.delete::query.cluster_manager_timeout' + - $ref: '#/components/parameters/snapshot.delete::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/snapshot.delete@200' + get: + operationId: snapshot.get.0 + x-operation-group: snapshot.get + x-version-added: '1.0' + description: Returns information about a snapshot. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/snapshot.get::path.repository' + - $ref: '#/components/parameters/snapshot.get::path.snapshot' + - $ref: '#/components/parameters/snapshot.get::query.cluster_manager_timeout' + - $ref: '#/components/parameters/snapshot.get::query.ignore_unavailable' + - $ref: '#/components/parameters/snapshot.get::query.master_timeout' + - $ref: '#/components/parameters/snapshot.get::query.verbose' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/snapshot.get@200' + post: + operationId: snapshot.create.0 + x-operation-group: snapshot.create + x-version-added: '1.0' + description: Creates a snapshot in a repository. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/snapshots/create-snapshot/ + parameters: + - $ref: '#/components/parameters/snapshot.create::path.repository' + - $ref: '#/components/parameters/snapshot.create::path.snapshot' + - $ref: '#/components/parameters/snapshot.create::query.cluster_manager_timeout' + - $ref: '#/components/parameters/snapshot.create::query.master_timeout' + - $ref: '#/components/parameters/snapshot.create::query.wait_for_completion' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/snapshot.create' + responses: + '200': + $ref: '#/components/responses/snapshot.create@200' + put: + operationId: snapshot.create.1 + x-operation-group: snapshot.create + x-version-added: '1.0' + description: Creates a snapshot in a repository. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/snapshots/create-snapshot/ + parameters: + - $ref: '#/components/parameters/snapshot.create::path.repository' + - $ref: '#/components/parameters/snapshot.create::path.snapshot' + - $ref: '#/components/parameters/snapshot.create::query.cluster_manager_timeout' + - $ref: '#/components/parameters/snapshot.create::query.master_timeout' + - $ref: '#/components/parameters/snapshot.create::query.wait_for_completion' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/snapshot.create' + responses: + '200': + $ref: '#/components/responses/snapshot.create@200' + /_snapshot/{repository}/{snapshot}/_clone/{target_snapshot}: + put: + operationId: snapshot.clone.0 + x-operation-group: snapshot.clone + x-version-added: '1.0' + description: Clones indices from one snapshot into another snapshot in the same repository. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/snapshot.clone::path.repository' + - $ref: '#/components/parameters/snapshot.clone::path.snapshot' + - $ref: '#/components/parameters/snapshot.clone::path.target_snapshot' + - $ref: '#/components/parameters/snapshot.clone::query.cluster_manager_timeout' + - $ref: '#/components/parameters/snapshot.clone::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/snapshot.clone' + responses: + '200': + $ref: '#/components/responses/snapshot.clone@200' + /_snapshot/{repository}/{snapshot}/_restore: + post: + operationId: snapshot.restore.0 + x-operation-group: snapshot.restore + x-version-added: '1.0' + description: Restores a snapshot. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/snapshots/restore-snapshot/ + parameters: + - $ref: '#/components/parameters/snapshot.restore::path.repository' + - $ref: '#/components/parameters/snapshot.restore::path.snapshot' + - $ref: '#/components/parameters/snapshot.restore::query.cluster_manager_timeout' + - $ref: '#/components/parameters/snapshot.restore::query.master_timeout' + - $ref: '#/components/parameters/snapshot.restore::query.wait_for_completion' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/snapshot.restore' + responses: + '200': + $ref: '#/components/responses/snapshot.restore@200' + /_snapshot/{repository}/{snapshot}/_status: + get: + operationId: snapshot.status.2 + x-operation-group: snapshot.status + x-version-added: '1.0' + description: Returns information about the status of a snapshot. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/snapshots/get-snapshot-status/ + parameters: + - $ref: '#/components/parameters/snapshot.status::path.repository' + - $ref: '#/components/parameters/snapshot.status::path.snapshot' + - $ref: '#/components/parameters/snapshot.status::query.cluster_manager_timeout' + - $ref: '#/components/parameters/snapshot.status::query.ignore_unavailable' + - $ref: '#/components/parameters/snapshot.status::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/snapshot.status@200' + /_stats: + get: + operationId: indices.stats.0 + x-operation-group: indices.stats + x-version-added: '1.0' + description: Provides statistics on operations happening in an index. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.stats::query.completion_fields' + - $ref: '#/components/parameters/indices.stats::query.expand_wildcards' + - $ref: '#/components/parameters/indices.stats::query.fielddata_fields' + - $ref: '#/components/parameters/indices.stats::query.fields' + - $ref: '#/components/parameters/indices.stats::query.forbid_closed_indices' + - $ref: '#/components/parameters/indices.stats::query.groups' + - $ref: '#/components/parameters/indices.stats::query.include_segment_file_sizes' + - $ref: '#/components/parameters/indices.stats::query.include_unloaded_segments' + - $ref: '#/components/parameters/indices.stats::query.level' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.stats@200' + /_stats/{metric}: + get: + operationId: indices.stats.1 + x-operation-group: indices.stats + x-version-added: '1.0' + description: Provides statistics on operations happening in an index. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.stats::path.metric' + - $ref: '#/components/parameters/indices.stats::query.completion_fields' + - $ref: '#/components/parameters/indices.stats::query.expand_wildcards' + - $ref: '#/components/parameters/indices.stats::query.fielddata_fields' + - $ref: '#/components/parameters/indices.stats::query.fields' + - $ref: '#/components/parameters/indices.stats::query.forbid_closed_indices' + - $ref: '#/components/parameters/indices.stats::query.groups' + - $ref: '#/components/parameters/indices.stats::query.include_segment_file_sizes' + - $ref: '#/components/parameters/indices.stats::query.include_unloaded_segments' + - $ref: '#/components/parameters/indices.stats::query.level' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.stats@200' + /_tasks: + get: + operationId: tasks.list.0 + x-operation-group: tasks.list + x-version-added: '1.0' + description: Returns a list of tasks. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/tasks/ + parameters: + - $ref: '#/components/parameters/tasks.list::query.actions' + - $ref: '#/components/parameters/tasks.list::query.detailed' + - $ref: '#/components/parameters/tasks.list::query.group_by' + - $ref: '#/components/parameters/tasks.list::query.nodes' + - $ref: '#/components/parameters/tasks.list::query.parent_task_id' + - $ref: '#/components/parameters/tasks.list::query.timeout' + - $ref: '#/components/parameters/tasks.list::query.wait_for_completion' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/tasks.list@200' + /_tasks/_cancel: + post: + operationId: tasks.cancel.0 + x-operation-group: tasks.cancel + x-version-added: '1.0' + description: Cancels a task, if it can be cancelled through an API. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/tasks/#task-canceling + parameters: + - $ref: '#/components/parameters/tasks.cancel::query.actions' + - $ref: '#/components/parameters/tasks.cancel::query.nodes' + - $ref: '#/components/parameters/tasks.cancel::query.parent_task_id' + - $ref: '#/components/parameters/tasks.cancel::query.wait_for_completion' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/tasks.cancel@200' + /_tasks/{task_id}: + get: + operationId: tasks.get.0 + x-operation-group: tasks.get + x-version-added: '1.0' + description: Returns information about a task. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/tasks/ + parameters: + - $ref: '#/components/parameters/tasks.get::path.task_id' + - $ref: '#/components/parameters/tasks.get::query.timeout' + - $ref: '#/components/parameters/tasks.get::query.wait_for_completion' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/tasks.get@200' + /_tasks/{task_id}/_cancel: + post: + operationId: tasks.cancel.1 + x-operation-group: tasks.cancel + x-version-added: '1.0' + description: Cancels a task, if it can be cancelled through an API. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/tasks/#task-canceling + parameters: + - $ref: '#/components/parameters/tasks.cancel::path.task_id' + - $ref: '#/components/parameters/tasks.cancel::query.actions' + - $ref: '#/components/parameters/tasks.cancel::query.nodes' + - $ref: '#/components/parameters/tasks.cancel::query.parent_task_id' + - $ref: '#/components/parameters/tasks.cancel::query.wait_for_completion' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/tasks.cancel@200' + /_template: + get: + operationId: indices.get_template.0 + x-operation-group: indices.get_template + x-version-added: '1.0' + description: Returns an index template. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.get_template::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.get_template::query.flat_settings' + - $ref: '#/components/parameters/indices.get_template::query.local' + - $ref: '#/components/parameters/indices.get_template::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.get_template@200' + /_template/{name}: + delete: + operationId: indices.delete_template.0 + x-operation-group: indices.delete_template + x-version-added: '1.0' + description: Deletes an index template. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.delete_template::path.name' + - $ref: '#/components/parameters/indices.delete_template::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.delete_template::query.master_timeout' + - $ref: '#/components/parameters/indices.delete_template::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.delete_template@200' + get: + operationId: indices.get_template.1 + x-operation-group: indices.get_template + x-version-added: '1.0' + description: Returns an index template. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.get_template::path.name' + - $ref: '#/components/parameters/indices.get_template::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.get_template::query.flat_settings' + - $ref: '#/components/parameters/indices.get_template::query.local' + - $ref: '#/components/parameters/indices.get_template::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.get_template@200' + head: + operationId: indices.exists_template.0 + x-operation-group: indices.exists_template + x-version-added: '1.0' + description: Returns information about whether a particular index template exists. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.exists_template::path.name' + - $ref: '#/components/parameters/indices.exists_template::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.exists_template::query.flat_settings' + - $ref: '#/components/parameters/indices.exists_template::query.local' + - $ref: '#/components/parameters/indices.exists_template::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.exists_template@200' + post: + operationId: indices.put_template.0 + x-operation-group: indices.put_template + x-version-added: '1.0' + description: Creates or updates an index template. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-templates/ + parameters: + - $ref: '#/components/parameters/indices.put_template::path.name' + - $ref: '#/components/parameters/indices.put_template::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.put_template::query.create' + - $ref: '#/components/parameters/indices.put_template::query.master_timeout' + - $ref: '#/components/parameters/indices.put_template::query.order' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.put_template' + responses: + '200': + $ref: '#/components/responses/indices.put_template@200' + put: + operationId: indices.put_template.1 + x-operation-group: indices.put_template + x-version-added: '1.0' + description: Creates or updates an index template. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-templates/ + parameters: + - $ref: '#/components/parameters/indices.put_template::path.name' + - $ref: '#/components/parameters/indices.put_template::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.put_template::query.create' + - $ref: '#/components/parameters/indices.put_template::query.master_timeout' + - $ref: '#/components/parameters/indices.put_template::query.order' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.put_template' + responses: + '200': + $ref: '#/components/responses/indices.put_template@200' + /_update_by_query/{task_id}/_rethrottle: + post: + operationId: update_by_query_rethrottle.0 + x-operation-group: update_by_query_rethrottle + x-version-added: '1.0' + description: Changes the number of requests per second for a particular Update By Query operation. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/update_by_query_rethrottle::path.task_id' + - $ref: '#/components/parameters/update_by_query_rethrottle::query.requests_per_second' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/update_by_query_rethrottle@200' + /_upgrade: + get: + operationId: indices.get_upgrade.0 + x-operation-group: indices.get_upgrade + x-version-added: '1.0' + description: The _upgrade API is no longer useful and will be removed. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.get_upgrade::query.allow_no_indices' + - $ref: '#/components/parameters/indices.get_upgrade::query.expand_wildcards' + - $ref: '#/components/parameters/indices.get_upgrade::query.ignore_unavailable' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.get_upgrade@200' + post: + operationId: indices.upgrade.0 + x-operation-group: indices.upgrade + x-version-added: '1.0' + description: The _upgrade API is no longer useful and will be removed. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.upgrade::query.allow_no_indices' + - $ref: '#/components/parameters/indices.upgrade::query.expand_wildcards' + - $ref: '#/components/parameters/indices.upgrade::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.upgrade::query.only_ancient_segments' + - $ref: '#/components/parameters/indices.upgrade::query.wait_for_completion' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.upgrade@200' + /_validate/query: + get: + operationId: indices.validate_query.0 + x-operation-group: indices.validate_query + x-version-added: '1.0' + description: Allows a user to validate a potentially expensive query without executing it. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.validate_query::query.all_shards' + - $ref: '#/components/parameters/indices.validate_query::query.allow_no_indices' + - $ref: '#/components/parameters/indices.validate_query::query.analyze_wildcard' + - $ref: '#/components/parameters/indices.validate_query::query.analyzer' + - $ref: '#/components/parameters/indices.validate_query::query.default_operator' + - $ref: '#/components/parameters/indices.validate_query::query.df' + - $ref: '#/components/parameters/indices.validate_query::query.expand_wildcards' + - $ref: '#/components/parameters/indices.validate_query::query.explain' + - $ref: '#/components/parameters/indices.validate_query::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.validate_query::query.lenient' + - $ref: '#/components/parameters/indices.validate_query::query.q' + - $ref: '#/components/parameters/indices.validate_query::query.rewrite' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.validate_query' + responses: + '200': + $ref: '#/components/responses/indices.validate_query@200' + post: + operationId: indices.validate_query.1 + x-operation-group: indices.validate_query + x-version-added: '1.0' + description: Allows a user to validate a potentially expensive query without executing it. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.validate_query::query.all_shards' + - $ref: '#/components/parameters/indices.validate_query::query.allow_no_indices' + - $ref: '#/components/parameters/indices.validate_query::query.analyze_wildcard' + - $ref: '#/components/parameters/indices.validate_query::query.analyzer' + - $ref: '#/components/parameters/indices.validate_query::query.default_operator' + - $ref: '#/components/parameters/indices.validate_query::query.df' + - $ref: '#/components/parameters/indices.validate_query::query.expand_wildcards' + - $ref: '#/components/parameters/indices.validate_query::query.explain' + - $ref: '#/components/parameters/indices.validate_query::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.validate_query::query.lenient' + - $ref: '#/components/parameters/indices.validate_query::query.q' + - $ref: '#/components/parameters/indices.validate_query::query.rewrite' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.validate_query' + responses: + '200': + $ref: '#/components/responses/indices.validate_query@200' + /{alias}/_rollover: + post: + operationId: indices.rollover.0 + x-operation-group: indices.rollover + x-version-added: '1.0' + description: |- + Updates an alias to point to a new index when the existing index + is considered to be too large or too old. + externalDocs: + url: https://opensearch.org/docs/latest/dashboards/im-dashboards/rollover/ + parameters: + - $ref: '#/components/parameters/indices.rollover::path.alias' + - $ref: '#/components/parameters/indices.rollover::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.rollover::query.dry_run' + - $ref: '#/components/parameters/indices.rollover::query.master_timeout' + - $ref: '#/components/parameters/indices.rollover::query.timeout' + - $ref: '#/components/parameters/indices.rollover::query.wait_for_active_shards' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.rollover' + responses: + '200': + $ref: '#/components/responses/indices.rollover@200' + /{alias}/_rollover/{new_index}: + post: + operationId: indices.rollover.1 + x-operation-group: indices.rollover + x-version-added: '1.0' + description: |- + Updates an alias to point to a new index when the existing index + is considered to be too large or too old. + externalDocs: + url: https://opensearch.org/docs/latest/dashboards/im-dashboards/rollover/ + parameters: + - $ref: '#/components/parameters/indices.rollover::path.alias' + - $ref: '#/components/parameters/indices.rollover::path.new_index' + - $ref: '#/components/parameters/indices.rollover::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.rollover::query.dry_run' + - $ref: '#/components/parameters/indices.rollover::query.master_timeout' + - $ref: '#/components/parameters/indices.rollover::query.timeout' + - $ref: '#/components/parameters/indices.rollover::query.wait_for_active_shards' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.rollover' + responses: + '200': + $ref: '#/components/responses/indices.rollover@200' + /{index}: + delete: + operationId: indices.delete.0 + x-operation-group: indices.delete + x-version-added: '1.0' + description: Deletes an index. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/delete-index/ + parameters: + - $ref: '#/components/parameters/indices.delete::path.index' + - $ref: '#/components/parameters/indices.delete::query.allow_no_indices' + - $ref: '#/components/parameters/indices.delete::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.delete::query.expand_wildcards' + - $ref: '#/components/parameters/indices.delete::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.delete::query.master_timeout' + - $ref: '#/components/parameters/indices.delete::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.delete@200' + get: + operationId: indices.get.0 + x-operation-group: indices.get + x-version-added: '1.0' + description: Returns information about one or more indices. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/get-index/ + parameters: + - $ref: '#/components/parameters/indices.get::path.index' + - $ref: '#/components/parameters/indices.get::query.allow_no_indices' + - $ref: '#/components/parameters/indices.get::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.get::query.expand_wildcards' + - $ref: '#/components/parameters/indices.get::query.flat_settings' + - $ref: '#/components/parameters/indices.get::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.get::query.include_defaults' + - $ref: '#/components/parameters/indices.get::query.local' + - $ref: '#/components/parameters/indices.get::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.get@200' + head: + operationId: indices.exists.0 + x-operation-group: indices.exists + x-version-added: '1.0' + description: Returns information about whether a particular index exists. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/exists/ + parameters: + - $ref: '#/components/parameters/indices.exists::path.index' + - $ref: '#/components/parameters/indices.exists::query.allow_no_indices' + - $ref: '#/components/parameters/indices.exists::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.exists::query.expand_wildcards' + - $ref: '#/components/parameters/indices.exists::query.flat_settings' + - $ref: '#/components/parameters/indices.exists::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.exists::query.include_defaults' + - $ref: '#/components/parameters/indices.exists::query.local' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.exists@200' + '404': + $ref: '#/components/responses/indices.exists@404' + put: + operationId: indices.create.0 + x-operation-group: indices.create + x-version-added: '1.0' + description: Creates an index with optional settings and mappings. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/create-index/ + parameters: + - $ref: '#/components/parameters/indices.create::path.index' + - $ref: '#/components/parameters/indices.create::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.create::query.master_timeout' + - $ref: '#/components/parameters/indices.create::query.timeout' + - $ref: '#/components/parameters/indices.create::query.wait_for_active_shards' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.create' + responses: + '200': + $ref: '#/components/responses/indices.create@200' + /{index}/_alias: + get: + operationId: indices.get_alias.2 + x-operation-group: indices.get_alias + x-version-added: '1.0' + description: Returns an alias. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-alias/ + parameters: + - $ref: '#/components/parameters/indices.get_alias::path.index' + - $ref: '#/components/parameters/indices.get_alias::query.allow_no_indices' + - $ref: '#/components/parameters/indices.get_alias::query.expand_wildcards' + - $ref: '#/components/parameters/indices.get_alias::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.get_alias::query.local' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.get_alias@200' + '404': + $ref: '#/components/responses/indices.get_alias@404' + put: + operationId: indices.put_alias.5 + x-operation-group: indices.put_alias + x-version-added: '1.0' + description: Creates or updates an alias. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/update-alias/ + parameters: + - $ref: '#/components/parameters/indices.put_alias::path.index' + - $ref: '#/components/parameters/indices.put_alias::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.put_alias::query.master_timeout' + - $ref: '#/components/parameters/indices.put_alias::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.put_alias' + responses: + '200': + $ref: '#/components/responses/indices.put_alias@200' + /{index}/_alias/{name}: + delete: + operationId: indices.delete_alias.0 + x-operation-group: indices.delete_alias + x-version-added: '1.0' + description: Deletes an alias. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-alias/#delete-aliases + parameters: + - $ref: '#/components/parameters/indices.delete_alias::path.index' + - $ref: '#/components/parameters/indices.delete_alias::path.name' + - $ref: '#/components/parameters/indices.delete_alias::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.delete_alias::query.master_timeout' + - $ref: '#/components/parameters/indices.delete_alias::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.delete_alias@200' + get: + operationId: indices.get_alias.3 + x-operation-group: indices.get_alias + x-version-added: '1.0' + description: Returns an alias. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-alias/ + parameters: + - $ref: '#/components/parameters/indices.get_alias::path.index' + - $ref: '#/components/parameters/indices.get_alias::path.name' + - $ref: '#/components/parameters/indices.get_alias::query.allow_no_indices' + - $ref: '#/components/parameters/indices.get_alias::query.expand_wildcards' + - $ref: '#/components/parameters/indices.get_alias::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.get_alias::query.local' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.get_alias@200' + '404': + $ref: '#/components/responses/indices.get_alias@404' + head: + operationId: indices.exists_alias.1 + x-operation-group: indices.exists_alias + x-version-added: '1.0' + description: Returns information about whether a particular alias exists. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.exists_alias::path.index' + - $ref: '#/components/parameters/indices.exists_alias::path.name' + - $ref: '#/components/parameters/indices.exists_alias::query.allow_no_indices' + - $ref: '#/components/parameters/indices.exists_alias::query.expand_wildcards' + - $ref: '#/components/parameters/indices.exists_alias::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.exists_alias::query.local' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.exists_alias@200' + '404': + $ref: '#/components/responses/indices.exists_alias@404' + post: + operationId: indices.put_alias.6 + x-operation-group: indices.put_alias + x-version-added: '1.0' + description: Creates or updates an alias. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/update-alias/ + parameters: + - $ref: '#/components/parameters/indices.put_alias::path.index' + - $ref: '#/components/parameters/indices.put_alias::path.name' + - $ref: '#/components/parameters/indices.put_alias::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.put_alias::query.master_timeout' + - $ref: '#/components/parameters/indices.put_alias::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.put_alias' + responses: + '200': + $ref: '#/components/responses/indices.put_alias@200' + put: + operationId: indices.put_alias.7 + x-operation-group: indices.put_alias + x-version-added: '1.0' + description: Creates or updates an alias. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/update-alias/ + parameters: + - $ref: '#/components/parameters/indices.put_alias::path.index' + - $ref: '#/components/parameters/indices.put_alias::path.name' + - $ref: '#/components/parameters/indices.put_alias::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.put_alias::query.master_timeout' + - $ref: '#/components/parameters/indices.put_alias::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.put_alias' + responses: + '200': + $ref: '#/components/responses/indices.put_alias@200' + /{index}/_aliases: + put: + operationId: indices.put_alias.8 + x-operation-group: indices.put_alias + x-version-added: '1.0' + description: Creates or updates an alias. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/update-alias/ + parameters: + - $ref: '#/components/parameters/indices.put_alias::path.index' + - $ref: '#/components/parameters/indices.put_alias::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.put_alias::query.master_timeout' + - $ref: '#/components/parameters/indices.put_alias::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.put_alias' + responses: + '200': + $ref: '#/components/responses/indices.put_alias@200' + /{index}/_aliases/{name}: + delete: + operationId: indices.delete_alias.1 + x-operation-group: indices.delete_alias + x-version-added: '1.0' + description: Deletes an alias. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-alias/#delete-aliases + parameters: + - $ref: '#/components/parameters/indices.delete_alias::path.index' + - $ref: '#/components/parameters/indices.delete_alias::path.name' + - $ref: '#/components/parameters/indices.delete_alias::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.delete_alias::query.master_timeout' + - $ref: '#/components/parameters/indices.delete_alias::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.delete_alias@200' + post: + operationId: indices.put_alias.9 + x-operation-group: indices.put_alias + x-version-added: '1.0' + description: Creates or updates an alias. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/update-alias/ + parameters: + - $ref: '#/components/parameters/indices.put_alias::path.index' + - $ref: '#/components/parameters/indices.put_alias::path.name' + - $ref: '#/components/parameters/indices.put_alias::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.put_alias::query.master_timeout' + - $ref: '#/components/parameters/indices.put_alias::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.put_alias' + responses: + '200': + $ref: '#/components/responses/indices.put_alias@200' + put: + operationId: indices.put_alias.10 + x-operation-group: indices.put_alias + x-version-added: '1.0' + description: Creates or updates an alias. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/update-alias/ + parameters: + - $ref: '#/components/parameters/indices.put_alias::path.index' + - $ref: '#/components/parameters/indices.put_alias::path.name' + - $ref: '#/components/parameters/indices.put_alias::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.put_alias::query.master_timeout' + - $ref: '#/components/parameters/indices.put_alias::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.put_alias' + responses: + '200': + $ref: '#/components/responses/indices.put_alias@200' + /{index}/_analyze: + get: + operationId: indices.analyze.2 + x-operation-group: indices.analyze + x-version-added: '1.0' + description: Performs the analysis process on a text and return the tokens breakdown of the text. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/analyze-apis/perform-text-analysis/ + parameters: + - $ref: '#/components/parameters/indices.analyze::path.index' + - $ref: '#/components/parameters/indices.analyze::query.index' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.analyze' + responses: + '200': + $ref: '#/components/responses/indices.analyze@200' + post: + operationId: indices.analyze.3 + x-operation-group: indices.analyze + x-version-added: '1.0' + description: Performs the analysis process on a text and return the tokens breakdown of the text. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/analyze-apis/perform-text-analysis/ + parameters: + - $ref: '#/components/parameters/indices.analyze::path.index' + - $ref: '#/components/parameters/indices.analyze::query.index' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.analyze' + responses: + '200': + $ref: '#/components/responses/indices.analyze@200' + /{index}/_block/{block}: + put: + operationId: indices.add_block.0 + x-operation-group: indices.add_block + x-version-added: '1.0' + description: Adds a block to an index. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.add_block::path.block' + - $ref: '#/components/parameters/indices.add_block::path.index' + - $ref: '#/components/parameters/indices.add_block::query.allow_no_indices' + - $ref: '#/components/parameters/indices.add_block::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.add_block::query.expand_wildcards' + - $ref: '#/components/parameters/indices.add_block::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.add_block::query.master_timeout' + - $ref: '#/components/parameters/indices.add_block::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.add_block@200' + /{index}/_bulk: + post: + operationId: bulk.2 + x-operation-group: bulk + x-version-added: '1.0' + description: Allows to perform multiple index/update/delete operations in a single request. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/document-apis/bulk/ + parameters: + - $ref: '#/components/parameters/bulk::path.index' + - $ref: '#/components/parameters/bulk::query._source' + - $ref: '#/components/parameters/bulk::query._source_excludes' + - $ref: '#/components/parameters/bulk::query._source_includes' + - $ref: '#/components/parameters/bulk::query.pipeline' + - $ref: '#/components/parameters/bulk::query.refresh' + - $ref: '#/components/parameters/bulk::query.require_alias' + - $ref: '#/components/parameters/bulk::query.routing' + - $ref: '#/components/parameters/bulk::query.timeout' + - $ref: '#/components/parameters/bulk::query.type' + - $ref: '#/components/parameters/bulk::query.wait_for_active_shards' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/bulk' + responses: + '200': + $ref: '#/components/responses/bulk@200' + put: + operationId: bulk.3 + x-operation-group: bulk + x-version-added: '1.0' + description: Allows to perform multiple index/update/delete operations in a single request. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/document-apis/bulk/ + parameters: + - $ref: '#/components/parameters/bulk::path.index' + - $ref: '#/components/parameters/bulk::query._source' + - $ref: '#/components/parameters/bulk::query._source_excludes' + - $ref: '#/components/parameters/bulk::query._source_includes' + - $ref: '#/components/parameters/bulk::query.pipeline' + - $ref: '#/components/parameters/bulk::query.refresh' + - $ref: '#/components/parameters/bulk::query.require_alias' + - $ref: '#/components/parameters/bulk::query.routing' + - $ref: '#/components/parameters/bulk::query.timeout' + - $ref: '#/components/parameters/bulk::query.type' + - $ref: '#/components/parameters/bulk::query.wait_for_active_shards' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/bulk' + responses: + '200': + $ref: '#/components/responses/bulk@200' + /{index}/_cache/clear: + post: + operationId: indices.clear_cache.1 + x-operation-group: indices.clear_cache + x-version-added: '1.0' + description: Clears all or specific caches for one or more indices. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/clear-index-cache/ + parameters: + - $ref: '#/components/parameters/indices.clear_cache::path.index' + - $ref: '#/components/parameters/indices.clear_cache::query.allow_no_indices' + - $ref: '#/components/parameters/indices.clear_cache::query.expand_wildcards' + - $ref: '#/components/parameters/indices.clear_cache::query.fielddata' + - $ref: '#/components/parameters/indices.clear_cache::query.fields' + - $ref: '#/components/parameters/indices.clear_cache::query.file' + - $ref: '#/components/parameters/indices.clear_cache::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.clear_cache::query.index' + - $ref: '#/components/parameters/indices.clear_cache::query.query' + - $ref: '#/components/parameters/indices.clear_cache::query.request' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.clear_cache@200' + /{index}/_clone/{target}: + post: + operationId: indices.clone.0 + x-operation-group: indices.clone + x-version-added: '1.0' + description: Clones an index. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/clone/ + parameters: + - $ref: '#/components/parameters/indices.clone::path.index' + - $ref: '#/components/parameters/indices.clone::path.target' + - $ref: '#/components/parameters/indices.clone::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.clone::query.master_timeout' + - $ref: '#/components/parameters/indices.clone::query.task_execution_timeout' + - $ref: '#/components/parameters/indices.clone::query.timeout' + - $ref: '#/components/parameters/indices.clone::query.wait_for_active_shards' + - $ref: '#/components/parameters/indices.clone::query.wait_for_completion' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.clone' + responses: + '200': + $ref: '#/components/responses/indices.clone@200' + put: + operationId: indices.clone.1 + x-operation-group: indices.clone + x-version-added: '1.0' + description: Clones an index. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/clone/ + parameters: + - $ref: '#/components/parameters/indices.clone::path.index' + - $ref: '#/components/parameters/indices.clone::path.target' + - $ref: '#/components/parameters/indices.clone::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.clone::query.master_timeout' + - $ref: '#/components/parameters/indices.clone::query.task_execution_timeout' + - $ref: '#/components/parameters/indices.clone::query.timeout' + - $ref: '#/components/parameters/indices.clone::query.wait_for_active_shards' + - $ref: '#/components/parameters/indices.clone::query.wait_for_completion' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.clone' + responses: + '200': + $ref: '#/components/responses/indices.clone@200' + /{index}/_close: + post: + operationId: indices.close.0 + x-operation-group: indices.close + x-version-added: '1.0' + description: Closes an index. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/close-index/ + parameters: + - $ref: '#/components/parameters/indices.close::path.index' + - $ref: '#/components/parameters/indices.close::query.allow_no_indices' + - $ref: '#/components/parameters/indices.close::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.close::query.expand_wildcards' + - $ref: '#/components/parameters/indices.close::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.close::query.master_timeout' + - $ref: '#/components/parameters/indices.close::query.timeout' + - $ref: '#/components/parameters/indices.close::query.wait_for_active_shards' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.close@200' + /{index}/_count: + get: + operationId: count.2 + x-operation-group: count + x-version-added: '1.0' + description: Returns number of documents matching a query. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/count/ + parameters: + - $ref: '#/components/parameters/count::path.index' + - $ref: '#/components/parameters/count::query.allow_no_indices' + - $ref: '#/components/parameters/count::query.analyze_wildcard' + - $ref: '#/components/parameters/count::query.analyzer' + - $ref: '#/components/parameters/count::query.default_operator' + - $ref: '#/components/parameters/count::query.df' + - $ref: '#/components/parameters/count::query.expand_wildcards' + - $ref: '#/components/parameters/count::query.ignore_throttled' + - $ref: '#/components/parameters/count::query.ignore_unavailable' + - $ref: '#/components/parameters/count::query.lenient' + - $ref: '#/components/parameters/count::query.min_score' + - $ref: '#/components/parameters/count::query.preference' + - $ref: '#/components/parameters/count::query.q' + - $ref: '#/components/parameters/count::query.routing' + - $ref: '#/components/parameters/count::query.terminate_after' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/count' + responses: + '200': + $ref: '#/components/responses/count@200' + post: + operationId: count.3 + x-operation-group: count + x-version-added: '1.0' + description: Returns number of documents matching a query. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/count/ + parameters: + - $ref: '#/components/parameters/count::path.index' + - $ref: '#/components/parameters/count::query.allow_no_indices' + - $ref: '#/components/parameters/count::query.analyze_wildcard' + - $ref: '#/components/parameters/count::query.analyzer' + - $ref: '#/components/parameters/count::query.default_operator' + - $ref: '#/components/parameters/count::query.df' + - $ref: '#/components/parameters/count::query.expand_wildcards' + - $ref: '#/components/parameters/count::query.ignore_throttled' + - $ref: '#/components/parameters/count::query.ignore_unavailable' + - $ref: '#/components/parameters/count::query.lenient' + - $ref: '#/components/parameters/count::query.min_score' + - $ref: '#/components/parameters/count::query.preference' + - $ref: '#/components/parameters/count::query.q' + - $ref: '#/components/parameters/count::query.routing' + - $ref: '#/components/parameters/count::query.terminate_after' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/count' + responses: + '200': + $ref: '#/components/responses/count@200' + /{index}/_create/{id}: + post: + operationId: create.0 + x-operation-group: create + x-version-added: '1.0' + description: |- + Creates a new document in the index. + + Returns a 409 response when a document with a same ID already exists in the index. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/document-apis/index-document/ + parameters: + - $ref: '#/components/parameters/create::path.id' + - $ref: '#/components/parameters/create::path.index' + - $ref: '#/components/parameters/create::query.pipeline' + - $ref: '#/components/parameters/create::query.refresh' + - $ref: '#/components/parameters/create::query.routing' + - $ref: '#/components/parameters/create::query.timeout' + - $ref: '#/components/parameters/create::query.version' + - $ref: '#/components/parameters/create::query.version_type' + - $ref: '#/components/parameters/create::query.wait_for_active_shards' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/create' + responses: + '200': + $ref: '#/components/responses/create@200' + put: + operationId: create.1 + x-operation-group: create + x-version-added: '1.0' + description: |- + Creates a new document in the index. + + Returns a 409 response when a document with a same ID already exists in the index. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/document-apis/index-document/ + parameters: + - $ref: '#/components/parameters/create::path.id' + - $ref: '#/components/parameters/create::path.index' + - $ref: '#/components/parameters/create::query.pipeline' + - $ref: '#/components/parameters/create::query.refresh' + - $ref: '#/components/parameters/create::query.routing' + - $ref: '#/components/parameters/create::query.timeout' + - $ref: '#/components/parameters/create::query.version' + - $ref: '#/components/parameters/create::query.version_type' + - $ref: '#/components/parameters/create::query.wait_for_active_shards' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/create' + responses: + '200': + $ref: '#/components/responses/create@200' + /{index}/_delete_by_query: + post: + operationId: delete_by_query.0 + x-operation-group: delete_by_query + x-version-added: '1.0' + description: Deletes documents matching the provided query. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/document-apis/delete-by-query/ + parameters: + - $ref: '#/components/parameters/delete_by_query::path.index' + - $ref: '#/components/parameters/delete_by_query::query._source' + - $ref: '#/components/parameters/delete_by_query::query._source_excludes' + - $ref: '#/components/parameters/delete_by_query::query._source_includes' + - $ref: '#/components/parameters/delete_by_query::query.allow_no_indices' + - $ref: '#/components/parameters/delete_by_query::query.analyze_wildcard' + - $ref: '#/components/parameters/delete_by_query::query.analyzer' + - $ref: '#/components/parameters/delete_by_query::query.conflicts' + - $ref: '#/components/parameters/delete_by_query::query.default_operator' + - $ref: '#/components/parameters/delete_by_query::query.df' + - $ref: '#/components/parameters/delete_by_query::query.expand_wildcards' + - $ref: '#/components/parameters/delete_by_query::query.from' + - $ref: '#/components/parameters/delete_by_query::query.ignore_unavailable' + - $ref: '#/components/parameters/delete_by_query::query.lenient' + - $ref: '#/components/parameters/delete_by_query::query.max_docs' + - $ref: '#/components/parameters/delete_by_query::query.preference' + - $ref: '#/components/parameters/delete_by_query::query.q' + - $ref: '#/components/parameters/delete_by_query::query.refresh' + - $ref: '#/components/parameters/delete_by_query::query.request_cache' + - $ref: '#/components/parameters/delete_by_query::query.requests_per_second' + - $ref: '#/components/parameters/delete_by_query::query.routing' + - $ref: '#/components/parameters/delete_by_query::query.scroll' + - $ref: '#/components/parameters/delete_by_query::query.scroll_size' + - $ref: '#/components/parameters/delete_by_query::query.search_timeout' + - $ref: '#/components/parameters/delete_by_query::query.search_type' + - $ref: '#/components/parameters/delete_by_query::query.size' + - $ref: '#/components/parameters/delete_by_query::query.slices' + - $ref: '#/components/parameters/delete_by_query::query.sort' + - $ref: '#/components/parameters/delete_by_query::query.stats' + - $ref: '#/components/parameters/delete_by_query::query.terminate_after' + - $ref: '#/components/parameters/delete_by_query::query.timeout' + - $ref: '#/components/parameters/delete_by_query::query.version' + - $ref: '#/components/parameters/delete_by_query::query.wait_for_active_shards' + - $ref: '#/components/parameters/delete_by_query::query.wait_for_completion' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/delete_by_query' + responses: + '200': + $ref: '#/components/responses/delete_by_query@200' + /{index}/_doc: + post: + operationId: index.0 + x-operation-group: index + x-version-added: '1.0' + description: Creates or updates a document in an index. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/document-apis/index-document/ + parameters: + - $ref: '#/components/parameters/index::path.index' + - $ref: '#/components/parameters/index::query.if_primary_term' + - $ref: '#/components/parameters/index::query.if_seq_no' + - $ref: '#/components/parameters/index::query.op_type' + - $ref: '#/components/parameters/index::query.pipeline' + - $ref: '#/components/parameters/index::query.refresh' + - $ref: '#/components/parameters/index::query.require_alias' + - $ref: '#/components/parameters/index::query.routing' + - $ref: '#/components/parameters/index::query.timeout' + - $ref: '#/components/parameters/index::query.version' + - $ref: '#/components/parameters/index::query.version_type' + - $ref: '#/components/parameters/index::query.wait_for_active_shards' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/index' + responses: + '200': + $ref: '#/components/responses/index@200' + '201': + $ref: '#/components/responses/index@201' + /{index}/_doc/{id}: + delete: + operationId: delete.0 + x-operation-group: delete + x-version-added: '1.0' + description: Removes a document from the index. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/document-apis/delete-document/ + parameters: + - $ref: '#/components/parameters/delete::path.id' + - $ref: '#/components/parameters/delete::path.index' + - $ref: '#/components/parameters/delete::query.if_primary_term' + - $ref: '#/components/parameters/delete::query.if_seq_no' + - $ref: '#/components/parameters/delete::query.refresh' + - $ref: '#/components/parameters/delete::query.routing' + - $ref: '#/components/parameters/delete::query.timeout' + - $ref: '#/components/parameters/delete::query.version' + - $ref: '#/components/parameters/delete::query.version_type' + - $ref: '#/components/parameters/delete::query.wait_for_active_shards' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/delete@200' + get: + operationId: get.0 + x-operation-group: get + x-version-added: '1.0' + description: Returns a document. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/document-apis/get-documents/ + parameters: + - $ref: '#/components/parameters/get::path.id' + - $ref: '#/components/parameters/get::path.index' + - $ref: '#/components/parameters/get::query._source' + - $ref: '#/components/parameters/get::query._source_excludes' + - $ref: '#/components/parameters/get::query._source_includes' + - $ref: '#/components/parameters/get::query.preference' + - $ref: '#/components/parameters/get::query.realtime' + - $ref: '#/components/parameters/get::query.refresh' + - $ref: '#/components/parameters/get::query.routing' + - $ref: '#/components/parameters/get::query.stored_fields' + - $ref: '#/components/parameters/get::query.version' + - $ref: '#/components/parameters/get::query.version_type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/get@200' + head: + operationId: exists.0 + x-operation-group: exists + x-version-added: '1.0' + description: Returns information about whether a document exists in an index. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/document-apis/get-documents/ + parameters: + - $ref: '#/components/parameters/exists::path.id' + - $ref: '#/components/parameters/exists::path.index' + - $ref: '#/components/parameters/exists::query._source' + - $ref: '#/components/parameters/exists::query._source_excludes' + - $ref: '#/components/parameters/exists::query._source_includes' + - $ref: '#/components/parameters/exists::query.preference' + - $ref: '#/components/parameters/exists::query.realtime' + - $ref: '#/components/parameters/exists::query.refresh' + - $ref: '#/components/parameters/exists::query.routing' + - $ref: '#/components/parameters/exists::query.stored_fields' + - $ref: '#/components/parameters/exists::query.version' + - $ref: '#/components/parameters/exists::query.version_type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/exists@200' + post: + operationId: index.1 + x-operation-group: index + x-version-added: '1.0' + description: Creates or updates a document in an index. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/document-apis/index-document/ + parameters: + - $ref: '#/components/parameters/index::path.id' + - $ref: '#/components/parameters/index::path.index' + - $ref: '#/components/parameters/index::query.if_primary_term' + - $ref: '#/components/parameters/index::query.if_seq_no' + - $ref: '#/components/parameters/index::query.op_type' + - $ref: '#/components/parameters/index::query.pipeline' + - $ref: '#/components/parameters/index::query.refresh' + - $ref: '#/components/parameters/index::query.require_alias' + - $ref: '#/components/parameters/index::query.routing' + - $ref: '#/components/parameters/index::query.timeout' + - $ref: '#/components/parameters/index::query.version' + - $ref: '#/components/parameters/index::query.version_type' + - $ref: '#/components/parameters/index::query.wait_for_active_shards' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/index' + responses: + '200': + $ref: '#/components/responses/index@200' + '201': + $ref: '#/components/responses/index@201' + put: + operationId: index.2 + x-operation-group: index + x-version-added: '1.0' + description: Creates or updates a document in an index. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/document-apis/index-document/ + parameters: + - $ref: '#/components/parameters/index::path.id' + - $ref: '#/components/parameters/index::path.index' + - $ref: '#/components/parameters/index::query.if_primary_term' + - $ref: '#/components/parameters/index::query.if_seq_no' + - $ref: '#/components/parameters/index::query.op_type' + - $ref: '#/components/parameters/index::query.pipeline' + - $ref: '#/components/parameters/index::query.refresh' + - $ref: '#/components/parameters/index::query.require_alias' + - $ref: '#/components/parameters/index::query.routing' + - $ref: '#/components/parameters/index::query.timeout' + - $ref: '#/components/parameters/index::query.version' + - $ref: '#/components/parameters/index::query.version_type' + - $ref: '#/components/parameters/index::query.wait_for_active_shards' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/index' + responses: + '200': + $ref: '#/components/responses/index@200' + '201': + $ref: '#/components/responses/index@201' + /{index}/_explain/{id}: + get: + operationId: explain.0 + x-operation-group: explain + x-version-added: '1.0' + description: Returns information about why a specific matches (or doesn't match) a query. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/explain/ + parameters: + - $ref: '#/components/parameters/explain::path.id' + - $ref: '#/components/parameters/explain::path.index' + - $ref: '#/components/parameters/explain::query._source' + - $ref: '#/components/parameters/explain::query._source_excludes' + - $ref: '#/components/parameters/explain::query._source_includes' + - $ref: '#/components/parameters/explain::query.analyze_wildcard' + - $ref: '#/components/parameters/explain::query.analyzer' + - $ref: '#/components/parameters/explain::query.default_operator' + - $ref: '#/components/parameters/explain::query.df' + - $ref: '#/components/parameters/explain::query.lenient' + - $ref: '#/components/parameters/explain::query.preference' + - $ref: '#/components/parameters/explain::query.q' + - $ref: '#/components/parameters/explain::query.routing' + - $ref: '#/components/parameters/explain::query.stored_fields' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/explain' + responses: + '200': + $ref: '#/components/responses/explain@200' + post: + operationId: explain.1 + x-operation-group: explain + x-version-added: '1.0' + description: Returns information about why a specific matches (or doesn't match) a query. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/explain/ + parameters: + - $ref: '#/components/parameters/explain::path.id' + - $ref: '#/components/parameters/explain::path.index' + - $ref: '#/components/parameters/explain::query._source' + - $ref: '#/components/parameters/explain::query._source_excludes' + - $ref: '#/components/parameters/explain::query._source_includes' + - $ref: '#/components/parameters/explain::query.analyze_wildcard' + - $ref: '#/components/parameters/explain::query.analyzer' + - $ref: '#/components/parameters/explain::query.default_operator' + - $ref: '#/components/parameters/explain::query.df' + - $ref: '#/components/parameters/explain::query.lenient' + - $ref: '#/components/parameters/explain::query.preference' + - $ref: '#/components/parameters/explain::query.q' + - $ref: '#/components/parameters/explain::query.routing' + - $ref: '#/components/parameters/explain::query.stored_fields' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/explain' + responses: + '200': + $ref: '#/components/responses/explain@200' + /{index}/_field_caps: + get: + operationId: field_caps.2 + x-operation-group: field_caps + x-version-added: '1.0' + description: Returns the information about the capabilities of fields among multiple indices. + externalDocs: + url: https://opensearch.org/docs/latest/field-types/supported-field-types/alias/#using-aliases-in-field-capabilities-api-operations + parameters: + - $ref: '#/components/parameters/field_caps::path.index' + - $ref: '#/components/parameters/field_caps::query.allow_no_indices' + - $ref: '#/components/parameters/field_caps::query.expand_wildcards' + - $ref: '#/components/parameters/field_caps::query.fields' + - $ref: '#/components/parameters/field_caps::query.ignore_unavailable' + - $ref: '#/components/parameters/field_caps::query.include_unmapped' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/field_caps' + responses: + '200': + $ref: '#/components/responses/field_caps@200' + post: + operationId: field_caps.3 + x-operation-group: field_caps + x-version-added: '1.0' + description: Returns the information about the capabilities of fields among multiple indices. + externalDocs: + url: https://opensearch.org/docs/latest/field-types/supported-field-types/alias/#using-aliases-in-field-capabilities-api-operations + parameters: + - $ref: '#/components/parameters/field_caps::path.index' + - $ref: '#/components/parameters/field_caps::query.allow_no_indices' + - $ref: '#/components/parameters/field_caps::query.expand_wildcards' + - $ref: '#/components/parameters/field_caps::query.fields' + - $ref: '#/components/parameters/field_caps::query.ignore_unavailable' + - $ref: '#/components/parameters/field_caps::query.include_unmapped' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/field_caps' + responses: + '200': + $ref: '#/components/responses/field_caps@200' + /{index}/_flush: + get: + operationId: indices.flush.2 + x-operation-group: indices.flush + x-version-added: '1.0' + description: Performs the flush operation on one or more indices. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.flush::path.index' + - $ref: '#/components/parameters/indices.flush::query.allow_no_indices' + - $ref: '#/components/parameters/indices.flush::query.expand_wildcards' + - $ref: '#/components/parameters/indices.flush::query.force' + - $ref: '#/components/parameters/indices.flush::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.flush::query.wait_if_ongoing' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.flush@200' + post: + operationId: indices.flush.3 + x-operation-group: indices.flush + x-version-added: '1.0' + description: Performs the flush operation on one or more indices. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.flush::path.index' + - $ref: '#/components/parameters/indices.flush::query.allow_no_indices' + - $ref: '#/components/parameters/indices.flush::query.expand_wildcards' + - $ref: '#/components/parameters/indices.flush::query.force' + - $ref: '#/components/parameters/indices.flush::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.flush::query.wait_if_ongoing' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.flush@200' + /{index}/_forcemerge: + post: + operationId: indices.forcemerge.1 + x-operation-group: indices.forcemerge + x-version-added: '1.0' + description: Performs the force merge operation on one or more indices. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.forcemerge::path.index' + - $ref: '#/components/parameters/indices.forcemerge::query.allow_no_indices' + - $ref: '#/components/parameters/indices.forcemerge::query.expand_wildcards' + - $ref: '#/components/parameters/indices.forcemerge::query.flush' + - $ref: '#/components/parameters/indices.forcemerge::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.forcemerge::query.max_num_segments' + - $ref: '#/components/parameters/indices.forcemerge::query.only_expunge_deletes' + - $ref: '#/components/parameters/indices.forcemerge::query.primary_only' + - $ref: '#/components/parameters/indices.forcemerge::query.wait_for_completion' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.forcemerge@200' + /{index}/_mapping: + get: + operationId: indices.get_mapping.1 + x-operation-group: indices.get_mapping + x-version-added: '1.0' + description: Returns mappings for one or more indices. + externalDocs: + url: https://opensearch.org/docs/latest/field-types/index/#get-a-mapping + parameters: + - $ref: '#/components/parameters/indices.get_mapping::path.index' + - $ref: '#/components/parameters/indices.get_mapping::query.allow_no_indices' + - $ref: '#/components/parameters/indices.get_mapping::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.get_mapping::query.expand_wildcards' + - $ref: '#/components/parameters/indices.get_mapping::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.get_mapping::query.index' + - $ref: '#/components/parameters/indices.get_mapping::query.local' + - $ref: '#/components/parameters/indices.get_mapping::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.get_mapping@200' + post: + operationId: indices.put_mapping.0 + x-operation-group: indices.put_mapping + x-version-added: '1.0' + description: Updates the index mappings. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/put-mapping/ + parameters: + - $ref: '#/components/parameters/indices.put_mapping::path.index' + - $ref: '#/components/parameters/indices.put_mapping::query.allow_no_indices' + - $ref: '#/components/parameters/indices.put_mapping::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.put_mapping::query.expand_wildcards' + - $ref: '#/components/parameters/indices.put_mapping::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.put_mapping::query.master_timeout' + - $ref: '#/components/parameters/indices.put_mapping::query.timeout' + - $ref: '#/components/parameters/indices.put_mapping::query.write_index_only' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.put_mapping' + responses: + '200': + $ref: '#/components/responses/indices.put_mapping@200' + put: + operationId: indices.put_mapping.1 + x-operation-group: indices.put_mapping + x-version-added: '1.0' + description: Updates the index mappings. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/put-mapping/ + parameters: + - $ref: '#/components/parameters/indices.put_mapping::path.index' + - $ref: '#/components/parameters/indices.put_mapping::query.allow_no_indices' + - $ref: '#/components/parameters/indices.put_mapping::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.put_mapping::query.expand_wildcards' + - $ref: '#/components/parameters/indices.put_mapping::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.put_mapping::query.master_timeout' + - $ref: '#/components/parameters/indices.put_mapping::query.timeout' + - $ref: '#/components/parameters/indices.put_mapping::query.write_index_only' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.put_mapping' + responses: + '200': + $ref: '#/components/responses/indices.put_mapping@200' + /{index}/_mapping/field/{fields}: + get: + operationId: indices.get_field_mapping.1 + x-operation-group: indices.get_field_mapping + x-version-added: '1.0' + description: Returns mapping for one or more fields. + externalDocs: + url: https://opensearch.org/docs/latest/field-types/index/ + parameters: + - $ref: '#/components/parameters/indices.get_field_mapping::path.fields' + - $ref: '#/components/parameters/indices.get_field_mapping::path.index' + - $ref: '#/components/parameters/indices.get_field_mapping::query.allow_no_indices' + - $ref: '#/components/parameters/indices.get_field_mapping::query.expand_wildcards' + - $ref: '#/components/parameters/indices.get_field_mapping::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.get_field_mapping::query.include_defaults' + - $ref: '#/components/parameters/indices.get_field_mapping::query.local' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.get_field_mapping@200' + /{index}/_mget: + get: + operationId: mget.2 + x-operation-group: mget + x-version-added: '1.0' + description: Allows to get multiple documents in one request. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/document-apis/multi-get/ + parameters: + - $ref: '#/components/parameters/mget::path.index' + - $ref: '#/components/parameters/mget::query._source' + - $ref: '#/components/parameters/mget::query._source_excludes' + - $ref: '#/components/parameters/mget::query._source_includes' + - $ref: '#/components/parameters/mget::query.preference' + - $ref: '#/components/parameters/mget::query.realtime' + - $ref: '#/components/parameters/mget::query.refresh' + - $ref: '#/components/parameters/mget::query.routing' + - $ref: '#/components/parameters/mget::query.stored_fields' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/mget' + responses: + '200': + $ref: '#/components/responses/mget@200' + post: + operationId: mget.3 + x-operation-group: mget + x-version-added: '1.0' + description: Allows to get multiple documents in one request. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/document-apis/multi-get/ + parameters: + - $ref: '#/components/parameters/mget::path.index' + - $ref: '#/components/parameters/mget::query._source' + - $ref: '#/components/parameters/mget::query._source_excludes' + - $ref: '#/components/parameters/mget::query._source_includes' + - $ref: '#/components/parameters/mget::query.preference' + - $ref: '#/components/parameters/mget::query.realtime' + - $ref: '#/components/parameters/mget::query.refresh' + - $ref: '#/components/parameters/mget::query.routing' + - $ref: '#/components/parameters/mget::query.stored_fields' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/mget' + responses: + '200': + $ref: '#/components/responses/mget@200' + /{index}/_msearch: + get: + operationId: msearch.2 + x-operation-group: msearch + x-version-added: '1.0' + description: Allows to execute several search operations in one request. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/multi-search/ + parameters: + - $ref: '#/components/parameters/msearch::path.index' + - $ref: '#/components/parameters/msearch::query.ccs_minimize_roundtrips' + - $ref: '#/components/parameters/msearch::query.max_concurrent_searches' + - $ref: '#/components/parameters/msearch::query.max_concurrent_shard_requests' + - $ref: '#/components/parameters/msearch::query.pre_filter_shard_size' + - $ref: '#/components/parameters/msearch::query.rest_total_hits_as_int' + - $ref: '#/components/parameters/msearch::query.search_type' + - $ref: '#/components/parameters/msearch::query.typed_keys' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/msearch' + responses: + '200': + $ref: '#/components/responses/msearch@200' + post: + operationId: msearch.3 + x-operation-group: msearch + x-version-added: '1.0' + description: Allows to execute several search operations in one request. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/multi-search/ + parameters: + - $ref: '#/components/parameters/msearch::path.index' + - $ref: '#/components/parameters/msearch::query.ccs_minimize_roundtrips' + - $ref: '#/components/parameters/msearch::query.max_concurrent_searches' + - $ref: '#/components/parameters/msearch::query.max_concurrent_shard_requests' + - $ref: '#/components/parameters/msearch::query.pre_filter_shard_size' + - $ref: '#/components/parameters/msearch::query.rest_total_hits_as_int' + - $ref: '#/components/parameters/msearch::query.search_type' + - $ref: '#/components/parameters/msearch::query.typed_keys' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/msearch' + responses: + '200': + $ref: '#/components/responses/msearch@200' + /{index}/_msearch/template: + get: + operationId: msearch_template.2 + x-operation-group: msearch_template + x-version-added: '1.0' + description: Allows to execute several search template operations in one request. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/search-template/ + parameters: + - $ref: '#/components/parameters/msearch_template::path.index' + - $ref: '#/components/parameters/msearch_template::query.ccs_minimize_roundtrips' + - $ref: '#/components/parameters/msearch_template::query.max_concurrent_searches' + - $ref: '#/components/parameters/msearch_template::query.rest_total_hits_as_int' + - $ref: '#/components/parameters/msearch_template::query.search_type' + - $ref: '#/components/parameters/msearch_template::query.typed_keys' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/msearch_template' + responses: + '200': + $ref: '#/components/responses/msearch_template@200' + post: + operationId: msearch_template.3 + x-operation-group: msearch_template + x-version-added: '1.0' + description: Allows to execute several search template operations in one request. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/search-template/ + parameters: + - $ref: '#/components/parameters/msearch_template::path.index' + - $ref: '#/components/parameters/msearch_template::query.ccs_minimize_roundtrips' + - $ref: '#/components/parameters/msearch_template::query.max_concurrent_searches' + - $ref: '#/components/parameters/msearch_template::query.rest_total_hits_as_int' + - $ref: '#/components/parameters/msearch_template::query.search_type' + - $ref: '#/components/parameters/msearch_template::query.typed_keys' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/msearch_template' + responses: + '200': + $ref: '#/components/responses/msearch_template@200' + /{index}/_mtermvectors: + get: + operationId: mtermvectors.2 + x-operation-group: mtermvectors + x-version-added: '1.0' + description: Returns multiple termvectors in one request. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/mtermvectors::path.index' + - $ref: '#/components/parameters/mtermvectors::query.field_statistics' + - $ref: '#/components/parameters/mtermvectors::query.fields' + - $ref: '#/components/parameters/mtermvectors::query.ids' + - $ref: '#/components/parameters/mtermvectors::query.offsets' + - $ref: '#/components/parameters/mtermvectors::query.payloads' + - $ref: '#/components/parameters/mtermvectors::query.positions' + - $ref: '#/components/parameters/mtermvectors::query.preference' + - $ref: '#/components/parameters/mtermvectors::query.realtime' + - $ref: '#/components/parameters/mtermvectors::query.routing' + - $ref: '#/components/parameters/mtermvectors::query.term_statistics' + - $ref: '#/components/parameters/mtermvectors::query.version' + - $ref: '#/components/parameters/mtermvectors::query.version_type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/mtermvectors' + responses: + '200': + $ref: '#/components/responses/mtermvectors@200' + post: + operationId: mtermvectors.3 + x-operation-group: mtermvectors + x-version-added: '1.0' + description: Returns multiple termvectors in one request. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/mtermvectors::path.index' + - $ref: '#/components/parameters/mtermvectors::query.field_statistics' + - $ref: '#/components/parameters/mtermvectors::query.fields' + - $ref: '#/components/parameters/mtermvectors::query.ids' + - $ref: '#/components/parameters/mtermvectors::query.offsets' + - $ref: '#/components/parameters/mtermvectors::query.payloads' + - $ref: '#/components/parameters/mtermvectors::query.positions' + - $ref: '#/components/parameters/mtermvectors::query.preference' + - $ref: '#/components/parameters/mtermvectors::query.realtime' + - $ref: '#/components/parameters/mtermvectors::query.routing' + - $ref: '#/components/parameters/mtermvectors::query.term_statistics' + - $ref: '#/components/parameters/mtermvectors::query.version' + - $ref: '#/components/parameters/mtermvectors::query.version_type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/mtermvectors' + responses: + '200': + $ref: '#/components/responses/mtermvectors@200' + /{index}/_open: + post: + operationId: indices.open.0 + x-operation-group: indices.open + x-version-added: '1.0' + description: Opens an index. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/open-index/ + parameters: + - $ref: '#/components/parameters/indices.open::path.index' + - $ref: '#/components/parameters/indices.open::query.allow_no_indices' + - $ref: '#/components/parameters/indices.open::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.open::query.expand_wildcards' + - $ref: '#/components/parameters/indices.open::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.open::query.master_timeout' + - $ref: '#/components/parameters/indices.open::query.task_execution_timeout' + - $ref: '#/components/parameters/indices.open::query.timeout' + - $ref: '#/components/parameters/indices.open::query.wait_for_active_shards' + - $ref: '#/components/parameters/indices.open::query.wait_for_completion' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.open@200' + /{index}/_rank_eval: + get: + operationId: rank_eval.2 + x-operation-group: rank_eval + x-version-added: '1.0' + description: Allows to evaluate the quality of ranked search results over a set of typical search queries. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/rank-eval/ + parameters: + - $ref: '#/components/parameters/rank_eval::path.index' + - $ref: '#/components/parameters/rank_eval::query.allow_no_indices' + - $ref: '#/components/parameters/rank_eval::query.expand_wildcards' + - $ref: '#/components/parameters/rank_eval::query.ignore_unavailable' + - $ref: '#/components/parameters/rank_eval::query.search_type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/rank_eval' + responses: + '200': + $ref: '#/components/responses/rank_eval@200' + post: + operationId: rank_eval.3 + x-operation-group: rank_eval + x-version-added: '1.0' + description: Allows to evaluate the quality of ranked search results over a set of typical search queries. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/rank-eval/ + parameters: + - $ref: '#/components/parameters/rank_eval::path.index' + - $ref: '#/components/parameters/rank_eval::query.allow_no_indices' + - $ref: '#/components/parameters/rank_eval::query.expand_wildcards' + - $ref: '#/components/parameters/rank_eval::query.ignore_unavailable' + - $ref: '#/components/parameters/rank_eval::query.search_type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/rank_eval' + responses: + '200': + $ref: '#/components/responses/rank_eval@200' + /{index}/_recovery: + get: + operationId: indices.recovery.1 + x-operation-group: indices.recovery + x-version-added: '1.0' + description: Returns information about ongoing index shard recoveries. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.recovery::path.index' + - $ref: '#/components/parameters/indices.recovery::query.active_only' + - $ref: '#/components/parameters/indices.recovery::query.detailed' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.recovery@200' + /{index}/_refresh: + get: + operationId: indices.refresh.2 + x-operation-group: indices.refresh + x-version-added: '1.0' + description: Performs the refresh operation in one or more indices. + externalDocs: + url: https://opensearch.org/docs/latest/tuning-your-cluster/availability-and-recovery/remote-store/index/#refresh-level-and-request-level-durability + parameters: + - $ref: '#/components/parameters/indices.refresh::path.index' + - $ref: '#/components/parameters/indices.refresh::query.allow_no_indices' + - $ref: '#/components/parameters/indices.refresh::query.expand_wildcards' + - $ref: '#/components/parameters/indices.refresh::query.ignore_unavailable' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.refresh@200' + post: + operationId: indices.refresh.3 + x-operation-group: indices.refresh + x-version-added: '1.0' + description: Performs the refresh operation in one or more indices. + externalDocs: + url: https://opensearch.org/docs/latest/tuning-your-cluster/availability-and-recovery/remote-store/index/#refresh-level-and-request-level-durability + parameters: + - $ref: '#/components/parameters/indices.refresh::path.index' + - $ref: '#/components/parameters/indices.refresh::query.allow_no_indices' + - $ref: '#/components/parameters/indices.refresh::query.expand_wildcards' + - $ref: '#/components/parameters/indices.refresh::query.ignore_unavailable' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.refresh@200' + /{index}/_search: + get: + operationId: search.2 + x-operation-group: search + x-version-added: '1.0' + description: Returns results matching a query. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/search/ + parameters: + - $ref: '#/components/parameters/search::path.index' + - $ref: '#/components/parameters/search::query._source' + - $ref: '#/components/parameters/search::query._source_excludes' + - $ref: '#/components/parameters/search::query._source_includes' + - $ref: '#/components/parameters/search::query.allow_no_indices' + - $ref: '#/components/parameters/search::query.allow_partial_search_results' + - $ref: '#/components/parameters/search::query.analyze_wildcard' + - $ref: '#/components/parameters/search::query.analyzer' + - $ref: '#/components/parameters/search::query.batched_reduce_size' + - $ref: '#/components/parameters/search::query.cancel_after_time_interval' + - $ref: '#/components/parameters/search::query.ccs_minimize_roundtrips' + - $ref: '#/components/parameters/search::query.default_operator' + - $ref: '#/components/parameters/search::query.df' + - $ref: '#/components/parameters/search::query.docvalue_fields' + - $ref: '#/components/parameters/search::query.expand_wildcards' + - $ref: '#/components/parameters/search::query.explain' + - $ref: '#/components/parameters/search::query.from' + - $ref: '#/components/parameters/search::query.ignore_throttled' + - $ref: '#/components/parameters/search::query.ignore_unavailable' + - $ref: '#/components/parameters/search::query.include_named_queries_score' + - $ref: '#/components/parameters/search::query.lenient' + - $ref: '#/components/parameters/search::query.max_concurrent_shard_requests' + - $ref: '#/components/parameters/search::query.phase_took' + - $ref: '#/components/parameters/search::query.pre_filter_shard_size' + - $ref: '#/components/parameters/search::query.preference' + - $ref: '#/components/parameters/search::query.q' + - $ref: '#/components/parameters/search::query.request_cache' + - $ref: '#/components/parameters/search::query.rest_total_hits_as_int' + - $ref: '#/components/parameters/search::query.routing' + - $ref: '#/components/parameters/search::query.scroll' + - $ref: '#/components/parameters/search::query.search_pipeline' + - $ref: '#/components/parameters/search::query.search_type' + - $ref: '#/components/parameters/search::query.seq_no_primary_term' + - $ref: '#/components/parameters/search::query.size' + - $ref: '#/components/parameters/search::query.sort' + - $ref: '#/components/parameters/search::query.stats' + - $ref: '#/components/parameters/search::query.stored_fields' + - $ref: '#/components/parameters/search::query.suggest_field' + - $ref: '#/components/parameters/search::query.suggest_mode' + - $ref: '#/components/parameters/search::query.suggest_size' + - $ref: '#/components/parameters/search::query.suggest_text' + - $ref: '#/components/parameters/search::query.terminate_after' + - $ref: '#/components/parameters/search::query.timeout' + - $ref: '#/components/parameters/search::query.track_scores' + - $ref: '#/components/parameters/search::query.track_total_hits' + - $ref: '#/components/parameters/search::query.typed_keys' + - $ref: '#/components/parameters/search::query.version' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/search' + responses: + '200': + $ref: '#/components/responses/search@200' + '400': + $ref: '#/components/responses/search@400' + '404': + $ref: '#/components/responses/search@404' + post: + operationId: search.3 + x-operation-group: search + x-version-added: '1.0' + description: Returns results matching a query. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/search/ + parameters: + - $ref: '#/components/parameters/search::path.index' + - $ref: '#/components/parameters/search::query._source' + - $ref: '#/components/parameters/search::query._source_excludes' + - $ref: '#/components/parameters/search::query._source_includes' + - $ref: '#/components/parameters/search::query.allow_no_indices' + - $ref: '#/components/parameters/search::query.allow_partial_search_results' + - $ref: '#/components/parameters/search::query.analyze_wildcard' + - $ref: '#/components/parameters/search::query.analyzer' + - $ref: '#/components/parameters/search::query.batched_reduce_size' + - $ref: '#/components/parameters/search::query.cancel_after_time_interval' + - $ref: '#/components/parameters/search::query.ccs_minimize_roundtrips' + - $ref: '#/components/parameters/search::query.default_operator' + - $ref: '#/components/parameters/search::query.df' + - $ref: '#/components/parameters/search::query.docvalue_fields' + - $ref: '#/components/parameters/search::query.expand_wildcards' + - $ref: '#/components/parameters/search::query.explain' + - $ref: '#/components/parameters/search::query.from' + - $ref: '#/components/parameters/search::query.ignore_throttled' + - $ref: '#/components/parameters/search::query.ignore_unavailable' + - $ref: '#/components/parameters/search::query.include_named_queries_score' + - $ref: '#/components/parameters/search::query.lenient' + - $ref: '#/components/parameters/search::query.max_concurrent_shard_requests' + - $ref: '#/components/parameters/search::query.phase_took' + - $ref: '#/components/parameters/search::query.pre_filter_shard_size' + - $ref: '#/components/parameters/search::query.preference' + - $ref: '#/components/parameters/search::query.q' + - $ref: '#/components/parameters/search::query.request_cache' + - $ref: '#/components/parameters/search::query.rest_total_hits_as_int' + - $ref: '#/components/parameters/search::query.routing' + - $ref: '#/components/parameters/search::query.scroll' + - $ref: '#/components/parameters/search::query.search_pipeline' + - $ref: '#/components/parameters/search::query.search_type' + - $ref: '#/components/parameters/search::query.seq_no_primary_term' + - $ref: '#/components/parameters/search::query.size' + - $ref: '#/components/parameters/search::query.sort' + - $ref: '#/components/parameters/search::query.stats' + - $ref: '#/components/parameters/search::query.stored_fields' + - $ref: '#/components/parameters/search::query.suggest_field' + - $ref: '#/components/parameters/search::query.suggest_mode' + - $ref: '#/components/parameters/search::query.suggest_size' + - $ref: '#/components/parameters/search::query.suggest_text' + - $ref: '#/components/parameters/search::query.terminate_after' + - $ref: '#/components/parameters/search::query.timeout' + - $ref: '#/components/parameters/search::query.track_scores' + - $ref: '#/components/parameters/search::query.track_total_hits' + - $ref: '#/components/parameters/search::query.typed_keys' + - $ref: '#/components/parameters/search::query.version' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/search' + responses: + '200': + $ref: '#/components/responses/search@200' + '400': + $ref: '#/components/responses/search@400' + '404': + $ref: '#/components/responses/search@404' + /{index}/_search_shards: + get: + operationId: search_shards.2 + x-operation-group: search_shards + x-version-added: '1.0' + description: Returns information about the indices and shards that a search request would be executed against. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/search_shards::path.index' + - $ref: '#/components/parameters/search_shards::query.allow_no_indices' + - $ref: '#/components/parameters/search_shards::query.expand_wildcards' + - $ref: '#/components/parameters/search_shards::query.ignore_unavailable' + - $ref: '#/components/parameters/search_shards::query.local' + - $ref: '#/components/parameters/search_shards::query.preference' + - $ref: '#/components/parameters/search_shards::query.routing' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/search_shards@200' + post: + operationId: search_shards.3 + x-operation-group: search_shards + x-version-added: '1.0' + description: Returns information about the indices and shards that a search request would be executed against. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/search_shards::path.index' + - $ref: '#/components/parameters/search_shards::query.allow_no_indices' + - $ref: '#/components/parameters/search_shards::query.expand_wildcards' + - $ref: '#/components/parameters/search_shards::query.ignore_unavailable' + - $ref: '#/components/parameters/search_shards::query.local' + - $ref: '#/components/parameters/search_shards::query.preference' + - $ref: '#/components/parameters/search_shards::query.routing' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/search_shards@200' + /{index}/_search/point_in_time: + post: + operationId: create_pit.0 + x-operation-group: create_pit + x-version-added: '2.4' + description: Creates point in time context. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/point-in-time-api/#create-a-pit + parameters: + - $ref: '#/components/parameters/create_pit::path.index' + - $ref: '#/components/parameters/create_pit::query.allow_partial_pit_creation' + - $ref: '#/components/parameters/create_pit::query.expand_wildcards' + - $ref: '#/components/parameters/create_pit::query.keep_alive' + - $ref: '#/components/parameters/create_pit::query.preference' + - $ref: '#/components/parameters/create_pit::query.routing' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/create_pit@200' + /{index}/_search/template: + get: + operationId: search_template.2 + x-operation-group: search_template + x-version-added: '1.0' + description: Allows to use the Mustache language to pre-render a search definition. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/search-template/ + parameters: + - $ref: '#/components/parameters/search_template::path.index' + - $ref: '#/components/parameters/search_template::query.allow_no_indices' + - $ref: '#/components/parameters/search_template::query.ccs_minimize_roundtrips' + - $ref: '#/components/parameters/search_template::query.expand_wildcards' + - $ref: '#/components/parameters/search_template::query.explain' + - $ref: '#/components/parameters/search_template::query.ignore_throttled' + - $ref: '#/components/parameters/search_template::query.ignore_unavailable' + - $ref: '#/components/parameters/search_template::query.preference' + - $ref: '#/components/parameters/search_template::query.profile' + - $ref: '#/components/parameters/search_template::query.rest_total_hits_as_int' + - $ref: '#/components/parameters/search_template::query.routing' + - $ref: '#/components/parameters/search_template::query.scroll' + - $ref: '#/components/parameters/search_template::query.search_type' + - $ref: '#/components/parameters/search_template::query.typed_keys' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/search_template' + responses: + '200': + $ref: '#/components/responses/search_template@200' + post: + operationId: search_template.3 + x-operation-group: search_template + x-version-added: '1.0' + description: Allows to use the Mustache language to pre-render a search definition. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/search-template/ + parameters: + - $ref: '#/components/parameters/search_template::path.index' + - $ref: '#/components/parameters/search_template::query.allow_no_indices' + - $ref: '#/components/parameters/search_template::query.ccs_minimize_roundtrips' + - $ref: '#/components/parameters/search_template::query.expand_wildcards' + - $ref: '#/components/parameters/search_template::query.explain' + - $ref: '#/components/parameters/search_template::query.ignore_throttled' + - $ref: '#/components/parameters/search_template::query.ignore_unavailable' + - $ref: '#/components/parameters/search_template::query.preference' + - $ref: '#/components/parameters/search_template::query.profile' + - $ref: '#/components/parameters/search_template::query.rest_total_hits_as_int' + - $ref: '#/components/parameters/search_template::query.routing' + - $ref: '#/components/parameters/search_template::query.scroll' + - $ref: '#/components/parameters/search_template::query.search_type' + - $ref: '#/components/parameters/search_template::query.typed_keys' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/search_template' + responses: + '200': + $ref: '#/components/responses/search_template@200' + /{index}/_segments: + get: + operationId: indices.segments.1 + x-operation-group: indices.segments + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Provides low-level information about segments in a Lucene index. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.segments::path.index' + - $ref: '#/components/parameters/indices.segments::query.allow_no_indices' + - $ref: '#/components/parameters/indices.segments::query.expand_wildcards' + - $ref: '#/components/parameters/indices.segments::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.segments::query.verbose' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.segments@200' + /{index}/_settings: + get: + operationId: indices.get_settings.2 + x-operation-group: indices.get_settings + x-version-added: '1.0' + description: Returns settings for one or more indices. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/get-settings/ + parameters: + - $ref: '#/components/parameters/indices.get_settings::path.index' + - $ref: '#/components/parameters/indices.get_settings::query.allow_no_indices' + - $ref: '#/components/parameters/indices.get_settings::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.get_settings::query.expand_wildcards' + - $ref: '#/components/parameters/indices.get_settings::query.flat_settings' + - $ref: '#/components/parameters/indices.get_settings::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.get_settings::query.include_defaults' + - $ref: '#/components/parameters/indices.get_settings::query.local' + - $ref: '#/components/parameters/indices.get_settings::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.get_settings@200' + put: + operationId: indices.put_settings.1 + x-operation-group: indices.put_settings + x-version-added: '1.0' + description: Updates the index settings. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/update-settings/ + parameters: + - $ref: '#/components/parameters/indices.put_settings::path.index' + - $ref: '#/components/parameters/indices.put_settings::query.allow_no_indices' + - $ref: '#/components/parameters/indices.put_settings::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.put_settings::query.expand_wildcards' + - $ref: '#/components/parameters/indices.put_settings::query.flat_settings' + - $ref: '#/components/parameters/indices.put_settings::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.put_settings::query.master_timeout' + - $ref: '#/components/parameters/indices.put_settings::query.preserve_existing' + - $ref: '#/components/parameters/indices.put_settings::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.put_settings' + responses: + '200': + $ref: '#/components/responses/indices.put_settings@200' + /{index}/_settings/{name}: + get: + operationId: indices.get_settings.3 + x-operation-group: indices.get_settings + x-version-added: '1.0' + description: Returns settings for one or more indices. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/get-settings/ + parameters: + - $ref: '#/components/parameters/indices.get_settings::path.index' + - $ref: '#/components/parameters/indices.get_settings::path.name' + - $ref: '#/components/parameters/indices.get_settings::query.allow_no_indices' + - $ref: '#/components/parameters/indices.get_settings::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.get_settings::query.expand_wildcards' + - $ref: '#/components/parameters/indices.get_settings::query.flat_settings' + - $ref: '#/components/parameters/indices.get_settings::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.get_settings::query.include_defaults' + - $ref: '#/components/parameters/indices.get_settings::query.local' + - $ref: '#/components/parameters/indices.get_settings::query.master_timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.get_settings@200' + /{index}/_shard_stores: + get: + operationId: indices.shard_stores.1 + x-operation-group: indices.shard_stores + x-version-added: '1.0' + description: Provides store information for shard copies of indices. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.shard_stores::path.index' + - $ref: '#/components/parameters/indices.shard_stores::query.allow_no_indices' + - $ref: '#/components/parameters/indices.shard_stores::query.expand_wildcards' + - $ref: '#/components/parameters/indices.shard_stores::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.shard_stores::query.status' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.shard_stores@200' + /{index}/_shrink/{target}: + post: + operationId: indices.shrink.0 + x-operation-group: indices.shrink + x-version-added: '1.0' + description: Allow to shrink an existing index into a new index with fewer primary shards. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/shrink-index/ + parameters: + - $ref: '#/components/parameters/indices.shrink::path.index' + - $ref: '#/components/parameters/indices.shrink::path.target' + - $ref: '#/components/parameters/indices.shrink::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.shrink::query.copy_settings' + - $ref: '#/components/parameters/indices.shrink::query.master_timeout' + - $ref: '#/components/parameters/indices.shrink::query.task_execution_timeout' + - $ref: '#/components/parameters/indices.shrink::query.timeout' + - $ref: '#/components/parameters/indices.shrink::query.wait_for_active_shards' + - $ref: '#/components/parameters/indices.shrink::query.wait_for_completion' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.shrink' + responses: + '200': + $ref: '#/components/responses/indices.shrink@200' + put: + operationId: indices.shrink.1 + x-operation-group: indices.shrink + x-version-added: '1.0' + description: Allow to shrink an existing index into a new index with fewer primary shards. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/shrink-index/ + parameters: + - $ref: '#/components/parameters/indices.shrink::path.index' + - $ref: '#/components/parameters/indices.shrink::path.target' + - $ref: '#/components/parameters/indices.shrink::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.shrink::query.copy_settings' + - $ref: '#/components/parameters/indices.shrink::query.master_timeout' + - $ref: '#/components/parameters/indices.shrink::query.task_execution_timeout' + - $ref: '#/components/parameters/indices.shrink::query.timeout' + - $ref: '#/components/parameters/indices.shrink::query.wait_for_active_shards' + - $ref: '#/components/parameters/indices.shrink::query.wait_for_completion' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.shrink' + responses: + '200': + $ref: '#/components/responses/indices.shrink@200' + /{index}/_source/{id}: + get: + operationId: get_source.0 + x-operation-group: get_source + x-version-added: '1.0' + description: Returns the source of a document. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/document-apis/get-documents/ + parameters: + - $ref: '#/components/parameters/get_source::path.id' + - $ref: '#/components/parameters/get_source::path.index' + - $ref: '#/components/parameters/get_source::query._source' + - $ref: '#/components/parameters/get_source::query._source_excludes' + - $ref: '#/components/parameters/get_source::query._source_includes' + - $ref: '#/components/parameters/get_source::query.preference' + - $ref: '#/components/parameters/get_source::query.realtime' + - $ref: '#/components/parameters/get_source::query.refresh' + - $ref: '#/components/parameters/get_source::query.routing' + - $ref: '#/components/parameters/get_source::query.version' + - $ref: '#/components/parameters/get_source::query.version_type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/get_source@200' + head: + operationId: exists_source.0 + x-operation-group: exists_source + x-version-added: '1.0' + description: Returns information about whether a document source exists in an index. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/document-apis/get-documents/ + parameters: + - $ref: '#/components/parameters/exists_source::path.id' + - $ref: '#/components/parameters/exists_source::path.index' + - $ref: '#/components/parameters/exists_source::query._source' + - $ref: '#/components/parameters/exists_source::query._source_excludes' + - $ref: '#/components/parameters/exists_source::query._source_includes' + - $ref: '#/components/parameters/exists_source::query.preference' + - $ref: '#/components/parameters/exists_source::query.realtime' + - $ref: '#/components/parameters/exists_source::query.refresh' + - $ref: '#/components/parameters/exists_source::query.routing' + - $ref: '#/components/parameters/exists_source::query.version' + - $ref: '#/components/parameters/exists_source::query.version_type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/exists_source@200' + /{index}/_split/{target}: + post: + operationId: indices.split.0 + x-operation-group: indices.split + x-version-added: '1.0' + description: Allows you to split an existing index into a new index with more primary shards. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/split/ + parameters: + - $ref: '#/components/parameters/indices.split::path.index' + - $ref: '#/components/parameters/indices.split::path.target' + - $ref: '#/components/parameters/indices.split::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.split::query.copy_settings' + - $ref: '#/components/parameters/indices.split::query.master_timeout' + - $ref: '#/components/parameters/indices.split::query.task_execution_timeout' + - $ref: '#/components/parameters/indices.split::query.timeout' + - $ref: '#/components/parameters/indices.split::query.wait_for_active_shards' + - $ref: '#/components/parameters/indices.split::query.wait_for_completion' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.split' + responses: + '200': + $ref: '#/components/responses/indices.split@200' + put: + operationId: indices.split.1 + x-operation-group: indices.split + x-version-added: '1.0' + description: Allows you to split an existing index into a new index with more primary shards. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/index-apis/split/ + parameters: + - $ref: '#/components/parameters/indices.split::path.index' + - $ref: '#/components/parameters/indices.split::path.target' + - $ref: '#/components/parameters/indices.split::query.cluster_manager_timeout' + - $ref: '#/components/parameters/indices.split::query.copy_settings' + - $ref: '#/components/parameters/indices.split::query.master_timeout' + - $ref: '#/components/parameters/indices.split::query.task_execution_timeout' + - $ref: '#/components/parameters/indices.split::query.timeout' + - $ref: '#/components/parameters/indices.split::query.wait_for_active_shards' + - $ref: '#/components/parameters/indices.split::query.wait_for_completion' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.split' + responses: + '200': + $ref: '#/components/responses/indices.split@200' + /{index}/_stats: + get: + operationId: indices.stats.2 + x-operation-group: indices.stats + x-version-added: '1.0' + description: Provides statistics on operations happening in an index. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.stats::path.index' + - $ref: '#/components/parameters/indices.stats::query.completion_fields' + - $ref: '#/components/parameters/indices.stats::query.expand_wildcards' + - $ref: '#/components/parameters/indices.stats::query.fielddata_fields' + - $ref: '#/components/parameters/indices.stats::query.fields' + - $ref: '#/components/parameters/indices.stats::query.forbid_closed_indices' + - $ref: '#/components/parameters/indices.stats::query.groups' + - $ref: '#/components/parameters/indices.stats::query.include_segment_file_sizes' + - $ref: '#/components/parameters/indices.stats::query.include_unloaded_segments' + - $ref: '#/components/parameters/indices.stats::query.level' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.stats@200' + /{index}/_stats/{metric}: + get: + operationId: indices.stats.3 + x-operation-group: indices.stats + x-version-added: '1.0' + description: Provides statistics on operations happening in an index. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.stats::path.index' + - $ref: '#/components/parameters/indices.stats::path.metric' + - $ref: '#/components/parameters/indices.stats::query.completion_fields' + - $ref: '#/components/parameters/indices.stats::query.expand_wildcards' + - $ref: '#/components/parameters/indices.stats::query.fielddata_fields' + - $ref: '#/components/parameters/indices.stats::query.fields' + - $ref: '#/components/parameters/indices.stats::query.forbid_closed_indices' + - $ref: '#/components/parameters/indices.stats::query.groups' + - $ref: '#/components/parameters/indices.stats::query.include_segment_file_sizes' + - $ref: '#/components/parameters/indices.stats::query.include_unloaded_segments' + - $ref: '#/components/parameters/indices.stats::query.level' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.stats@200' + /{index}/_termvectors: + get: + operationId: termvectors.0 + x-operation-group: termvectors + x-version-added: '1.0' + description: Returns information and statistics about terms in the fields of a particular document. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/termvectors::path.index' + - $ref: '#/components/parameters/termvectors::query.field_statistics' + - $ref: '#/components/parameters/termvectors::query.fields' + - $ref: '#/components/parameters/termvectors::query.offsets' + - $ref: '#/components/parameters/termvectors::query.payloads' + - $ref: '#/components/parameters/termvectors::query.positions' + - $ref: '#/components/parameters/termvectors::query.preference' + - $ref: '#/components/parameters/termvectors::query.realtime' + - $ref: '#/components/parameters/termvectors::query.routing' + - $ref: '#/components/parameters/termvectors::query.term_statistics' + - $ref: '#/components/parameters/termvectors::query.version' + - $ref: '#/components/parameters/termvectors::query.version_type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/termvectors' + responses: + '200': + $ref: '#/components/responses/termvectors@200' + post: + operationId: termvectors.1 + x-operation-group: termvectors + x-version-added: '1.0' + description: Returns information and statistics about terms in the fields of a particular document. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/termvectors::path.index' + - $ref: '#/components/parameters/termvectors::query.field_statistics' + - $ref: '#/components/parameters/termvectors::query.fields' + - $ref: '#/components/parameters/termvectors::query.offsets' + - $ref: '#/components/parameters/termvectors::query.payloads' + - $ref: '#/components/parameters/termvectors::query.positions' + - $ref: '#/components/parameters/termvectors::query.preference' + - $ref: '#/components/parameters/termvectors::query.realtime' + - $ref: '#/components/parameters/termvectors::query.routing' + - $ref: '#/components/parameters/termvectors::query.term_statistics' + - $ref: '#/components/parameters/termvectors::query.version' + - $ref: '#/components/parameters/termvectors::query.version_type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/termvectors' + responses: + '200': + $ref: '#/components/responses/termvectors@200' + /{index}/_termvectors/{id}: + get: + operationId: termvectors.2 + x-operation-group: termvectors + x-version-added: '1.0' + description: Returns information and statistics about terms in the fields of a particular document. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/termvectors::path.id' + - $ref: '#/components/parameters/termvectors::path.index' + - $ref: '#/components/parameters/termvectors::query.field_statistics' + - $ref: '#/components/parameters/termvectors::query.fields' + - $ref: '#/components/parameters/termvectors::query.offsets' + - $ref: '#/components/parameters/termvectors::query.payloads' + - $ref: '#/components/parameters/termvectors::query.positions' + - $ref: '#/components/parameters/termvectors::query.preference' + - $ref: '#/components/parameters/termvectors::query.realtime' + - $ref: '#/components/parameters/termvectors::query.routing' + - $ref: '#/components/parameters/termvectors::query.term_statistics' + - $ref: '#/components/parameters/termvectors::query.version' + - $ref: '#/components/parameters/termvectors::query.version_type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/termvectors' + responses: + '200': + $ref: '#/components/responses/termvectors@200' + post: + operationId: termvectors.3 + x-operation-group: termvectors + x-version-added: '1.0' + description: Returns information and statistics about terms in the fields of a particular document. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/termvectors::path.id' + - $ref: '#/components/parameters/termvectors::path.index' + - $ref: '#/components/parameters/termvectors::query.field_statistics' + - $ref: '#/components/parameters/termvectors::query.fields' + - $ref: '#/components/parameters/termvectors::query.offsets' + - $ref: '#/components/parameters/termvectors::query.payloads' + - $ref: '#/components/parameters/termvectors::query.positions' + - $ref: '#/components/parameters/termvectors::query.preference' + - $ref: '#/components/parameters/termvectors::query.realtime' + - $ref: '#/components/parameters/termvectors::query.routing' + - $ref: '#/components/parameters/termvectors::query.term_statistics' + - $ref: '#/components/parameters/termvectors::query.version' + - $ref: '#/components/parameters/termvectors::query.version_type' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/termvectors' + responses: + '200': + $ref: '#/components/responses/termvectors@200' + /{index}/_update_by_query: + post: + operationId: update_by_query.0 + x-operation-group: update_by_query + x-version-added: '1.0' + description: |- + Performs an update on every document in the index without changing the source, + for example to pick up a mapping change. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/document-apis/update-by-query/ + parameters: + - $ref: '#/components/parameters/update_by_query::path.index' + - $ref: '#/components/parameters/update_by_query::query._source' + - $ref: '#/components/parameters/update_by_query::query._source_excludes' + - $ref: '#/components/parameters/update_by_query::query._source_includes' + - $ref: '#/components/parameters/update_by_query::query.allow_no_indices' + - $ref: '#/components/parameters/update_by_query::query.analyze_wildcard' + - $ref: '#/components/parameters/update_by_query::query.analyzer' + - $ref: '#/components/parameters/update_by_query::query.conflicts' + - $ref: '#/components/parameters/update_by_query::query.default_operator' + - $ref: '#/components/parameters/update_by_query::query.df' + - $ref: '#/components/parameters/update_by_query::query.expand_wildcards' + - $ref: '#/components/parameters/update_by_query::query.from' + - $ref: '#/components/parameters/update_by_query::query.ignore_unavailable' + - $ref: '#/components/parameters/update_by_query::query.lenient' + - $ref: '#/components/parameters/update_by_query::query.max_docs' + - $ref: '#/components/parameters/update_by_query::query.pipeline' + - $ref: '#/components/parameters/update_by_query::query.preference' + - $ref: '#/components/parameters/update_by_query::query.q' + - $ref: '#/components/parameters/update_by_query::query.refresh' + - $ref: '#/components/parameters/update_by_query::query.request_cache' + - $ref: '#/components/parameters/update_by_query::query.requests_per_second' + - $ref: '#/components/parameters/update_by_query::query.routing' + - $ref: '#/components/parameters/update_by_query::query.scroll' + - $ref: '#/components/parameters/update_by_query::query.scroll_size' + - $ref: '#/components/parameters/update_by_query::query.search_timeout' + - $ref: '#/components/parameters/update_by_query::query.search_type' + - $ref: '#/components/parameters/update_by_query::query.size' + - $ref: '#/components/parameters/update_by_query::query.slices' + - $ref: '#/components/parameters/update_by_query::query.sort' + - $ref: '#/components/parameters/update_by_query::query.stats' + - $ref: '#/components/parameters/update_by_query::query.terminate_after' + - $ref: '#/components/parameters/update_by_query::query.timeout' + - $ref: '#/components/parameters/update_by_query::query.version' + - $ref: '#/components/parameters/update_by_query::query.wait_for_active_shards' + - $ref: '#/components/parameters/update_by_query::query.wait_for_completion' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/update_by_query' + responses: + '200': + $ref: '#/components/responses/update_by_query@200' + /{index}/_update/{id}: + post: + operationId: update.0 + x-operation-group: update + x-version-added: '1.0' + description: Updates a document with a script or partial document. + externalDocs: + url: https://opensearch.org/docs/latest/api-reference/document-apis/update-document/ + parameters: + - $ref: '#/components/parameters/update::path.id' + - $ref: '#/components/parameters/update::path.index' + - $ref: '#/components/parameters/update::query._source' + - $ref: '#/components/parameters/update::query._source_excludes' + - $ref: '#/components/parameters/update::query._source_includes' + - $ref: '#/components/parameters/update::query.if_primary_term' + - $ref: '#/components/parameters/update::query.if_seq_no' + - $ref: '#/components/parameters/update::query.lang' + - $ref: '#/components/parameters/update::query.refresh' + - $ref: '#/components/parameters/update::query.require_alias' + - $ref: '#/components/parameters/update::query.retry_on_conflict' + - $ref: '#/components/parameters/update::query.routing' + - $ref: '#/components/parameters/update::query.timeout' + - $ref: '#/components/parameters/update::query.wait_for_active_shards' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/update' + responses: + '200': + $ref: '#/components/responses/update@200' + /{index}/_upgrade: + get: + operationId: indices.get_upgrade.1 + x-operation-group: indices.get_upgrade + x-version-added: '1.0' + description: The _upgrade API is no longer useful and will be removed. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.get_upgrade::path.index' + - $ref: '#/components/parameters/indices.get_upgrade::query.allow_no_indices' + - $ref: '#/components/parameters/indices.get_upgrade::query.expand_wildcards' + - $ref: '#/components/parameters/indices.get_upgrade::query.ignore_unavailable' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.get_upgrade@200' + post: + operationId: indices.upgrade.1 + x-operation-group: indices.upgrade + x-version-added: '1.0' + description: The _upgrade API is no longer useful and will be removed. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.upgrade::path.index' + - $ref: '#/components/parameters/indices.upgrade::query.allow_no_indices' + - $ref: '#/components/parameters/indices.upgrade::query.expand_wildcards' + - $ref: '#/components/parameters/indices.upgrade::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.upgrade::query.only_ancient_segments' + - $ref: '#/components/parameters/indices.upgrade::query.wait_for_completion' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/indices.upgrade@200' + /{index}/_validate/query: + get: + operationId: indices.validate_query.2 + x-operation-group: indices.validate_query + x-version-added: '1.0' + description: Allows a user to validate a potentially expensive query without executing it. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.validate_query::path.index' + - $ref: '#/components/parameters/indices.validate_query::query.all_shards' + - $ref: '#/components/parameters/indices.validate_query::query.allow_no_indices' + - $ref: '#/components/parameters/indices.validate_query::query.analyze_wildcard' + - $ref: '#/components/parameters/indices.validate_query::query.analyzer' + - $ref: '#/components/parameters/indices.validate_query::query.default_operator' + - $ref: '#/components/parameters/indices.validate_query::query.df' + - $ref: '#/components/parameters/indices.validate_query::query.expand_wildcards' + - $ref: '#/components/parameters/indices.validate_query::query.explain' + - $ref: '#/components/parameters/indices.validate_query::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.validate_query::query.lenient' + - $ref: '#/components/parameters/indices.validate_query::query.q' + - $ref: '#/components/parameters/indices.validate_query::query.rewrite' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.validate_query' + responses: + '200': + $ref: '#/components/responses/indices.validate_query@200' + post: + operationId: indices.validate_query.3 + x-operation-group: indices.validate_query + x-version-added: '1.0' + description: Allows a user to validate a potentially expensive query without executing it. + externalDocs: + url: https://opensearch.org/docs/latest + parameters: + - $ref: '#/components/parameters/indices.validate_query::path.index' + - $ref: '#/components/parameters/indices.validate_query::query.all_shards' + - $ref: '#/components/parameters/indices.validate_query::query.allow_no_indices' + - $ref: '#/components/parameters/indices.validate_query::query.analyze_wildcard' + - $ref: '#/components/parameters/indices.validate_query::query.analyzer' + - $ref: '#/components/parameters/indices.validate_query::query.default_operator' + - $ref: '#/components/parameters/indices.validate_query::query.df' + - $ref: '#/components/parameters/indices.validate_query::query.expand_wildcards' + - $ref: '#/components/parameters/indices.validate_query::query.explain' + - $ref: '#/components/parameters/indices.validate_query::query.ignore_unavailable' + - $ref: '#/components/parameters/indices.validate_query::query.lenient' + - $ref: '#/components/parameters/indices.validate_query::query.q' + - $ref: '#/components/parameters/indices.validate_query::query.rewrite' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/indices.validate_query' + responses: + '200': + $ref: '#/components/responses/indices.validate_query@200' + /_opendistro/_knn/stats/{stat}: + get: + operationId: knn.stats.1_superseded + x-operation-group: knn.stats + x-version-added: '1.0' + description: Provides information about the current status of the k-NN plugin. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/knn/api/#stats + parameters: + - $ref: '#/components/parameters/knn.stats::path.stat' + - $ref: '#/components/parameters/knn.stats::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/knn.stats@200' + deprecated: true + x-ignorable: true + /_opendistro/_knn/warmup/{index}: + get: + operationId: knn.warmup.0_superseded + x-operation-group: knn.warmup + x-version-added: '1.0' + description: Preloads native library files into memory, reducing initial search latency for specified indexes. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/knn/api/#warmup-operation + parameters: + - $ref: '#/components/parameters/knn.warmup::path.index' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/knn.warmup@200' + deprecated: true + x-ignorable: true + /_opendistro/_knn/{nodeId}/stats/{stat}: + get: + operationId: knn.stats.3_superseded + x-operation-group: knn.stats + x-version-added: '1.0' + description: Provides information about the current status of the k-NN plugin. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/knn/api/#stats + parameters: + - $ref: '#/components/parameters/knn.stats::path.node_id' + - $ref: '#/components/parameters/knn.stats::path.stat' + - $ref: '#/components/parameters/knn.stats::query.timeout' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/knn.stats@200' + deprecated: true + x-ignorable: true + /_opendistro/_ppl: + post: + operationId: ppl.query.0_superseded + x-operation-group: ppl.query + x-version-added: '1.0' + description: Send a PPL query to the PPL plugin. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/sql/sql-ppl-api/ + parameters: + - $ref: '#/components/parameters/ppl.query::query.format' + - $ref: '#/components/parameters/ppl.query::query.sanitize' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/ppl.query' + responses: + '200': + $ref: '#/components/responses/ppl.query@200' + deprecated: true + x-ignorable: true + /_opendistro/_ppl/_explain: + post: + operationId: ppl.explain.0_superseded + x-operation-group: ppl.explain + x-version-added: '1.0' + description: Shows how a query is executed against OpenSearch. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/sql/sql-ppl-api/ + parameters: + - $ref: '#/components/parameters/ppl.explain::query.format' + - $ref: '#/components/parameters/ppl.explain::query.sanitize' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/ppl.explain' + responses: + '200': + $ref: '#/components/responses/ppl.explain@200' + deprecated: true + x-ignorable: true + /_opendistro/_ppl/stats: + get: + operationId: ppl.get_stats.0_superseded + x-operation-group: ppl.get_stats + x-version-added: '1.0' + description: Collect metrics for the plugin within the interval. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/sql/monitoring/ + parameters: + - $ref: '#/components/parameters/ppl.get_stats::query.format' + - $ref: '#/components/parameters/ppl.get_stats::query.sanitize' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/ppl.get_stats@200' + deprecated: true + x-ignorable: true + post: + operationId: ppl.post_stats.1_superseded + x-operation-group: ppl.post_stats + x-version-added: '1.0' + description: By a stats endpoint, you are able to collect metrics for the plugin within the interval. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/sql/monitoring/ + parameters: + - $ref: '#/components/parameters/ppl.post_stats::query.format' + - $ref: '#/components/parameters/ppl.post_stats::query.sanitize' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/ppl.post_stats' + responses: + '200': + $ref: '#/components/responses/ppl.post_stats@200' + deprecated: true + x-ignorable: true + /_opendistro/_rollup/jobs/{rollupID}: + get: + operationId: rollups.get.0_superseded + x-operation-group: rollups.get + x-version-added: '1.0' + description: Get an index rollup. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-rollups/rollup-api/#get-an-index-rollup-job + parameters: + - $ref: '#/components/parameters/rollups.get::path.id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/rollups.get@200' + deprecated: true + x-ignorable: true + put: + operationId: rollups.put.0_superseded + x-operation-group: rollups.put + x-version-added: '1.0' + description: Create or update index rollup. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-rollups/rollup-api/#create-or-update-an-index-rollup-job + responses: + '200': + $ref: '#/components/responses/rollups.put@200' + parameters: + - $ref: '#/components/parameters/rollups.put::path.id' + - $ref: '#/components/parameters/rollups.put::query.if_primary_term' + - $ref: '#/components/parameters/rollups.put::query.if_seq_no' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/rollups.put' + deprecated: true + x-ignorable: true + delete: + operationId: rollups.delete.0_superseded + x-operation-group: rollups.delete + x-version-added: '1.0' + description: Delete index rollup. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-rollups/rollup-api/#delete-an-index-rollup-job + responses: + '200': + $ref: '#/components/responses/rollups.delete@200' + parameters: + - $ref: '#/components/parameters/rollups.delete::path.id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + /_opendistro/_rollup/jobs/{rollupID}/_explain: + get: + operationId: rollups.explain.0_superseded + x-operation-group: rollups.explain + x-version-added: '1.0' + description: Get a rollup's current status. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-rollups/rollup-api/#explain-an-index-rollup-job + parameters: + - $ref: '#/components/parameters/rollups.explain::path.id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/rollups.explain@200' + deprecated: true + x-ignorable: true + /_opendistro/_rollup/jobs/{rollupID}/_start: + post: + operationId: rollups.start.0_superseded + x-operation-group: rollups.start + x-version-added: '1.0' + description: Start rollup. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-rollups/rollup-api/#start-or-stop-an-index-rollup-job + parameters: + - $ref: '#/components/parameters/rollups.start::path.id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/rollups.start@200' + deprecated: true + x-ignorable: true + /_opendistro/_rollup/jobs/{rollupID}/_stop: + post: + operationId: rollups.stop.0_superseded + x-operation-group: rollups.stop + x-version-added: '1.0' + description: Stop rollup. + externalDocs: + url: https://opensearch.org/docs/latest/im-plugin/index-rollups/rollup-api/#start-or-stop-an-index-rollup-job + parameters: + - $ref: '#/components/parameters/rollups.stop::path.id' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/rollups.stop@200' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/account: + get: + operationId: security.get_account_details.0_superseded + x-operation-group: security.get_account_details + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Returns account details for the current user. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-account-details + responses: + '200': + $ref: '#/components/responses/security.get_account_details@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + put: + operationId: security.change_password.0_superseded + x-operation-group: security.change_password + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Changes the password for the current user. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#change-password + requestBody: + $ref: '#/components/requestBodies/security.change_password' + responses: + '200': + $ref: '#/components/responses/security.change_password@200' + '403': + $ref: '#/components/responses/security.change_password@403' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/actiongroups/{name}: + get: + operationId: security.get_action_group.0_superseded + x-operation-group: security.get_action_group + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves one action group. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-action-group + parameters: + - $ref: '#/components/parameters/security.get_action_group::path.action_group' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.get_action_group@200' + deprecated: true + x-ignorable: true + put: + operationId: security.create_action_group.0_superseded + x-operation-group: security.create_action_group + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Creates or replaces the specified action group. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#create-action-group + parameters: + - $ref: '#/components/parameters/security.create_action_group::path.action_group' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.create_action_group' + responses: + '200': + $ref: '#/components/responses/security.create_action_group@200' + '201': + $ref: '#/components/responses/security.create_action_group@201' + deprecated: true + x-ignorable: true + patch: + operationId: security.patch_action_group.0_superseded + x-operation-group: security.patch_action_group + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Updates individual attributes of an action group. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#patch-action-group + parameters: + - $ref: '#/components/parameters/security.patch_action_group::path.action_group' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.patch_action_group' + responses: + '200': + $ref: '#/components/responses/security.patch_action_group@200' + deprecated: true + x-ignorable: true + delete: + operationId: security.delete_action_group.0_superseded + x-operation-group: security.delete_action_group + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Delete a specified action group. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#delete-action-group + parameters: + - $ref: '#/components/parameters/security.delete_action_group::path.action_group' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.delete_action_group@200' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/audit/config: + put: + operationId: security.update_audit_configuration.0_superseded + x-operation-group: security.update_audit_configuration + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Updates the audit configuration. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#audit-logs + requestBody: + $ref: '#/components/requestBodies/security.update_audit_configuration' + responses: + '200': + $ref: '#/components/responses/security.update_audit_configuration@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/authtoken: + post: + operationId: security.authtoken.0_superseded + x-operation-group: security.authtoken + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Returns the authorization token. + responses: + '200': + $ref: '#/components/responses/security.authtoken@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/cache: + get: + operationId: security.cache.1_superseded + x-operation-group: security.cache + x-ignorable: true + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Not supported for cache API. + responses: + '501': + $ref: '#/components/responses/security.cache@501' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + post: + operationId: security.cache.2_superseded + x-operation-group: security.cache + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + x-ignorable: true + description: Not supported for cache API. + responses: + '501': + $ref: '#/components/responses/security.cache@501' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + put: + operationId: security.cache.3_superseded + x-operation-group: security.cache + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + x-ignorable: true + description: Not supported for cache API. + responses: + '501': + $ref: '#/components/responses/security.cache@501' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + delete: + operationId: security.flush_cache.0_superseded + x-operation-group: security.flush_cache + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Flushes the Security plugin user, authentication, and authorization cache. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#flush-cache + responses: + '200': + $ref: '#/components/responses/security.flush_cache@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/internalusers/{name}: + get: + operationId: security.get_user.0_superseded + x-operation-group: security.get_user + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieve one internal user. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-user + parameters: + - $ref: '#/components/parameters/security.get_user::path.username' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.get_user@200' + deprecated: true + x-ignorable: true + put: + operationId: security.create_user.0_superseded + x-operation-group: security.create_user + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Creates or replaces the specified user. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#create-user + parameters: + - $ref: '#/components/parameters/security.create_user::path.username' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.create_user' + responses: + '200': + $ref: '#/components/responses/security.create_user@200' + deprecated: true + x-ignorable: true + patch: + operationId: security.patch_user.0_superseded + x-operation-group: security.patch_user + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Updates individual attributes of an internal user. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#patch-user + parameters: + - $ref: '#/components/parameters/security.patch_user::path.username' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.patch_user' + responses: + '200': + $ref: '#/components/responses/security.patch_user@200' + deprecated: true + x-ignorable: true + delete: + operationId: security.delete_user.0_superseded + x-operation-group: security.delete_user + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Delete the specified user. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#delete-user + parameters: + - $ref: '#/components/parameters/security.delete_user::path.username' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.delete_user@200' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/internalusers/{name}/authtoken: + post: + operationId: security.generate_user_token.0_superseded + x-operation-group: security.generate_user_token + x-version-added: '2.7' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Generates authorization token for the given user. + parameters: + - $ref: '#/components/parameters/security.generate_user_token::path.username' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.generate_user_token@200' + '400': + $ref: '#/components/responses/security.generate_user_token@400' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/migrate: + post: + operationId: security.migrate.0_superseded + x-operation-group: security.migrate + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Migrates security configuration from v6 to v7. + responses: + '200': + $ref: '#/components/responses/security.migrate@200' + '400': + $ref: '#/components/responses/security.migrate@400' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/permissionsinfo: + get: + operationId: security.get_permissions_info.0_superseded + x-operation-group: security.get_permissions_info + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Gets the evaluated REST API permissions for the currently logged in user. + responses: + '200': + $ref: '#/components/responses/security.get_permissions_info@200' + '500': + $ref: '#/components/responses/security.get_permissions_info@500' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/roles/{name}: + get: + operationId: security.get_role.0_superseded + x-operation-group: security.get_role + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves one role. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-role + parameters: + - $ref: '#/components/parameters/security.get_role::path.role' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.get_role@200' + deprecated: true + x-ignorable: true + put: + operationId: security.create_role.0_superseded + x-operation-group: security.create_role + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Creates or replaces the specified role. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#create-role + parameters: + - $ref: '#/components/parameters/security.create_role::path.role' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.create_role' + responses: + '200': + $ref: '#/components/responses/security.create_role@200' + '201': + $ref: '#/components/responses/security.create_role@201' + deprecated: true + x-ignorable: true + patch: + operationId: security.patch_role.0_superseded + x-operation-group: security.patch_role + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Updates individual attributes of a role. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#patch-role + parameters: + - $ref: '#/components/parameters/security.patch_role::path.role' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.patch_role' + responses: + '200': + $ref: '#/components/responses/security.patch_role@200' + '400': + $ref: '#/components/responses/security.patch_role@400' + deprecated: true + x-ignorable: true + delete: + operationId: security.delete_role.0_superseded + x-operation-group: security.delete_role + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Delete the specified role. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#delete-role + parameters: + - $ref: '#/components/parameters/security.delete_role::path.role' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.delete_role@200' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/rolesmapping/{name}: + get: + operationId: security.get_role_mapping.0_superseded + x-operation-group: security.get_role_mapping + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves one role mapping. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-role-mapping + parameters: + - $ref: '#/components/parameters/security.get_role_mapping::path.role' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.get_role_mapping@200' + deprecated: true + x-ignorable: true + put: + operationId: security.create_role_mapping.0_superseded + x-operation-group: security.create_role_mapping + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Creates or replaces the specified role mapping. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#create-role-mapping + parameters: + - $ref: '#/components/parameters/security.create_role_mapping::path.role' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.create_role_mapping' + responses: + '200': + $ref: '#/components/responses/security.create_role_mapping@200' + '201': + $ref: '#/components/responses/security.create_role_mapping@201' + deprecated: true + x-ignorable: true + patch: + operationId: security.patch_role_mapping.0_superseded + x-operation-group: security.patch_role_mapping + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Updates individual attributes of a role mapping. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#patch-role-mapping + parameters: + - $ref: '#/components/parameters/security.patch_role_mapping::path.role' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.patch_role_mapping' + responses: + '200': + $ref: '#/components/responses/security.patch_role_mapping@200' + '400': + $ref: '#/components/responses/security.patch_role_mapping@400' + deprecated: true + x-ignorable: true + delete: + operationId: security.delete_role_mapping.0_superseded + x-operation-group: security.delete_role_mapping + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Deletes the specified role mapping. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#delete-role-mapping + parameters: + - $ref: '#/components/parameters/security.delete_role_mapping::path.role' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.delete_role_mapping@200' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/securityconfig: + get: + operationId: security.get_configuration.0_superseded + x-operation-group: security.get_configuration + x-version-added: '2.10' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Returns the current Security plugin configuration in JSON format. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-configuration + responses: + '200': + $ref: '#/components/responses/security.get_configuration@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + patch: + operationId: security.patch_configuration.0_superseded + x-operation-group: security.patch_configuration + x-version-added: '2.10' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: A PATCH call is used to update the existing configuration using the REST API. Only accessible by admins and users with rest api access and only when put or patch is enabled. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#patch-configuration + requestBody: + $ref: '#/components/requestBodies/security.patch_configuration' + responses: + '200': + $ref: '#/components/responses/security.patch_configuration@200' + '403': + $ref: '#/components/responses/security.patch_configuration@403' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/securityconfig/config: + put: + operationId: security.update_configuration.0_superseded + x-operation-group: security.update_configuration + x-version-added: '2.10' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Adds or updates the existing configuration using the REST API. Only accessible by admins and users with rest api access and only when put or patch is enabled. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#update-configuration + requestBody: + $ref: '#/components/requestBodies/security.update_configuration' + responses: + '200': + $ref: '#/components/responses/security.update_configuration@200' + '403': + $ref: '#/components/responses/security.update_configuration@403' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/ssl/certs: + get: + operationId: security.get_certificates.0_superseded + x-operation-group: security.get_certificates + x-version-added: '2.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves the cluster security certificates. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-certificates + responses: + '200': + $ref: '#/components/responses/security.get_certificates@200' + '400': + $ref: '#/components/responses/security.get_certificates@400' + '403': + $ref: '#/components/responses/security.get_certificates@403' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/ssl/transport/reloadcerts: + put: + operationId: security.reload_transport_certificates.0_superseded + x-operation-group: security.reload_transport_certificates + x-version-added: '2.8' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Reload Transport layer communication certificates. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#reload-transport-certificates + responses: + '200': + $ref: '#/components/responses/security.reload_transport_certificates@200' + '400': + $ref: '#/components/responses/security.reload_transport_certificates@400' + '403': + $ref: '#/components/responses/security.reload_transport_certificates@403' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/ssl/http/reloadcerts: + put: + operationId: security.reload_http_certificates.0_superseded + x-operation-group: security.reload_http_certificates + x-version-added: '2.8' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Reload HTTP layer communication certificates. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#reload-http-certificates + responses: + '200': + $ref: '#/components/responses/security.reload_http_certificates@200' + '400': + $ref: '#/components/responses/security.reload_http_certificates@400' + '403': + $ref: '#/components/responses/security.reload_http_certificates@403' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/nodesdn/{cluster_name}: + get: + operationId: security.get_distinguished_name.0_superseded + x-operation-group: security.get_distinguished_name + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves distinguished names. Only accessible to super-admins and with rest-api permissions when enabled. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-distinguished-names + parameters: + - $ref: '#/components/parameters/security.get_distinguished_name::path.cluster_name' + - $ref: '#/components/parameters/security.get_distinguished_name::query.show_all' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.get_distinguished_name@200' + '400': + $ref: '#/components/responses/security.get_distinguished_name@400' + '403': + $ref: '#/components/responses/security.get_distinguished_name@403' + deprecated: true + x-ignorable: true + put: + operationId: security.update_distinguished_name.0_superseded + x-operation-group: security.update_distinguished_name + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Adds or updates the specified distinguished names in the cluster or node allow list. Only accessible to super-admins and with rest-api permissions when enabled. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#update-distinguished-names + parameters: + - $ref: '#/components/parameters/security.update_distinguished_name::path.cluster_name' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.update_distinguished_name' + responses: + '200': + $ref: '#/components/responses/security.update_distinguished_name@200' + '400': + $ref: '#/components/responses/security.update_distinguished_name@400' + '403': + $ref: '#/components/responses/security.update_distinguished_name@403' + deprecated: true + x-ignorable: true + patch: + operationId: security.patch_distinguished_name.0_superseded + x-operation-group: security.patch_distinguished_name + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Updates a distinguished cluster name for a specific cluster. Only accessible to super-admins and with rest-api permissions when enabled. + parameters: + - $ref: '#/components/parameters/security.patch_distinguished_name::path.cluster_name' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.patch_distinguished_name' + responses: + '200': + $ref: '#/components/responses/security.patch_distinguished_name@200' + '400': + $ref: '#/components/responses/security.patch_distinguished_name@400' + '403': + $ref: '#/components/responses/security.patch_distinguished_name@403' + deprecated: true + x-ignorable: true + delete: + operationId: security.delete_distinguished_name.0_superseded + x-operation-group: security.delete_distinguished_name + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Deletes all distinguished names in the specified cluster or node allow list. Only accessible to super-admins and with rest-api permissions when enabled. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#delete-distinguished-names + parameters: + - $ref: '#/components/parameters/security.delete_distinguished_name::path.cluster_name' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.delete_distinguished_name@200' + '400': + $ref: '#/components/responses/security.delete_distinguished_name@400' + '403': + $ref: '#/components/responses/security.delete_distinguished_name@403' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/tenancy/config: + get: + operationId: security.get_tenancy_config.0_superseded + x-operation-group: security.get_tenancy_config + x-version-added: '2.7' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves multi-tenancy configuration. Only accessible to admins and users with REST API permissions. + externalDocs: + url: https://opensearch.org/docs/latest/security/multi-tenancy/dynamic-config/#configuring-multi-tenancy-with-the-rest-api + responses: + '200': + $ref: '#/components/responses/security.get_tenancy_config@200' + '400': + $ref: '#/components/responses/security.get_tenancy_config@400' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + put: + operationId: security.create_update_tenancy_config.0_superseded + x-operation-group: security.create_update_tenancy_config + x-version-added: '2.7' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Creates or replaces the multi-tenancy configuration. Only accessible to admins and users with REST API permissions. + externalDocs: + url: https://opensearch.org/docs/latest/security/multi-tenancy/dynamic-config/#configuring-multi-tenancy-with-the-rest-api + requestBody: + $ref: '#/components/requestBodies/security.create_update_tenancy_config' + responses: + '200': + $ref: '#/components/responses/security.create_update_tenancy_config@200' + '400': + $ref: '#/components/responses/security.create_update_tenancy_config@400' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/tenants: + get: + operationId: security.get_tenants.0_superseded + x-operation-group: security.get_tenants + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves all tenants. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-tenants + responses: + '200': + $ref: '#/components/responses/security.get_tenants@200' + '400': + $ref: '#/components/responses/security.get_tenants@400' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + patch: + operationId: security.patch_tenants.0_superseded + x-operation-group: security.patch_tenants + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Add, delete, or modify multiple tenants in a single call. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#patch-tenants + requestBody: + $ref: '#/components/requestBodies/security.patch_tenants' + responses: + '200': + $ref: '#/components/responses/security.patch_tenants@200' + '400': + $ref: '#/components/responses/security.patch_tenants@400' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/tenants/{name}: + get: + operationId: security.get_tenant.0_superseded + x-operation-group: security.get_tenant + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves one tenant. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#get-tenant + parameters: + - $ref: '#/components/parameters/security.get_tenant::path.tenant' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.get_tenant@200' + deprecated: true + x-ignorable: true + put: + operationId: security.create_tenant.0_superseded + x-operation-group: security.create_tenant + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Creates or replaces the specified tenant. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#create-tenant + parameters: + - $ref: '#/components/parameters/security.create_tenant::path.tenant' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.create_tenant' + responses: + '200': + $ref: '#/components/responses/security.create_tenant@200' + '201': + $ref: '#/components/responses/security.create_tenant@201' + '400': + $ref: '#/components/responses/security.create_tenant@400' + deprecated: true + x-ignorable: true + patch: + operationId: security.patch_tenant.0_superseded + x-operation-group: security.patch_tenant + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Add, delete, or modify a single tenant. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#patch-tenant + parameters: + - $ref: '#/components/parameters/security.patch_tenant::path.tenant' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.patch_tenant' + responses: + '200': + $ref: '#/components/responses/security.patch_tenant@200' + '400': + $ref: '#/components/responses/security.patch_tenant@400' + deprecated: true + x-ignorable: true + delete: + operationId: security.delete_tenant.0_superseded + x-operation-group: security.delete_tenant + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Delete the specified tenant. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#delete-action-group + parameters: + - $ref: '#/components/parameters/security.delete_tenant::path.tenant' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.delete_tenant@200' + '400': + $ref: '#/components/responses/security.delete_tenant@400' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/user: + get: + operationId: security.get_users_legacy.0_superseded + x-operation-group: security.get_users_legacy + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieve all internal users. Legacy API. + responses: + '200': + $ref: '#/components/responses/security.get_users_legacy@200' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/user/{name}: + get: + operationId: security.get_user_legacy.0_superseded + x-operation-group: security.get_user_legacy + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieve one user. Legacy API. + parameters: + - $ref: '#/components/parameters/security.get_user_legacy::path.username' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.get_user_legacy@200' + deprecated: true + x-ignorable: true + put: + operationId: security.create_user_legacy.0_superseded + x-operation-group: security.create_user_legacy + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Creates or replaces the specified user. Legacy API. + parameters: + - $ref: '#/components/parameters/security.create_user_legacy::path.username' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/security.create_user_legacy' + responses: + '200': + $ref: '#/components/responses/security.create_user_legacy@200' + '201': + $ref: '#/components/responses/security.create_user_legacy@201' + deprecated: true + x-ignorable: true + delete: + operationId: security.delete_user_legacy.0_superseded + x-operation-group: security.delete_user_legacy + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Delete the specified user. Legacy API. + parameters: + - $ref: '#/components/parameters/security.delete_user_legacy::path.username' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.delete_user_legacy@200' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/user/{name}/authtoken: + post: + operationId: security.generate_user_token_legacy.0_superseded + x-operation-group: security.generate_user_token_legacy + x-version-added: '2.7' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Generates authorization token for the given user. Legacy API. Not Implemented. + parameters: + - $ref: '#/components/parameters/security.generate_user_token_legacy::path.username' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '501': + $ref: '#/components/responses/security.generate_user_token_legacy@501' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/validate: + get: + operationId: security.validate.0_superseded + x-operation-group: security.validate + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Checks whether the v6 security configuration is valid and ready to be migrated to v7. + parameters: + - $ref: '#/components/parameters/security.validate::query.accept_invalid' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.validate@200' + '400': + $ref: '#/components/responses/security.validate@400' + deprecated: true + x-ignorable: true + /_opendistro/_security/api/allowlist: + get: + operationId: security.get_allowlist.0_superseded + x-operation-group: security.get_allowlist + x-version-added: '2.1' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves the current list of allowed API accessible to normal user. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#access-control-for-the-api + responses: + '200': + $ref: '#/components/responses/security.get_allowlist@200' + '403': + $ref: '#/components/responses/security.get_allowlist@403' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + put: + operationId: security.create_allowlist.0_superseded + x-operation-group: security.create_allowlist + x-version-added: '2.1' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Creates or replaces the allowlisted APIs. Accessible via Super Admin certificate or REST API permission. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#access-control-for-the-api + requestBody: + $ref: '#/components/requestBodies/security.create_allowlist' + responses: + '200': + $ref: '#/components/responses/security.create_allowlist@200' + '403': + $ref: '#/components/responses/security.create_allowlist@403' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + patch: + operationId: security.patch_allowlist.0_superseded + x-operation-group: security.patch_allowlist + x-version-added: '2.1' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Updates the current list of allowed API accessible to normal user. + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#access-control-for-the-api + requestBody: + $ref: '#/components/requestBodies/security.patch_allowlist' + responses: + '200': + $ref: '#/components/responses/security.patch_allowlist@200' + '403': + $ref: '#/components/responses/security.patch_allowlist@403' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + /_opendistro/_security/authinfo: + get: + operationId: security.authinfo.0_superseded + x-operation-group: security.authinfo + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Returns the authentication information. + parameters: + - $ref: '#/components/parameters/security.authinfo::query.auth_type' + - $ref: '#/components/parameters/security.authinfo::query.verbose' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.authinfo@200' + '500': + $ref: '#/components/responses/security.authinfo@500' + deprecated: true + x-ignorable: true + post: + operationId: security.authinfo.1_superseded + x-operation-group: security.authinfo + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Returns the authentication information. + parameters: + - $ref: '#/components/parameters/security.authinfo::query.auth_type' + - $ref: '#/components/parameters/security.authinfo::query.verbose' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/security.authinfo@200' + '500': + $ref: '#/components/responses/security.authinfo@500' + deprecated: true + x-ignorable: true + /_opendistro/_security/health: + get: + operationId: security.health.0_superseded + x-operation-group: security.health + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Checks to see if the Security plugin is up and running. + parameters: + - $ref: '#/components/parameters/security.health::query.mode' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#health-check + responses: + '200': + $ref: '#/components/responses/security.health@200' + deprecated: true + x-ignorable: true + post: + operationId: security.health.1_superseded + x-operation-group: security.health + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Checks to see if the Security plugin is up and running. + parameters: + - $ref: '#/components/parameters/security.health::query.mode' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + externalDocs: + url: https://opensearch.org/docs/latest/security/access-control/api/#health-check + responses: + '200': + $ref: '#/components/responses/security.health@200' + deprecated: true + x-ignorable: true + /_opendistro/_security/kibanainfo: + get: + operationId: security.get_dashboards_info.0_superseded + x-operation-group: security.get_dashboards_info + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves the current security-dashboards plugin configuration. + responses: + '200': + $ref: '#/components/responses/security.get_dashboards_info@200' + '500': + $ref: '#/components/responses/security.get_dashboards_info@500' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + post: + operationId: security.post_dashboards_info.1_superseded + x-operation-group: security.post_dashboards_info + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Updates the current security-dashboards plugin configuration. + responses: + '200': + $ref: '#/components/responses/security.post_dashboards_info@200' + '500': + $ref: '#/components/responses/security.post_dashboards_info@500' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + /_opendistro/_security/tenantinfo: + get: + operationId: security.tenant_info.0_superseded + x-operation-group: security.tenant_info + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves the tenant names if any exist. Only accessible to super admins or kibanaserver user. + responses: + '200': + $ref: '#/components/responses/security.tenant_info@200' + '403': + $ref: '#/components/responses/security.tenant_info@403' + '500': + $ref: '#/components/responses/security.tenant_info@500' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + post: + operationId: security.tenant_info.1_superseded + x-operation-group: security.tenant_info + x-version-added: '1.0' + x-distributions-excluded: + - amazon-managed + - amazon-serverless + description: Retrieves the tenant names if any exist. Only accessible to super admins or kibanaserver user. + responses: + '200': + $ref: '#/components/responses/security.tenant_info@200' + '403': + $ref: '#/components/responses/security.tenant_info@403' + '500': + $ref: '#/components/responses/security.tenant_info@500' + parameters: + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + deprecated: true + x-ignorable: true + /_opendistro/_sql: + post: + operationId: sql.query.0_superseded + x-operation-group: sql.query + x-version-added: '1.0' + description: Send a SQL/PPL query to the SQL plugin. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/sql/sql-ppl-api/ + parameters: + - $ref: '#/components/parameters/sql.query::query.format' + - $ref: '#/components/parameters/sql.query::query.sanitize' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/sql.query' + responses: + '200': + $ref: '#/components/responses/sql.query@200' + deprecated: true + x-ignorable: true + /_opendistro/_sql/_explain: + post: + operationId: sql.explain.0_superseded + x-operation-group: sql.explain + x-version-added: '1.0' + description: Shows how a query is executed against OpenSearch. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/sql/sql-ppl-api/ + parameters: + - $ref: '#/components/parameters/sql.explain::query.format' + - $ref: '#/components/parameters/sql.explain::query.sanitize' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/sql.explain' + responses: + '200': + $ref: '#/components/responses/sql.explain@200' + deprecated: true + x-ignorable: true + /_opendistro/_sql/close: + post: + operationId: sql.close.0_superseded + x-operation-group: sql.close + x-version-added: '1.0' + description: Clear the cursor context. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/sql/sql-ppl-api/ + parameters: + - $ref: '#/components/parameters/sql.close::query.format' + - $ref: '#/components/parameters/sql.close::query.sanitize' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/sql.close' + responses: + '200': + $ref: '#/components/responses/sql.close@200' + deprecated: true + x-ignorable: true + /_opendistro/_sql/settings: + put: + operationId: sql.settings.0_superseded + x-operation-group: sql.settings + x-version-added: '1.0' + description: Adds SQL settings to the standard OpenSearch cluster settings. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/sql/settings/ + parameters: + - $ref: '#/components/parameters/sql.settings::query.format' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/sql.settings' + responses: + '200': + $ref: '#/components/responses/sql.settings@200' + deprecated: true + x-ignorable: true + /_opendistro/_sql/stats: + get: + operationId: sql.get_stats.0_superseded + x-operation-group: sql.get_stats + x-version-added: '1.0' + description: Collect metrics for the plugin within the interval. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/sql/monitoring/ + parameters: + - $ref: '#/components/parameters/sql.get_stats::query.format' + - $ref: '#/components/parameters/sql.get_stats::query.sanitize' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + responses: + '200': + $ref: '#/components/responses/sql.get_stats@200' + deprecated: true + x-ignorable: true + post: + operationId: sql.post_stats.1_superseded + x-operation-group: sql.post_stats + x-version-added: '1.0' + description: By a stats endpoint, you are able to collect metrics for the plugin within the interval. + externalDocs: + url: https://opensearch.org/docs/latest/search-plugins/sql/monitoring/ + parameters: + - $ref: '#/components/parameters/sql.post_stats::query.format' + - $ref: '#/components/parameters/sql.post_stats::query.sanitize' + - $ref: '#/components/parameters/_global::query.pretty' + - $ref: '#/components/parameters/_global::query.human' + - $ref: '#/components/parameters/_global::query.error_trace' + - $ref: '#/components/parameters/_global::query.source' + - $ref: '#/components/parameters/_global::query.filter_path' + requestBody: + $ref: '#/components/requestBodies/sql.post_stats' + responses: + '200': + $ref: '#/components/responses/sql.post_stats@200' + deprecated: true + x-ignorable: true +components: + parameters: + _global::query.pretty: + name: pretty + in: query + description: Whether to pretty format the returned JSON response. + schema: + type: boolean + default: false + x-global: true + _global::query.human: + name: human + in: query + description: Whether to return human readable values for statistics. + schema: + type: boolean + default: true + x-global: true + _global::query.error_trace: + name: error_trace + in: query + description: Whether to include the stack trace of returned errors. + schema: + type: boolean + default: false + x-global: true + _global::query.source: + name: source + in: query + description: The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests. + schema: + type: string + x-global: true + _global::query.filter_path: + name: filter_path + in: query + description: Comma-separated list of filters used to reduce the response. + schema: + oneOf: + - type: string + - type: array + items: + type: string + x-global: true + bulk::path.index: + in: path + name: index + description: Name of the data stream, index, or index alias to perform bulk actions on. + required: true + schema: + $ref: '#/components/schemas/_common:IndexName' + style: simple + bulk::query._source: + in: query + name: _source + description: '`true` or `false` to return the `_source` field or not, or a list of fields to return.' + schema: + $ref: '#/components/schemas/_core.search:SourceConfigParam' + style: form + bulk::query._source_excludes: + in: query + name: _source_excludes + description: A comma-separated list of source fields to exclude from the response. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + bulk::query._source_includes: + in: query + name: _source_includes + description: A comma-separated list of source fields to include in the response. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + bulk::query.pipeline: + in: query + name: pipeline + description: |- + ID of the pipeline to use to preprocess incoming documents. + If the index has a default ingest pipeline specified, then setting the value to `_none` disables the default ingest pipeline for this request. + If a final pipeline is configured it will always run, regardless of the value of this parameter. + schema: + type: string + style: form + bulk::query.refresh: + in: query + name: refresh + description: |- + If `true`, OpenSearch refreshes the affected shards to make this operation visible to search, if `wait_for` then wait for a refresh to make this operation visible to search, if `false` do nothing with refreshes. + Valid values: `true`, `false`, `wait_for`. + schema: + $ref: '#/components/schemas/_common:Refresh' + style: form + bulk::query.require_alias: + in: query + name: require_alias + description: If `true`, the request's actions must target an index alias. + schema: + type: boolean + default: false + style: form + bulk::query.routing: + in: query + name: routing + description: Custom value used to route operations to a specific shard. + schema: + $ref: '#/components/schemas/_common:Routing' + style: form + bulk::query.timeout: + in: query + name: timeout + description: 'Period each action waits for the following operations: automatic index creation, dynamic mapping updates, waiting for active shards.' + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + bulk::query.type: + name: type + in: query + description: Default document type for items which don't provide one. + schema: + type: string + description: Default document type for items which don't provide one. + bulk::query.wait_for_active_shards: + in: query + name: wait_for_active_shards + description: |- + The number of shard copies that must be active before proceeding with the operation. + Set to all or any positive integer up to the total number of shards in the index (`number_of_replicas+1`). + schema: + $ref: '#/components/schemas/_common:WaitForActiveShards' + style: form + x-default: '1' + cat.aliases::path.name: + in: path + name: name + description: A comma-separated list of aliases to retrieve. Supports wildcards (`*`). To retrieve all aliases, omit this parameter or use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Names' + style: simple + cat.aliases::query.expand_wildcards: + in: query + name: expand_wildcards + description: Whether to expand wildcard expression to concrete indices that are open, closed or both. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + cat.aliases::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + description: A short version of the Accept header, e.g. json, yaml. + cat.aliases::query.h: + name: h + in: query + description: Comma-separated list of column names to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names to display. + explode: true + cat.aliases::query.help: + name: help + in: query + description: Return help information. + schema: + description: Return help information. + type: boolean + default: false + cat.aliases::query.local: + name: local + in: query + description: Return local information, do not retrieve the state from cluster-manager node. + schema: + type: boolean + default: false + description: Return local information, do not retrieve the state from cluster-manager node. + cat.aliases::query.s: + name: s + in: query + description: Comma-separated list of column names or column aliases to sort by. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names or column aliases to sort by. + explode: true + cat.aliases::query.v: + name: v + in: query + description: Verbose mode. Display column headers. + schema: + type: boolean + default: false + description: Verbose mode. Display column headers. + cat.all_pit_segments::query.bytes: + name: bytes + in: query + description: The unit in which to display byte values. + schema: + $ref: '#/components/schemas/_common:Bytes' + cat.all_pit_segments::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + description: A short version of the Accept header, e.g. json, yaml. + cat.all_pit_segments::query.h: + name: h + in: query + description: Comma-separated list of column names to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names to display. + explode: true + cat.all_pit_segments::query.help: + name: help + in: query + description: Return help information. + schema: + type: boolean + default: false + description: Return help information. + cat.all_pit_segments::query.s: + name: s + in: query + description: Comma-separated list of column names or column aliases to sort by. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names or column aliases to sort by. + explode: true + cat.all_pit_segments::query.v: + name: v + in: query + description: Verbose mode. Display column headers. + schema: + type: boolean + default: false + description: Verbose mode. Display column headers. + cat.allocation::path.node_id: + in: path + name: node_id + description: Comma-separated list of node identifiers or names used to limit the returned information. + required: true + schema: + $ref: '#/components/schemas/_common:NodeIds' + style: simple + cat.allocation::query.bytes: + in: query + name: bytes + description: The unit used to display byte values. + schema: + $ref: '#/components/schemas/_common:Bytes' + style: form + cat.allocation::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cat.allocation::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + description: A short version of the Accept header, e.g. json, yaml. + cat.allocation::query.h: + name: h + in: query + description: Comma-separated list of column names to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names to display. + explode: true + cat.allocation::query.help: + name: help + in: query + description: Return help information. + schema: + type: boolean + default: false + description: Return help information. + cat.allocation::query.local: + name: local + in: query + description: Return local information, do not retrieve the state from cluster-manager node. + schema: + type: boolean + default: false + description: Return local information, do not retrieve the state from cluster-manager node. + cat.allocation::query.master_timeout: + name: master_timeout + in: query + description: Operation timeout for connection to master node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + deprecated: true + cat.allocation::query.s: + name: s + in: query + description: Comma-separated list of column names or column aliases to sort by. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names or column aliases to sort by. + explode: true + cat.allocation::query.v: + name: v + in: query + description: Verbose mode. Display column headers. + schema: + type: boolean + default: false + description: Verbose mode. Display column headers. + cat.cluster_manager::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cat.cluster_manager::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + description: A short version of the Accept header, e.g. json, yaml. + cat.cluster_manager::query.h: + name: h + in: query + description: Comma-separated list of column names to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names to display. + explode: true + cat.cluster_manager::query.help: + name: help + in: query + description: Return help information. + schema: + type: boolean + default: false + description: Return help information. + cat.cluster_manager::query.local: + name: local + in: query + description: Return local information, do not retrieve the state from cluster-manager node. + schema: + type: boolean + default: false + description: Return local information, do not retrieve the state from cluster-manager node. + cat.cluster_manager::query.master_timeout: + name: master_timeout + in: query + description: Operation timeout for connection to master node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + deprecated: true + cat.cluster_manager::query.s: + name: s + in: query + description: Comma-separated list of column names or column aliases to sort by. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names or column aliases to sort by. + explode: true + cat.cluster_manager::query.v: + name: v + in: query + description: Verbose mode. Display column headers. + schema: + type: boolean + default: false + description: Verbose mode. Display column headers. + cat.count::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams, indices, and aliases used to limit the request. + Supports wildcards (`*`). To target all data streams and indices, omit this parameter or use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + cat.count::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + description: A short version of the Accept header, e.g. json, yaml. + cat.count::query.h: + name: h + in: query + description: Comma-separated list of column names to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names to display. + explode: true + cat.count::query.help: + name: help + in: query + description: Return help information. + schema: + type: boolean + default: false + description: Return help information. + cat.count::query.s: + name: s + in: query + description: Comma-separated list of column names or column aliases to sort by. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names or column aliases to sort by. + explode: true + cat.count::query.v: + name: v + in: query + description: Verbose mode. Display column headers. + schema: + type: boolean + default: false + description: Verbose mode. Display column headers. + cat.fielddata::path.fields: + in: path + name: fields + description: |- + Comma-separated list of fields used to limit returned information. + To retrieve all fields, omit this parameter. + required: true + schema: + $ref: '#/components/schemas/_common:Fields' + style: simple + cat.fielddata::query.bytes: + in: query + name: bytes + description: The unit used to display byte values. + schema: + $ref: '#/components/schemas/_common:Bytes' + style: form + cat.fielddata::query.fields: + in: query + name: fields + description: Comma-separated list of fields used to limit returned information. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + cat.fielddata::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + description: A short version of the Accept header, e.g. json, yaml. + cat.fielddata::query.h: + name: h + in: query + description: Comma-separated list of column names to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names to display. + explode: true + cat.fielddata::query.help: + name: help + in: query + description: Return help information. + schema: + type: boolean + default: false + description: Return help information. + cat.fielddata::query.s: + name: s + in: query + description: Comma-separated list of column names or column aliases to sort by. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names or column aliases to sort by. + explode: true + cat.fielddata::query.v: + name: v + in: query + description: Verbose mode. Display column headers. + schema: + type: boolean + default: false + description: Verbose mode. Display column headers. + cat.health::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + description: A short version of the Accept header, e.g. json, yaml. + cat.health::query.h: + name: h + in: query + description: Comma-separated list of column names to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names to display. + explode: true + cat.health::query.help: + name: help + in: query + description: Return help information. + schema: + type: boolean + default: false + description: Return help information. + cat.health::query.s: + name: s + in: query + description: Comma-separated list of column names or column aliases to sort by. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names or column aliases to sort by. + explode: true + cat.health::query.time: + in: query + name: time + description: The unit used to display time values. + schema: + $ref: '#/components/schemas/_common:TimeUnit' + style: form + cat.health::query.ts: + in: query + name: ts + description: If true, returns `HH:MM:SS` and Unix epoch timestamps. + schema: + type: boolean + default: true + style: form + cat.health::query.v: + name: v + in: query + description: Verbose mode. Display column headers. + schema: + type: boolean + default: false + description: Verbose mode. Display column headers. + cat.indices::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams, indices, and aliases used to limit the request. + Supports wildcards (`*`). To target all data streams and indices, omit this parameter or use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + cat.indices::query.bytes: + in: query + name: bytes + description: The unit used to display byte values. + schema: + $ref: '#/components/schemas/_common:Bytes' + style: form + cat.indices::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cat.indices::query.expand_wildcards: + in: query + name: expand_wildcards + description: The type of index that wildcard patterns can match. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + cat.indices::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + description: A short version of the Accept header, e.g. json, yaml. + cat.indices::query.h: + name: h + in: query + description: Comma-separated list of column names to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names to display. + explode: true + cat.indices::query.health: + in: query + name: health + description: The health status used to limit returned indices. By default, the response includes indices of any health status. + schema: + $ref: '#/components/schemas/_common:HealthStatus' + style: form + cat.indices::query.help: + name: help + in: query + description: Return help information. + schema: + type: boolean + default: false + description: Return help information. + cat.indices::query.include_unloaded_segments: + in: query + name: include_unloaded_segments + description: If true, the response includes information from segments that are not loaded into memory. + schema: + type: boolean + default: false + style: form + cat.indices::query.local: + name: local + in: query + description: Return local information, do not retrieve the state from cluster-manager node. + schema: + type: boolean + default: false + description: Return local information, do not retrieve the state from cluster-manager node. + cat.indices::query.master_timeout: + name: master_timeout + in: query + description: Operation timeout for connection to master node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + deprecated: true + cat.indices::query.pri: + in: query + name: pri + description: If true, the response only includes information from primary shards. + schema: + type: boolean + default: false + style: form + cat.indices::query.s: + name: s + in: query + description: Comma-separated list of column names or column aliases to sort by. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names or column aliases to sort by. + explode: true + cat.indices::query.time: + in: query + name: time + description: The unit used to display time values. + schema: + $ref: '#/components/schemas/_common:TimeUnit' + style: form + cat.indices::query.v: + name: v + in: query + description: Verbose mode. Display column headers. + schema: + type: boolean + default: false + description: Verbose mode. Display column headers. + cat.master::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cat.master::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + description: A short version of the Accept header, e.g. json, yaml. + cat.master::query.h: + name: h + in: query + description: Comma-separated list of column names to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names to display. + explode: true + cat.master::query.help: + name: help + in: query + description: Return help information. + schema: + type: boolean + default: false + description: Return help information. + cat.master::query.local: + name: local + in: query + description: Return local information, do not retrieve the state from cluster-manager node. + schema: + type: boolean + default: false + description: Return local information, do not retrieve the state from cluster-manager node. + cat.master::query.master_timeout: + name: master_timeout + in: query + description: Operation timeout for connection to master node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + deprecated: true + cat.master::query.s: + name: s + in: query + description: Comma-separated list of column names or column aliases to sort by. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names or column aliases to sort by. + explode: true + cat.master::query.v: + name: v + in: query + description: Verbose mode. Display column headers. + schema: + type: boolean + default: false + description: Verbose mode. Display column headers. + cat.nodeattrs::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cat.nodeattrs::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + description: A short version of the Accept header, e.g. json, yaml. + cat.nodeattrs::query.h: + name: h + in: query + description: Comma-separated list of column names to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names to display. + explode: true + cat.nodeattrs::query.help: + name: help + in: query + description: Return help information. + schema: + type: boolean + default: false + description: Return help information. + cat.nodeattrs::query.local: + name: local + in: query + description: Return local information, do not retrieve the state from cluster-manager node. + schema: + type: boolean + default: false + description: Return local information, do not retrieve the state from cluster-manager node. + cat.nodeattrs::query.master_timeout: + name: master_timeout + in: query + description: Operation timeout for connection to master node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + deprecated: true + cat.nodeattrs::query.s: + name: s + in: query + description: Comma-separated list of column names or column aliases to sort by. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names or column aliases to sort by. + explode: true + cat.nodeattrs::query.v: + name: v + in: query + description: Verbose mode. Display column headers. + schema: + type: boolean + default: false + description: Verbose mode. Display column headers. + cat.nodes::query.bytes: + in: query + name: bytes + description: The unit used to display byte values. + schema: + $ref: '#/components/schemas/_common:Bytes' + style: form + cat.nodes::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cat.nodes::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + description: A short version of the Accept header, e.g. json, yaml. + cat.nodes::query.full_id: + in: query + name: full_id + description: If `true`, return the full node ID. If `false`, return the shortened node ID. + schema: + anyOf: + - type: boolean + - type: string + default: false + style: form + cat.nodes::query.h: + name: h + in: query + description: Comma-separated list of column names to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names to display. + explode: true + cat.nodes::query.help: + name: help + in: query + description: Return help information. + schema: + type: boolean + default: false + description: Return help information. + cat.nodes::query.local: + name: local + in: query + description: Return local information, do not retrieve the state from cluster-manager node. + deprecated: true + x-version-deprecated: '1.0' + x-deprecation-message: This parameter does not cause this API to act locally. + schema: + type: boolean + default: false + description: Return local information, do not retrieve the state from cluster-manager node. + cat.nodes::query.master_timeout: + name: master_timeout + in: query + description: Operation timeout for connection to master node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + deprecated: true + cat.nodes::query.s: + name: s + in: query + description: Comma-separated list of column names or column aliases to sort by. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names or column aliases to sort by. + explode: true + cat.nodes::query.time: + name: time + in: query + description: The unit in which to display time values. + schema: + $ref: '#/components/schemas/_common:TimeUnit' + cat.nodes::query.v: + name: v + in: query + description: Verbose mode. Display column headers. + schema: + type: boolean + default: false + description: Verbose mode. Display column headers. + cat.pending_tasks::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cat.pending_tasks::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + description: A short version of the Accept header, e.g. json, yaml. + cat.pending_tasks::query.h: + name: h + in: query + description: Comma-separated list of column names to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names to display. + explode: true + cat.pending_tasks::query.help: + name: help + in: query + description: Return help information. + schema: + type: boolean + default: false + description: Return help information. + cat.pending_tasks::query.local: + name: local + in: query + description: Return local information, do not retrieve the state from cluster-manager node. + schema: + type: boolean + default: false + description: Return local information, do not retrieve the state from cluster-manager node. + cat.pending_tasks::query.master_timeout: + name: master_timeout + in: query + description: Operation timeout for connection to master node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + deprecated: true + cat.pending_tasks::query.s: + name: s + in: query + description: Comma-separated list of column names or column aliases to sort by. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names or column aliases to sort by. + explode: true + cat.pending_tasks::query.time: + name: time + in: query + description: The unit in which to display time values. + schema: + $ref: '#/components/schemas/_common:TimeUnit' + cat.pending_tasks::query.v: + name: v + in: query + description: Verbose mode. Display column headers. + schema: + type: boolean + default: false + description: Verbose mode. Display column headers. + cat.pit_segments::query.bytes: + name: bytes + in: query + description: The unit in which to display byte values. + schema: + $ref: '#/components/schemas/_common:Bytes' + cat.pit_segments::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + description: A short version of the Accept header, e.g. json, yaml. + cat.pit_segments::query.h: + name: h + in: query + description: Comma-separated list of column names to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names to display. + explode: true + cat.pit_segments::query.help: + name: help + in: query + description: Return help information. + schema: + type: boolean + default: false + description: Return help information. + cat.pit_segments::query.s: + name: s + in: query + description: Comma-separated list of column names or column aliases to sort by. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names or column aliases to sort by. + explode: true + cat.pit_segments::query.v: + name: v + in: query + description: Verbose mode. Display column headers. + schema: + type: boolean + default: false + description: Verbose mode. Display column headers. + cat.plugins::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cat.plugins::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + description: A short version of the Accept header, e.g. json, yaml. + cat.plugins::query.h: + name: h + in: query + description: Comma-separated list of column names to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names to display. + explode: true + cat.plugins::query.help: + name: help + in: query + description: Return help information. + schema: + type: boolean + default: false + description: Return help information. + cat.plugins::query.local: + name: local + in: query + description: Return local information, do not retrieve the state from cluster-manager node. + schema: + type: boolean + default: false + description: Return local information, do not retrieve the state from cluster-manager node. + cat.plugins::query.master_timeout: + name: master_timeout + in: query + description: Operation timeout for connection to master node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + deprecated: true + cat.plugins::query.s: + name: s + in: query + description: Comma-separated list of column names or column aliases to sort by. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names or column aliases to sort by. + explode: true + cat.plugins::query.v: + name: v + in: query + description: Verbose mode. Display column headers. + schema: + type: boolean + default: false + description: Verbose mode. Display column headers. + cat.recovery::path.index: + in: path + name: index + description: |- + A comma-separated list of data streams, indices, and aliases used to limit the request. + Supports wildcards (`*`). To target all data streams and indices, omit this parameter or use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + cat.recovery::query.active_only: + in: query + name: active_only + description: If `true`, the response only includes ongoing shard recoveries. + schema: + type: boolean + default: false + style: form + cat.recovery::query.bytes: + in: query + name: bytes + description: The unit used to display byte values. + schema: + $ref: '#/components/schemas/_common:Bytes' + style: form + cat.recovery::query.detailed: + in: query + name: detailed + description: If `true`, the response includes detailed information about shard recoveries. + schema: + type: boolean + default: false + style: form + cat.recovery::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + description: A short version of the Accept header, e.g. json, yaml. + cat.recovery::query.h: + name: h + in: query + description: Comma-separated list of column names to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names to display. + explode: true + cat.recovery::query.help: + name: help + in: query + description: Return help information. + schema: + type: boolean + default: false + description: Return help information. + cat.recovery::query.index: + name: index + in: query + description: Comma-separated list or wildcard expression of index names to limit the returned information. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list or wildcard expression of index names to limit the returned information. + explode: true + cat.recovery::query.s: + name: s + in: query + description: Comma-separated list of column names or column aliases to sort by. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names or column aliases to sort by. + explode: true + cat.recovery::query.time: + name: time + in: query + description: The unit in which to display time values. + schema: + $ref: '#/components/schemas/_common:TimeUnit' + cat.recovery::query.v: + name: v + in: query + description: Verbose mode. Display column headers. + schema: + type: boolean + default: false + description: Verbose mode. Display column headers. + cat.repositories::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cat.repositories::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + description: A short version of the Accept header, e.g. json, yaml. + cat.repositories::query.h: + name: h + in: query + description: Comma-separated list of column names to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names to display. + explode: true + cat.repositories::query.help: + name: help + in: query + description: Return help information. + schema: + type: boolean + default: false + description: Return help information. + cat.repositories::query.local: + name: local + in: query + description: Return local information, do not retrieve the state from cluster-manager node. + schema: + type: boolean + default: false + description: Return local information, do not retrieve the state from cluster-manager node. + cat.repositories::query.master_timeout: + name: master_timeout + in: query + description: Operation timeout for connection to master node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + deprecated: true + cat.repositories::query.s: + name: s + in: query + description: Comma-separated list of column names or column aliases to sort by. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names or column aliases to sort by. + explode: true + cat.repositories::query.v: + name: v + in: query + description: Verbose mode. Display column headers. + schema: + type: boolean + default: false + description: Verbose mode. Display column headers. + cat.segment_replication::path.index: + name: index + in: path + description: Comma-separated list or wildcard expression of index names to limit the returned information. + schema: + type: array + description: Comma-separated list or wildcard expression of index names to limit the returned information. + items: + type: string + required: true + cat.segment_replication::query.active_only: + name: active_only + in: query + description: If `true`, the response only includes ongoing segment replication events. + schema: + type: boolean + default: false + description: If `true`, the response only includes ongoing segment replication events. + cat.segment_replication::query.allow_no_indices: + name: allow_no_indices + in: query + description: Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified). + schema: + type: boolean + description: Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified). + cat.segment_replication::query.bytes: + name: bytes + in: query + description: The unit in which to display byte values. + schema: + $ref: '#/components/schemas/_common:Bytes' + cat.segment_replication::query.completed_only: + name: completed_only + in: query + description: If `true`, the response only includes latest completed segment replication events. + schema: + type: boolean + default: false + description: If `true`, the response only includes latest completed segment replication events. + cat.segment_replication::query.detailed: + name: detailed + in: query + description: If `true`, the response includes detailed information about segment replications. + schema: + type: boolean + default: false + description: If `true`, the response includes detailed information about segment replications. + cat.segment_replication::query.expand_wildcards: + name: expand_wildcards + in: query + description: Whether to expand wildcard expression to concrete indices that are open, closed or both. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + cat.segment_replication::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + description: A short version of the Accept header, e.g. json, yaml. + cat.segment_replication::query.h: + name: h + in: query + description: Comma-separated list of column names to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names to display. + explode: true + cat.segment_replication::query.help: + name: help + in: query + description: Return help information. + schema: + type: boolean + default: false + description: Return help information. + cat.segment_replication::query.ignore_throttled: + name: ignore_throttled + in: query + description: Whether specified concrete, expanded or aliased indices should be ignored when throttled. + schema: + type: boolean + description: Whether specified concrete, expanded or aliased indices should be ignored when throttled. + cat.segment_replication::query.ignore_unavailable: + name: ignore_unavailable + in: query + description: Whether specified concrete indices should be ignored when unavailable (missing or closed). + schema: + type: boolean + description: Whether specified concrete indices should be ignored when unavailable (missing or closed). + cat.segment_replication::query.index: + name: index + in: query + description: Comma-separated list or wildcard expression of index names to limit the returned information. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list or wildcard expression of index names to limit the returned information. + explode: true + cat.segment_replication::query.s: + name: s + in: query + description: Comma-separated list of column names or column aliases to sort by. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names or column aliases to sort by. + explode: true + cat.segment_replication::query.shards: + name: shards + in: query + description: Comma-separated list of shards to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of shards to display. + explode: true + cat.segment_replication::query.time: + name: time + in: query + description: The unit in which to display time values. + schema: + $ref: '#/components/schemas/_common:TimeUnit' + cat.segment_replication::query.timeout: + name: timeout + in: query + description: Operation timeout. + schema: + $ref: '#/components/schemas/_common:Duration' + cat.segment_replication::query.v: + name: v + in: query + description: Verbose mode. Display column headers. + schema: + type: boolean + default: false + description: Verbose mode. Display column headers. + cat.segments::path.index: + in: path + name: index + description: |- + A comma-separated list of data streams, indices, and aliases used to limit the request. + Supports wildcards (`*`). + To target all data streams and indices, omit this parameter or use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + cat.segments::query.bytes: + in: query + name: bytes + description: The unit used to display byte values. + schema: + $ref: '#/components/schemas/_common:Bytes' + style: form + cat.segments::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cat.segments::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + description: A short version of the Accept header, e.g. json, yaml. + cat.segments::query.h: + name: h + in: query + description: Comma-separated list of column names to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names to display. + explode: true + cat.segments::query.help: + name: help + in: query + description: Return help information. + schema: + type: boolean + default: false + description: Return help information. + cat.segments::query.master_timeout: + name: master_timeout + in: query + description: Operation timeout for connection to master node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + deprecated: true + cat.segments::query.s: + name: s + in: query + description: Comma-separated list of column names or column aliases to sort by. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names or column aliases to sort by. + explode: true + cat.segments::query.v: + name: v + in: query + description: Verbose mode. Display column headers. + schema: + type: boolean + default: false + description: Verbose mode. Display column headers. + cat.shards::path.index: + in: path + name: index + description: |- + A comma-separated list of data streams, indices, and aliases used to limit the request. + Supports wildcards (`*`). + To target all data streams and indices, omit this parameter or use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + cat.shards::query.bytes: + in: query + name: bytes + description: The unit used to display byte values. + schema: + $ref: '#/components/schemas/_common:Bytes' + style: form + cat.shards::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cat.shards::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + description: A short version of the Accept header, e.g. json, yaml. + cat.shards::query.h: + name: h + in: query + description: Comma-separated list of column names to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names to display. + explode: true + cat.shards::query.help: + name: help + in: query + description: Return help information. + schema: + type: boolean + default: false + description: Return help information. + cat.shards::query.local: + name: local + in: query + description: Return local information, do not retrieve the state from cluster-manager node. + schema: + type: boolean + default: false + description: Return local information, do not retrieve the state from cluster-manager node. + cat.shards::query.master_timeout: + name: master_timeout + in: query + description: Operation timeout for connection to master node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + deprecated: true + cat.shards::query.s: + name: s + in: query + description: Comma-separated list of column names or column aliases to sort by. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names or column aliases to sort by. + explode: true + cat.shards::query.time: + name: time + in: query + description: The unit in which to display time values. + schema: + $ref: '#/components/schemas/_common:TimeUnit' + cat.shards::query.v: + name: v + in: query + description: Verbose mode. Display column headers. + schema: + type: boolean + default: false + description: Verbose mode. Display column headers. + cat.snapshots::path.repository: + in: path + name: repository + description: |- + A comma-separated list of snapshot repositories used to limit the request. + Accepts wildcard expressions. + `_all` returns all repositories. + If any repository fails during the request, OpenSearch returns an error. + required: true + schema: + $ref: '#/components/schemas/_common:Names' + style: simple + cat.snapshots::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cat.snapshots::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + description: A short version of the Accept header, e.g. json, yaml. + cat.snapshots::query.h: + name: h + in: query + description: Comma-separated list of column names to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names to display. + explode: true + cat.snapshots::query.help: + name: help + in: query + description: Return help information. + schema: + type: boolean + default: false + description: Return help information. + cat.snapshots::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `true`, the response does not include information from unavailable snapshots. + schema: + type: boolean + default: false + style: form + cat.snapshots::query.master_timeout: + name: master_timeout + in: query + description: Operation timeout for connection to master node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + deprecated: true + cat.snapshots::query.s: + name: s + in: query + description: Comma-separated list of column names or column aliases to sort by. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names or column aliases to sort by. + explode: true + cat.snapshots::query.time: + name: time + in: query + description: The unit in which to display time values. + schema: + $ref: '#/components/schemas/_common:TimeUnit' + cat.snapshots::query.v: + name: v + in: query + description: Verbose mode. Display column headers. + schema: + type: boolean + default: false + description: Verbose mode. Display column headers. + cat.tasks::query.actions: + in: query + name: actions + description: The task action names, which are used to limit the response. + schema: + type: array + items: + type: string + style: form + cat.tasks::query.detailed: + in: query + name: detailed + description: If `true`, the response includes detailed information about shard recoveries. + schema: + type: boolean + default: false + style: form + cat.tasks::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + description: A short version of the Accept header, e.g. json, yaml. + cat.tasks::query.h: + name: h + in: query + description: Comma-separated list of column names to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names to display. + explode: true + cat.tasks::query.help: + name: help + in: query + description: Return help information. + schema: + type: boolean + default: false + description: Return help information. + cat.tasks::query.nodes: + name: nodes + in: query + description: Comma-separated list of node IDs or names to limit the returned information; use `_local` to return information from the node you're connecting to, leave empty to get information from all nodes. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of node IDs or names to limit the returned information; use `_local` to return information from the node you're connecting to, leave empty to get information from all nodes. + explode: true + cat.tasks::query.parent_task_id: + in: query + name: parent_task_id + description: The parent task identifier, which is used to limit the response. + schema: + type: string + style: form + cat.tasks::query.s: + name: s + in: query + description: Comma-separated list of column names or column aliases to sort by. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names or column aliases to sort by. + explode: true + cat.tasks::query.time: + name: time + in: query + description: The unit in which to display time values. + schema: + $ref: '#/components/schemas/_common:TimeUnit' + cat.tasks::query.v: + name: v + in: query + description: Verbose mode. Display column headers. + schema: + type: boolean + default: false + description: Verbose mode. Display column headers. + cat.templates::path.name: + in: path + name: name + description: |- + The name of the template to return. + Accepts wildcard expressions. If omitted, all templates are returned. + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + cat.templates::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cat.templates::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + description: A short version of the Accept header, e.g. json, yaml. + cat.templates::query.h: + name: h + in: query + description: Comma-separated list of column names to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names to display. + explode: true + cat.templates::query.help: + name: help + in: query + description: Return help information. + schema: + type: boolean + default: false + description: Return help information. + cat.templates::query.local: + name: local + in: query + description: Return local information, do not retrieve the state from cluster-manager node. + schema: + type: boolean + default: false + description: Return local information, do not retrieve the state from cluster-manager node. + cat.templates::query.master_timeout: + name: master_timeout + in: query + description: Operation timeout for connection to master node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + deprecated: true + cat.templates::query.s: + name: s + in: query + description: Comma-separated list of column names or column aliases to sort by. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names or column aliases to sort by. + explode: true + cat.templates::query.v: + name: v + in: query + description: Verbose mode. Display column headers. + schema: + type: boolean + default: false + description: Verbose mode. Display column headers. + cat.thread_pool::path.thread_pool_patterns: + in: path + name: thread_pool_patterns + description: |- + A comma-separated list of thread pool names used to limit the request. + Accepts wildcard expressions. + required: true + schema: + $ref: '#/components/schemas/_common:Names' + style: simple + cat.thread_pool::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cat.thread_pool::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + description: A short version of the Accept header, e.g. json, yaml. + cat.thread_pool::query.h: + name: h + in: query + description: Comma-separated list of column names to display. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names to display. + explode: true + cat.thread_pool::query.help: + name: help + in: query + description: Return help information. + schema: + type: boolean + default: false + description: Return help information. + cat.thread_pool::query.local: + name: local + in: query + description: Return local information, do not retrieve the state from cluster-manager node. + schema: + type: boolean + default: false + description: Return local information, do not retrieve the state from cluster-manager node. + cat.thread_pool::query.master_timeout: + name: master_timeout + in: query + description: Operation timeout for connection to master node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + deprecated: true + cat.thread_pool::query.s: + name: s + in: query + description: Comma-separated list of column names or column aliases to sort by. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of column names or column aliases to sort by. + explode: true + cat.thread_pool::query.size: + name: size + in: query + description: The multiplier in which to display values. + schema: + type: integer + description: The multiplier in which to display values. + format: int32 + cat.thread_pool::query.v: + name: v + in: query + description: Verbose mode. Display column headers. + schema: + type: boolean + default: false + description: Verbose mode. Display column headers. + clear_scroll::path.scroll_id: + in: path + name: scroll_id + description: |- + Comma-separated list of scroll IDs to clear. + To clear all scroll IDs, use `_all`. + required: true + deprecated: true + schema: + $ref: '#/components/schemas/_common:ScrollIds' + style: simple + cluster.allocation_explain::query.include_disk_info: + in: query + name: include_disk_info + description: If true, returns information about disk usage and shard sizes. + schema: + type: boolean + default: false + style: form + cluster.allocation_explain::query.include_yes_decisions: + in: query + name: include_yes_decisions + description: If true, returns YES decisions in explanation. + schema: + type: boolean + default: false + style: form + cluster.delete_component_template::path.name: + in: path + name: name + description: |- + Name of the component template to delete. + Wildcard (*) expressions are supported. + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + cluster.delete_component_template::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cluster.delete_component_template::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + cluster.delete_component_template::query.timeout: + in: query + name: timeout + description: |- + Period to wait for a response. + If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + cluster.delete_voting_config_exclusions::query.wait_for_removal: + in: query + name: wait_for_removal + description: |- + Specifies whether to wait for all excluded nodes to be removed from the + cluster before clearing the voting configuration exclusions list. + Defaults to true, meaning that all excluded nodes must be removed from + the cluster before this API takes any action. If set to false then the + voting configuration exclusions list is cleared even if some excluded + nodes are still in the cluster. + schema: + type: boolean + default: true + style: form + cluster.exists_component_template::path.name: + in: path + name: name + description: |- + Name of the component template to check existence of. + Wildcard (*) expressions are supported. + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + cluster.exists_component_template::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cluster.exists_component_template::query.local: + in: query + name: local + description: |- + If true, the request retrieves information from the local node only. + Defaults to false, which means information is retrieved from the master node. + schema: + type: boolean + default: false + style: form + cluster.exists_component_template::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. If no response is + received before the timeout expires, the request fails and returns an + error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + cluster.get_component_template::path.name: + in: path + name: name + description: |- + Name of the component template to retrieve. + Wildcard (`*`) expressions are supported. + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + cluster.get_component_template::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cluster.get_component_template::query.local: + in: query + name: local + description: |- + If `true`, the request retrieves information from the local node only. + If `false`, information is retrieved from the master node. + schema: + type: boolean + default: false + style: form + cluster.get_component_template::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + cluster.get_decommission_awareness::path.awareness_attribute_name: + name: awareness_attribute_name + in: path + description: Awareness attribute name. + schema: + type: string + description: Awareness attribute name. + required: true + cluster.get_settings::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cluster.get_settings::query.flat_settings: + in: query + name: flat_settings + description: If `true`, returns settings in flat format. + schema: + type: boolean + default: false + style: form + cluster.get_settings::query.include_defaults: + in: query + name: include_defaults + description: If `true`, returns default cluster settings from the local node. + schema: + type: boolean + default: false + style: form + cluster.get_settings::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + cluster.get_settings::query.timeout: + in: query + name: timeout + description: |- + Period to wait for a response. + If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + cluster.get_weighted_routing::path.attribute: + name: attribute + in: path + description: Awareness attribute name. + schema: + type: string + description: Awareness attribute name. + required: true + cluster.health::path.index: + in: path + name: index + description: Comma-separated list of data streams, indices, and index aliases used to limit the request. Wildcard expressions (*) are supported. To target all data streams and indices in a cluster, omit this parameter or use `_all` or `*`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + cluster.health::query.awareness_attribute: + name: awareness_attribute + in: query + description: The awareness attribute for which the health is required. + schema: + type: string + description: The awareness attribute for which the health is required. + cluster.health::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cluster.health::query.expand_wildcards: + in: query + name: expand_wildcards + description: Whether to expand wildcard expression to concrete indices that are open, closed or both. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + cluster.health::query.level: + in: query + name: level + description: Can be one of cluster, indices or shards. Controls the details level of the health information returned. + schema: + $ref: '#/components/schemas/cluster.health:Level' + style: form + cluster.health::query.local: + in: query + name: local + description: If true, the request retrieves information from the local node only. Defaults to false, which means information is retrieved from the master node. + schema: + type: boolean + default: false + style: form + cluster.health::query.master_timeout: + in: query + name: master_timeout + description: Period to wait for a connection to the master node. If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + cluster.health::query.timeout: + in: query + name: timeout + description: Period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + cluster.health::query.wait_for_active_shards: + in: query + name: wait_for_active_shards + description: A number controlling to how many active shards to wait for, all to wait for all shards in the cluster to be active, or 0 to not wait. + schema: + $ref: '#/components/schemas/_common:WaitForActiveShards' + style: form + cluster.health::query.wait_for_events: + in: query + name: wait_for_events + description: Can be one of immediate, urgent, high, normal, low, languid. Wait until all currently queued events with the given priority are processed. + schema: + $ref: '#/components/schemas/_common:WaitForEvents' + style: form + cluster.health::query.wait_for_no_initializing_shards: + in: query + name: wait_for_no_initializing_shards + description: A boolean value which controls whether to wait (until the timeout provided) for the cluster to have no shard initializations. Defaults to false, which means it will not wait for initializing shards. + schema: + type: boolean + style: form + cluster.health::query.wait_for_no_relocating_shards: + in: query + name: wait_for_no_relocating_shards + description: A boolean value which controls whether to wait (until the timeout provided) for the cluster to have no shard relocations. Defaults to false, which means it will not wait for relocating shards. + schema: + type: boolean + style: form + cluster.health::query.wait_for_nodes: + in: query + name: wait_for_nodes + description: The request waits until the specified number N of nodes is available. It also accepts >=N, <=N, >N and yellow > red. By default, will not wait for any status. + schema: + $ref: '#/components/schemas/_common:HealthStatus' + style: form + cluster.pending_tasks::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cluster.pending_tasks::query.local: + in: query + name: local + description: |- + If `true`, the request retrieves information from the local node only. + If `false`, information is retrieved from the master node. + schema: + type: boolean + default: false + style: form + cluster.pending_tasks::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + cluster.post_voting_config_exclusions::query.node_ids: + in: query + name: node_ids + description: |- + A comma-separated list of the persistent ids of the nodes to exclude + from the voting configuration. If specified, you may not also specify node_names. + schema: + $ref: '#/components/schemas/_common:Ids' + style: form + cluster.post_voting_config_exclusions::query.node_names: + in: query + name: node_names + description: |- + A comma-separated list of the names of the nodes to exclude from the + voting configuration. If specified, you may not also specify node_ids. + schema: + $ref: '#/components/schemas/_common:Names' + style: form + cluster.post_voting_config_exclusions::query.timeout: + in: query + name: timeout + description: |- + When adding a voting configuration exclusion, the API waits for the + specified nodes to be excluded from the voting configuration before + returning. If the timeout expires before the appropriate condition + is satisfied, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + cluster.put_component_template::path.name: + in: path + name: name + description: |- + Name of the component template to create. + OpenSearch includes the following built-in component templates: `logs-mappings`; 'logs-settings`; `metrics-mappings`; `metrics-settings`;`synthetics-mapping`; `synthetics-settings`. + OpenSearch Agent uses these templates to configure backing indices for its data streams. + If you use OpenSearch Agent and want to overwrite one of these templates, set the `version` for your replacement template higher than the current version. + If you don't use OpenSearch Agent and want to disable all built-in component and index templates, set `stack.templates.enabled` to `false` using the cluster update settings API. + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + cluster.put_component_template::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cluster.put_component_template::query.create: + in: query + name: create + description: If `true`, this request cannot replace or update existing component templates. + schema: + type: boolean + default: false + style: form + cluster.put_component_template::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + cluster.put_component_template::query.timeout: + name: timeout + in: query + description: Operation timeout. + schema: + $ref: '#/components/schemas/_common:Duration' + cluster.put_decommission_awareness::path.awareness_attribute_name: + name: awareness_attribute_name + in: path + description: Awareness attribute name. + schema: + type: string + description: Awareness attribute name. + required: true + cluster.put_decommission_awareness::path.awareness_attribute_value: + name: awareness_attribute_value + in: path + description: Awareness attribute value. + schema: + type: string + description: Awareness attribute value. + required: true + cluster.put_settings::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cluster.put_settings::query.flat_settings: + in: query + name: flat_settings + description: Return settings in flat format. + schema: + type: boolean + default: false + style: form + cluster.put_settings::query.master_timeout: + in: query + name: master_timeout + description: Explicit operation timeout for connection to master node + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + cluster.put_settings::query.timeout: + in: query + name: timeout + description: Explicit operation timeout + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + cluster.put_weighted_routing::path.attribute: + name: attribute + in: path + description: Awareness attribute name. + schema: + type: string + description: Awareness attribute name. + required: true + cluster.reroute::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cluster.reroute::query.dry_run: + in: query + name: dry_run + description: If true, then the request simulates the operation only and returns the resulting state. + schema: + type: boolean + style: form + cluster.reroute::query.explain: + in: query + name: explain + description: If true, then the response contains an explanation of why the commands can or cannot be executed. + schema: + type: boolean + style: form + cluster.reroute::query.master_timeout: + in: query + name: master_timeout + description: Period to wait for a connection to the master node. If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + cluster.reroute::query.metric: + in: query + name: metric + description: Limits the information returned to the specified metrics. + schema: + $ref: '#/components/schemas/_common:Metrics' + style: form + cluster.reroute::query.retry_failed: + in: query + name: retry_failed + description: If true, then retries allocation of shards that are blocked due to too many subsequent allocation failures. + schema: + type: boolean + style: form + cluster.reroute::query.timeout: + in: query + name: timeout + description: Period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + cluster.state::path.index: + in: path + name: index + description: A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + cluster.state::path.metric: + in: path + name: metric + description: Limit the information returned to the specified metrics + required: true + schema: + type: array + items: + $ref: '#/components/schemas/cluster.state:Metric' + style: simple + cluster.state::query.allow_no_indices: + in: query + name: allow_no_indices + description: Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified) + schema: + type: boolean + style: form + cluster.state::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + cluster.state::query.expand_wildcards: + in: query + name: expand_wildcards + description: Whether to expand wildcard expression to concrete indices that are open, closed or both. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + cluster.state::query.flat_settings: + in: query + name: flat_settings + description: Return settings in flat format. + schema: + type: boolean + default: false + style: form + cluster.state::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: Whether specified concrete indices should be ignored when unavailable (missing or closed) + schema: + type: boolean + style: form + cluster.state::query.local: + in: query + name: local + description: Return local information, do not retrieve the state from cluster-manager node. + schema: + type: boolean + default: false + style: form + cluster.state::query.master_timeout: + in: query + name: master_timeout + description: Specify timeout for connection to master + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + cluster.state::query.wait_for_metadata_version: + in: query + name: wait_for_metadata_version + description: Wait for the metadata version to be equal or greater than the specified metadata version + schema: + $ref: '#/components/schemas/_common:VersionNumber' + style: form + cluster.state::query.wait_for_timeout: + in: query + name: wait_for_timeout + description: The maximum time to wait for wait_for_metadata_version before timing out + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + cluster.stats::path.node_id: + in: path + name: node_id + description: Comma-separated list of node filters used to limit returned information. Defaults to all nodes in the cluster. + required: true + schema: + $ref: '#/components/schemas/_common:NodeIds' + style: simple + cluster.stats::query.flat_settings: + in: query + name: flat_settings + description: If `true`, returns settings in flat format. + schema: + type: boolean + default: false + style: form + cluster.stats::query.timeout: + in: query + name: timeout + description: |- + Period to wait for each node to respond. + If a node does not respond before its timeout expires, the response does not include its stats. + However, timed out nodes are included in the response's `_nodes.failed` property. Defaults to no timeout. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + count::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams, indices, and aliases to search. + Supports wildcards (`*`). + To search all data streams and indices, omit this parameter or use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + count::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If `false`, the request returns an error if any wildcard expression, index alias, or `_all` value targets only missing or closed indices. + This behavior applies even if the request targets other open indices. + schema: + type: boolean + style: form + count::query.analyze_wildcard: + in: query + name: analyze_wildcard + description: |- + If `true`, wildcard and prefix queries are analyzed. + This parameter can only be used when the `q` query string parameter is specified. + schema: + type: boolean + default: false + style: form + count::query.analyzer: + in: query + name: analyzer + description: |- + Analyzer to use for the query string. + This parameter can only be used when the `q` query string parameter is specified. + schema: + type: string + style: form + count::query.default_operator: + in: query + name: default_operator + description: |- + The default operator for query string query: `AND` or `OR`. + This parameter can only be used when the `q` query string parameter is specified. + schema: + $ref: '#/components/schemas/_common.query_dsl:Operator' + style: form + count::query.df: + in: query + name: df + description: |- + Field to use as default where no field prefix is given in the query string. + This parameter can only be used when the `q` query string parameter is specified. + schema: + type: string + style: form + count::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. + If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. + Supports comma-separated values, such as `open,hidden`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + count::query.ignore_throttled: + in: query + name: ignore_throttled + description: If `true`, concrete, expanded or aliased indices are ignored when frozen. + schema: + type: boolean + style: form + count::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `false`, the request returns an error if it targets a missing or closed index. + schema: + type: boolean + style: form + count::query.lenient: + in: query + name: lenient + description: If `true`, format-based query failures (such as providing text to a numeric field) in the query string will be ignored. + schema: + type: boolean + style: form + count::query.min_score: + in: query + name: min_score + description: Sets the minimum `_score` value that documents must have to be included in the result. + schema: + type: number + style: form + count::query.preference: + in: query + name: preference + description: |- + Specifies the node or shard the operation should be performed on. + Random by default. + schema: + type: string + default: random + style: form + count::query.q: + in: query + name: q + description: Query in the Lucene query string syntax. + schema: + type: string + style: form + count::query.routing: + in: query + name: routing + description: Custom value used to route operations to a specific shard. + schema: + $ref: '#/components/schemas/_common:Routing' + style: form + count::query.terminate_after: + in: query + name: terminate_after + description: |- + Maximum number of documents to collect for each shard. + If a query reaches this limit, OpenSearch terminates the query early. + OpenSearch collects documents before sorting. + schema: + type: number + style: form + create_pit::path.index: + name: index + in: path + description: Comma-separated list of indices; use `_all` or empty string to perform the operation on all indices. + schema: + type: array + description: Comma-separated list of indices; use `_all` or empty string to perform the operation on all indices. + items: + type: string + required: true + create_pit::query.allow_partial_pit_creation: + name: allow_partial_pit_creation + in: query + description: Allow if point in time can be created with partial failures. + schema: + type: boolean + description: Allow if point in time can be created with partial failures. + create_pit::query.expand_wildcards: + name: expand_wildcards + in: query + description: Whether to expand wildcard expression to concrete indices that are open, closed or both. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + create_pit::query.keep_alive: + name: keep_alive + in: query + description: Specify the keep alive for point in time. + schema: + $ref: '#/components/schemas/_common:Duration' + create_pit::query.preference: + name: preference + in: query + description: Specify the node or shard the operation should be performed on. + schema: + type: string + default: random + description: Specify the node or shard the operation should be performed on. + create_pit::query.routing: + name: routing + in: query + description: Comma-separated list of specific routing values. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of specific routing values. + explode: true + create::path.id: + in: path + name: id + description: Unique identifier for the document. + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + create::path.index: + in: path + name: index + description: |- + Name of the data stream or index to target. + If the target doesn't exist and matches the name or wildcard (`*`) pattern of an index template with a `data_stream` definition, this request creates the data stream. + If the target doesn't exist and doesn't match a data stream template, this request creates the index. + required: true + schema: + $ref: '#/components/schemas/_common:IndexName' + style: simple + create::query.pipeline: + in: query + name: pipeline + description: |- + ID of the pipeline to use to preprocess incoming documents. + If the index has a default ingest pipeline specified, then setting the value to `_none` disables the default ingest pipeline for this request. + If a final pipeline is configured it will always run, regardless of the value of this parameter. + schema: + type: string + style: form + create::query.refresh: + in: query + name: refresh + description: |- + If `true`, OpenSearch refreshes the affected shards to make this operation visible to search, if `wait_for` then wait for a refresh to make this operation visible to search, if `false` do nothing with refreshes. + Valid values: `true`, `false`, `wait_for`. + schema: + $ref: '#/components/schemas/_common:Refresh' + style: form + create::query.routing: + in: query + name: routing + description: Custom value used to route operations to a specific shard. + schema: + $ref: '#/components/schemas/_common:Routing' + style: form + create::query.timeout: + in: query + name: timeout + description: 'Period the request waits for the following operations: automatic index creation, dynamic mapping updates, waiting for active shards.' + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + create::query.version: + in: query + name: version + description: |- + Explicit version number for concurrency control. + The specified version must match the current version of the document for the request to succeed. + schema: + $ref: '#/components/schemas/_common:VersionNumber' + style: form + create::query.version_type: + in: query + name: version_type + description: 'Specific version type: `external`, `external_gte`.' + schema: + $ref: '#/components/schemas/_common:VersionType' + style: form + create::query.wait_for_active_shards: + in: query + name: wait_for_active_shards + description: |- + The number of shard copies that must be active before proceeding with the operation. + Set to `all` or any positive integer up to the total number of shards in the index (`number_of_replicas+1`). + schema: + $ref: '#/components/schemas/_common:WaitForActiveShards' + style: form + x-default: '1' + dangling_indices.delete_dangling_index::path.index_uuid: + in: path + name: index_uuid + description: The UUID of the dangling index + required: true + schema: + $ref: '#/components/schemas/_common:Uuid' + style: simple + dangling_indices.delete_dangling_index::query.accept_data_loss: + in: query + name: accept_data_loss + description: Must be set to true in order to delete the dangling index + required: true + schema: + type: boolean + style: form + dangling_indices.delete_dangling_index::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + dangling_indices.delete_dangling_index::query.master_timeout: + in: query + name: master_timeout + description: Specify timeout for connection to master + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + dangling_indices.delete_dangling_index::query.timeout: + in: query + name: timeout + description: Explicit operation timeout + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + dangling_indices.import_dangling_index::path.index_uuid: + in: path + name: index_uuid + description: The UUID of the dangling index + required: true + schema: + $ref: '#/components/schemas/_common:Uuid' + style: simple + dangling_indices.import_dangling_index::query.accept_data_loss: + in: query + name: accept_data_loss + description: Must be set to true in order to import the dangling index + required: true + schema: + type: boolean + style: form + dangling_indices.import_dangling_index::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + dangling_indices.import_dangling_index::query.master_timeout: + in: query + name: master_timeout + description: Specify timeout for connection to master + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + dangling_indices.import_dangling_index::query.timeout: + in: query + name: timeout + description: Explicit operation timeout + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + delete_by_query_rethrottle::path.task_id: + in: path + name: task_id + description: The ID for the task. + required: true + schema: + $ref: '#/components/schemas/_common:TaskId' + style: simple + delete_by_query_rethrottle::query.requests_per_second: + in: query + name: requests_per_second + description: The throttle for this request in sub-requests per second. + schema: + type: number + style: form + delete_by_query::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams, indices, and aliases to search. + Supports wildcards (`*`). + To search all data streams or indices, omit this parameter or use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + delete_by_query::query._source: + name: _source + in: query + description: True or false to return the _source field or not, or a list of fields to return. + style: form + schema: + type: array + items: + type: string + description: True or false to return the _source field or not, or a list of fields to return. + explode: true + delete_by_query::query._source_excludes: + name: _source_excludes + in: query + description: List of fields to exclude from the returned _source field. + style: form + schema: + type: array + items: + type: string + description: List of fields to exclude from the returned _source field. + explode: true + delete_by_query::query._source_includes: + name: _source_includes + in: query + description: List of fields to extract and return from the _source field. + style: form + schema: + type: array + items: + type: string + description: List of fields to extract and return from the _source field. + explode: true + delete_by_query::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If `false`, the request returns an error if any wildcard expression, index alias, or `_all` value targets only missing or closed indices. + This behavior applies even if the request targets other open indices. + For example, a request targeting `foo*,bar*` returns an error if an index starts with `foo` but no index starts with `bar`. + schema: + type: boolean + style: form + delete_by_query::query.analyze_wildcard: + in: query + name: analyze_wildcard + description: If `true`, wildcard and prefix queries are analyzed. + schema: + type: boolean + default: false + style: form + delete_by_query::query.analyzer: + in: query + name: analyzer + description: Analyzer to use for the query string. + schema: + type: string + style: form + delete_by_query::query.conflicts: + in: query + name: conflicts + description: 'What to do if delete by query hits version conflicts: `abort` or `proceed`.' + schema: + $ref: '#/components/schemas/_common:Conflicts' + style: form + delete_by_query::query.default_operator: + in: query + name: default_operator + description: 'The default operator for query string query: `AND` or `OR`.' + schema: + $ref: '#/components/schemas/_common.query_dsl:Operator' + style: form + delete_by_query::query.df: + in: query + name: df + description: Field to use as default where no field prefix is given in the query string. + schema: + type: string + style: form + delete_by_query::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. + If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. + Supports comma-separated values, such as `open,hidden`. Valid values are: `all`, `open`, `closed`, `hidden`, `none`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + delete_by_query::query.from: + in: query + name: from + description: Starting offset. + schema: + type: number + default: 0 + style: form + delete_by_query::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `false`, the request returns an error if it targets a missing or closed index. + schema: + type: boolean + style: form + delete_by_query::query.lenient: + in: query + name: lenient + description: If `true`, format-based query failures (such as providing text to a numeric field) in the query string will be ignored. + schema: + type: boolean + style: form + delete_by_query::query.max_docs: + in: query + name: max_docs + description: |- + Maximum number of documents to process. + Defaults to all documents. + schema: + type: number + style: form + delete_by_query::query.preference: + in: query + name: preference + description: |- + Specifies the node or shard the operation should be performed on. + Random by default. + schema: + type: string + default: random + style: form + delete_by_query::query.q: + in: query + name: q + description: Query in the Lucene query string syntax. + schema: + type: string + style: form + delete_by_query::query.refresh: + in: query + name: refresh + description: If `true`, OpenSearch refreshes all shards involved in the delete by query after the request completes. + schema: + type: boolean + style: form + delete_by_query::query.request_cache: + in: query + name: request_cache + description: |- + If `true`, the request cache is used for this request. + Defaults to the index-level setting. + schema: + type: boolean + style: form + delete_by_query::query.requests_per_second: + in: query + name: requests_per_second + description: The throttle for this request in sub-requests per second. + schema: + type: number + default: 0 + style: form + delete_by_query::query.routing: + in: query + name: routing + description: Custom value used to route operations to a specific shard. + schema: + $ref: '#/components/schemas/_common:Routing' + style: form + delete_by_query::query.scroll: + in: query + name: scroll + description: Period to retain the search context for scrolling. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + delete_by_query::query.scroll_size: + in: query + name: scroll_size + description: Size of the scroll request that powers the operation. + schema: + type: number + default: 100 + style: form + delete_by_query::query.search_timeout: + in: query + name: search_timeout + description: |- + Explicit timeout for each search request. + Defaults to no timeout. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + delete_by_query::query.search_type: + in: query + name: search_type + description: |- + The type of the search operation. + Available options: `query_then_fetch`, `dfs_query_then_fetch`. + schema: + $ref: '#/components/schemas/_common:SearchType' + style: form + delete_by_query::query.size: + name: size + in: query + description: Deprecated, please use `max_docs` instead. + schema: + type: integer + description: Deprecated, please use `max_docs` instead. + format: int32 + delete_by_query::query.slices: + in: query + name: slices + description: The number of slices this task should be divided into. + schema: + $ref: '#/components/schemas/_common:Slices' + style: form + x-default: '1' + delete_by_query::query.sort: + in: query + name: sort + description: A comma-separated list of : pairs. + schema: + type: array + items: + type: string + style: form + delete_by_query::query.stats: + in: query + name: stats + description: Specific `tag` of the request for logging and statistical purposes. + schema: + type: array + items: + type: string + style: form + delete_by_query::query.terminate_after: + in: query + name: terminate_after + description: |- + Maximum number of documents to collect for each shard. + If a query reaches this limit, OpenSearch terminates the query early. + OpenSearch collects documents before sorting. + Use with caution. + OpenSearch applies this parameter to each shard handling the request. + When possible, let OpenSearch perform early termination automatically. + Avoid specifying this parameter for requests that target data streams with backing indices across multiple data tiers. + schema: + type: number + style: form + delete_by_query::query.timeout: + in: query + name: timeout + description: Period each deletion request waits for active shards. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-default: 1m + delete_by_query::query.version: + in: query + name: version + description: If `true`, returns the document version as part of a hit. + schema: + type: boolean + style: form + delete_by_query::query.wait_for_active_shards: + in: query + name: wait_for_active_shards + description: |- + The number of shard copies that must be active before proceeding with the operation. + Set to all or any positive integer up to the total number of shards in the index (`number_of_replicas+1`). + schema: + $ref: '#/components/schemas/_common:WaitForActiveShards' + style: form + x-default: '1' + delete_by_query::query.wait_for_completion: + in: query + name: wait_for_completion + description: If `true`, the request blocks until the operation is complete. + schema: + type: boolean + default: true + style: form + delete_script::path.id: + in: path + name: id + description: Identifier for the stored script or search template. + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + delete_script::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + delete_script::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + delete_script::query.timeout: + in: query + name: timeout + description: |- + Period to wait for a response. + If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + delete::path.id: + in: path + name: id + description: Unique identifier for the document. + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + delete::path.index: + in: path + name: index + description: Name of the target index. + required: true + schema: + $ref: '#/components/schemas/_common:IndexName' + style: simple + delete::query.if_primary_term: + in: query + name: if_primary_term + description: Only perform the operation if the document has this primary term. + schema: + type: number + style: form + delete::query.if_seq_no: + in: query + name: if_seq_no + description: Only perform the operation if the document has this sequence number. + schema: + $ref: '#/components/schemas/_common:SequenceNumber' + style: form + delete::query.refresh: + in: query + name: refresh + description: |- + If `true`, OpenSearch refreshes the affected shards to make this operation visible to search, if `wait_for` then wait for a refresh to make this operation visible to search, if `false` do nothing with refreshes. + Valid values: `true`, `false`, `wait_for`. + schema: + $ref: '#/components/schemas/_common:Refresh' + style: form + delete::query.routing: + in: query + name: routing + description: Custom value used to route operations to a specific shard. + schema: + $ref: '#/components/schemas/_common:Routing' + style: form + delete::query.timeout: + in: query + name: timeout + description: Period to wait for active shards. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + delete::query.version: + in: query + name: version + description: |- + Explicit version number for concurrency control. + The specified version must match the current version of the document for the request to succeed. + schema: + $ref: '#/components/schemas/_common:VersionNumber' + style: form + delete::query.version_type: + in: query + name: version_type + description: 'Specific version type: `external`, `external_gte`.' + schema: + $ref: '#/components/schemas/_common:VersionType' + style: form + delete::query.wait_for_active_shards: + in: query + name: wait_for_active_shards + description: |- + The number of shard copies that must be active before proceeding with the operation. + Set to `all` or any positive integer up to the total number of shards in the index (`number_of_replicas+1`). + schema: + $ref: '#/components/schemas/_common:WaitForActiveShards' + style: form + x-default: '1' + exists_source::path.id: + in: path + name: id + description: Identifier of the document. + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + exists_source::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams, indices, and aliases. + Supports wildcards (`*`). + required: true + schema: + $ref: '#/components/schemas/_common:IndexName' + style: simple + exists_source::query._source: + in: query + name: _source + description: '`true` or `false` to return the `_source` field or not, or a list of fields to return.' + schema: + $ref: '#/components/schemas/_core.search:SourceConfigParam' + style: form + exists_source::query._source_excludes: + in: query + name: _source_excludes + description: A comma-separated list of source fields to exclude in the response. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + exists_source::query._source_includes: + in: query + name: _source_includes + description: A comma-separated list of source fields to include in the response. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + exists_source::query.preference: + in: query + name: preference + description: |- + Specifies the node or shard the operation should be performed on. + Random by default. + schema: + type: string + default: random + style: form + exists_source::query.realtime: + in: query + name: realtime + description: If true, the request is real-time as opposed to near-real-time. + schema: + type: boolean + style: form + exists_source::query.refresh: + in: query + name: refresh + description: If `true`, OpenSearch refreshes all shards involved in the delete by query after the request completes. + schema: + type: boolean + style: form + exists_source::query.routing: + in: query + name: routing + description: Target the specified primary shard. + schema: + $ref: '#/components/schemas/_common:Routing' + style: form + exists_source::query.version: + in: query + name: version + description: |- + Explicit version number for concurrency control. + The specified version must match the current version of the document for the request to succeed. + schema: + $ref: '#/components/schemas/_common:VersionNumber' + style: form + exists_source::query.version_type: + in: query + name: version_type + description: 'Specific version type: `external`, `external_gte`.' + schema: + $ref: '#/components/schemas/_common:VersionType' + style: form + exists::path.id: + in: path + name: id + description: Identifier of the document. + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + exists::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams, indices, and aliases. + Supports wildcards (`*`). + required: true + schema: + $ref: '#/components/schemas/_common:IndexName' + style: simple + exists::query._source: + in: query + name: _source + description: '`true` or `false` to return the `_source` field or not, or a list of fields to return.' + schema: + $ref: '#/components/schemas/_core.search:SourceConfigParam' + style: form + exists::query._source_excludes: + in: query + name: _source_excludes + description: A comma-separated list of source fields to exclude in the response. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + exists::query._source_includes: + in: query + name: _source_includes + description: A comma-separated list of source fields to include in the response. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + exists::query.preference: + in: query + name: preference + description: |- + Specifies the node or shard the operation should be performed on. + Random by default. + schema: + type: string + default: random + style: form + exists::query.realtime: + in: query + name: realtime + description: If `true`, the request is real-time as opposed to near-real-time. + schema: + type: boolean + style: form + exists::query.refresh: + in: query + name: refresh + description: If `true`, OpenSearch refreshes all shards involved in the delete by query after the request completes. + schema: + type: boolean + style: form + exists::query.routing: + in: query + name: routing + description: Target the specified primary shard. + schema: + $ref: '#/components/schemas/_common:Routing' + style: form + exists::query.stored_fields: + in: query + name: stored_fields + description: |- + List of stored fields to return as part of a hit. + If no fields are specified, no stored fields are included in the response. + If this field is specified, the `_source` parameter defaults to false. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + exists::query.version: + in: query + name: version + description: |- + Explicit version number for concurrency control. + The specified version must match the current version of the document for the request to succeed. + schema: + $ref: '#/components/schemas/_common:VersionNumber' + style: form + exists::query.version_type: + in: query + name: version_type + description: 'Specific version type: `external`, `external_gte`.' + schema: + $ref: '#/components/schemas/_common:VersionType' + style: form + explain::path.id: + in: path + name: id + description: Defines the document ID. + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + explain::path.index: + in: path + name: index + description: |- + Index names used to limit the request. + Only a single index name can be provided to this parameter. + required: true + schema: + $ref: '#/components/schemas/_common:IndexName' + style: simple + explain::query._source: + in: query + name: _source + description: True or false to return the `_source` field or not, or a list of fields to return. + schema: + $ref: '#/components/schemas/_core.search:SourceConfigParam' + style: form + explain::query._source_excludes: + in: query + name: _source_excludes + description: A comma-separated list of source fields to exclude from the response. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + explain::query._source_includes: + in: query + name: _source_includes + description: A comma-separated list of source fields to include in the response. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + explain::query.analyze_wildcard: + in: query + name: analyze_wildcard + description: If `true`, wildcard and prefix queries are analyzed. + schema: + type: boolean + default: false + style: form + explain::query.analyzer: + in: query + name: analyzer + description: |- + Analyzer to use for the query string. + This parameter can only be used when the `q` query string parameter is specified. + schema: + type: string + style: form + explain::query.default_operator: + in: query + name: default_operator + description: 'The default operator for query string query: `AND` or `OR`.' + schema: + $ref: '#/components/schemas/_common.query_dsl:Operator' + style: form + explain::query.df: + in: query + name: df + description: Field to use as default where no field prefix is given in the query string. + schema: + type: string + default: _all + style: form + explain::query.lenient: + in: query + name: lenient + description: If `true`, format-based query failures (such as providing text to a numeric field) in the query string will be ignored. + schema: + type: boolean + style: form + explain::query.preference: + in: query + name: preference + description: |- + Specifies the node or shard the operation should be performed on. + Random by default. + schema: + type: string + default: random + style: form + explain::query.q: + in: query + name: q + description: Query in the Lucene query string syntax. + schema: + type: string + style: form + explain::query.routing: + in: query + name: routing + description: Custom value used to route operations to a specific shard. + schema: + $ref: '#/components/schemas/_common:Routing' + style: form + explain::query.stored_fields: + in: query + name: stored_fields + description: A comma-separated list of stored fields to return in the response. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + field_caps::path.index: + in: path + name: index + description: Comma-separated list of data streams, indices, and aliases used to limit the request. Supports wildcards (*). To target all data streams and indices, omit this parameter or use * or _all. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + field_caps::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If false, the request returns an error if any wildcard expression, index alias, + or `_all` value targets only missing or closed indices. This behavior applies even if the request targets other open indices. For example, a request + targeting `foo*,bar*` returns an error if an index starts with foo but no index starts with bar. + schema: + type: boolean + style: form + field_caps::query.expand_wildcards: + in: query + name: expand_wildcards + description: Type of index that wildcard patterns can match. If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. Supports comma-separated values, such as `open,hidden`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + field_caps::query.fields: + in: query + name: fields + description: Comma-separated list of fields to retrieve capabilities for. Wildcard (`*`) expressions are supported. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + field_caps::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `true`, missing or closed indices are not included in the response. + schema: + type: boolean + style: form + field_caps::query.include_unmapped: + in: query + name: include_unmapped + description: If true, unmapped fields are included in the response. + schema: + type: boolean + default: false + style: form + get_script::path.id: + in: path + name: id + description: Identifier for the stored script or search template. + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + get_script::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + get_script::query.master_timeout: + in: query + name: master_timeout + description: Specify timeout for connection to master + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + get_source::path.id: + in: path + name: id + description: Unique identifier of the document. + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + get_source::path.index: + in: path + name: index + description: Name of the index that contains the document. + required: true + schema: + $ref: '#/components/schemas/_common:IndexName' + style: simple + get_source::query._source: + in: query + name: _source + description: True or false to return the _source field or not, or a list of fields to return. + schema: + $ref: '#/components/schemas/_core.search:SourceConfigParam' + style: form + get_source::query._source_excludes: + in: query + name: _source_excludes + description: A comma-separated list of source fields to exclude in the response. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + get_source::query._source_includes: + in: query + name: _source_includes + description: A comma-separated list of source fields to include in the response. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + get_source::query.preference: + in: query + name: preference + description: Specifies the node or shard the operation should be performed on. Random by default. + schema: + type: string + default: random + style: form + get_source::query.realtime: + in: query + name: realtime + description: Boolean) If true, the request is real-time as opposed to near-real-time. + schema: + type: boolean + style: form + get_source::query.refresh: + in: query + name: refresh + description: If true, OpenSearch refreshes the affected shards to make this operation visible to search. If false, do nothing with refreshes. + schema: + type: boolean + style: form + get_source::query.routing: + in: query + name: routing + description: Target the specified primary shard. + schema: + $ref: '#/components/schemas/_common:Routing' + style: form + get_source::query.version: + in: query + name: version + description: Explicit version number for concurrency control. The specified version must match the current version of the document for the request to succeed. + schema: + $ref: '#/components/schemas/_common:VersionNumber' + style: form + get_source::query.version_type: + in: query + name: version_type + description: 'Specific version type: internal, external, external_gte.' + schema: + $ref: '#/components/schemas/_common:VersionType' + style: form + get::path.id: + in: path + name: id + description: Unique identifier of the document. + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + get::path.index: + in: path + name: index + description: Name of the index that contains the document. + required: true + schema: + $ref: '#/components/schemas/_common:IndexName' + style: simple + get::query._source: + in: query + name: _source + description: True or false to return the _source field or not, or a list of fields to return. + schema: + $ref: '#/components/schemas/_core.search:SourceConfigParam' + style: form + get::query._source_excludes: + in: query + name: _source_excludes + description: A comma-separated list of source fields to exclude in the response. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + get::query._source_includes: + in: query + name: _source_includes + description: A comma-separated list of source fields to include in the response. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + get::query.preference: + in: query + name: preference + description: Specifies the node or shard the operation should be performed on. Random by default. + schema: + type: string + default: random + style: form + get::query.realtime: + in: query + name: realtime + description: If `true`, the request is real-time as opposed to near-real-time. + schema: + type: boolean + style: form + get::query.refresh: + in: query + name: refresh + description: If true, OpenSearch refreshes the affected shards to make this operation visible to search. If false, do nothing with refreshes. + schema: + type: boolean + style: form + get::query.routing: + in: query + name: routing + description: Target the specified primary shard. + schema: + $ref: '#/components/schemas/_common:Routing' + style: form + get::query.stored_fields: + in: query + name: stored_fields + description: |- + List of stored fields to return as part of a hit. + If no fields are specified, no stored fields are included in the response. + If this field is specified, the `_source` parameter defaults to false. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + get::query.version: + in: query + name: version + description: Explicit version number for concurrency control. The specified version must match the current version of the document for the request to succeed. + schema: + $ref: '#/components/schemas/_common:VersionNumber' + style: form + get::query.version_type: + in: query + name: version_type + description: 'Specific version type: internal, external, external_gte.' + schema: + $ref: '#/components/schemas/_common:VersionType' + style: form + index::path.id: + in: path + name: id + description: Unique identifier for the document. + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + index::path.index: + in: path + name: index + description: Name of the data stream or index to target. + required: true + schema: + $ref: '#/components/schemas/_common:IndexName' + style: simple + index::query.if_primary_term: + in: query + name: if_primary_term + description: Only perform the operation if the document has this primary term. + schema: + type: number + style: form + index::query.if_seq_no: + in: query + name: if_seq_no + description: Only perform the operation if the document has this sequence number. + schema: + $ref: '#/components/schemas/_common:SequenceNumber' + style: form + index::query.op_type: + in: query + name: op_type + description: |- + Set to create to only index the document if it does not already exist (put if absent). + If a document with the specified `_id` already exists, the indexing operation will fail. + Same as using the `/_create` endpoint. + Valid values: `index`, `create`. + If document id is specified, it defaults to `index`. + Otherwise, it defaults to `create`. + schema: + $ref: '#/components/schemas/_common:OpType' + style: form + index::query.pipeline: + in: query + name: pipeline + description: |- + ID of the pipeline to use to preprocess incoming documents. + If the index has a default ingest pipeline specified, then setting the value to `_none` disables the default ingest pipeline for this request. + If a final pipeline is configured it will always run, regardless of the value of this parameter. + schema: + type: string + style: form + index::query.refresh: + in: query + name: refresh + description: |- + If `true`, OpenSearch refreshes the affected shards to make this operation visible to search, if `wait_for` then wait for a refresh to make this operation visible to search, if `false` do nothing with refreshes. + Valid values: `true`, `false`, `wait_for`. + schema: + $ref: '#/components/schemas/_common:Refresh' + style: form + index::query.require_alias: + in: query + name: require_alias + description: If `true`, the destination must be an index alias. + schema: + type: boolean + default: false + style: form + index::query.routing: + in: query + name: routing + description: Custom value used to route operations to a specific shard. + schema: + $ref: '#/components/schemas/_common:Routing' + style: form + index::query.timeout: + in: query + name: timeout + description: 'Period the request waits for the following operations: automatic index creation, dynamic mapping updates, waiting for active shards.' + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + index::query.version: + in: query + name: version + description: |- + Explicit version number for concurrency control. + The specified version must match the current version of the document for the request to succeed. + schema: + $ref: '#/components/schemas/_common:VersionNumber' + style: form + index::query.version_type: + in: query + name: version_type + description: 'Specific version type: `external`, `external_gte`.' + schema: + $ref: '#/components/schemas/_common:VersionType' + style: form + index::query.wait_for_active_shards: + in: query + name: wait_for_active_shards + description: |- + The number of shard copies that must be active before proceeding with the operation. + Set to all or any positive integer up to the total number of shards in the index (`number_of_replicas+1`). + schema: + $ref: '#/components/schemas/_common:WaitForActiveShards' + style: form + x-default: '1' + indices.add_block::path.block: + in: path + name: block + description: The block to add (one of read, write, read_only or metadata) + required: true + schema: + $ref: '#/components/schemas/indices.add_block:IndicesBlockOptions' + style: simple + indices.add_block::path.index: + in: path + name: index + description: A comma separated list of indices to add a block to + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.add_block::query.allow_no_indices: + in: query + name: allow_no_indices + description: Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified) + schema: + type: boolean + style: form + indices.add_block::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.add_block::query.expand_wildcards: + in: query + name: expand_wildcards + description: Whether to expand wildcard expression to concrete indices that are open, closed or both. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + indices.add_block::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: Whether specified concrete indices should be ignored when unavailable (missing or closed) + schema: + type: boolean + style: form + indices.add_block::query.master_timeout: + in: query + name: master_timeout + description: Specify timeout for connection to master + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.add_block::query.timeout: + in: query + name: timeout + description: Explicit operation timeout + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + indices.analyze::path.index: + in: path + name: index + description: |- + Index used to derive the analyzer. + If specified, the `analyzer` or field parameter overrides this value. + If no index is specified or the index does not have a default analyzer, the analyze API uses the standard analyzer. + required: true + schema: + $ref: '#/components/schemas/_common:IndexName' + style: simple + indices.analyze::query.index: + name: index + in: query + description: The name of the index to scope the operation. + schema: + type: string + description: The name of the index to scope the operation. + indices.clear_cache::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams, indices, and aliases used to limit the request. + Supports wildcards (`*`). + To target all data streams and indices, omit this parameter or use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.clear_cache::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If `false`, the request returns an error if any wildcard expression, index alias, or `_all` value targets only missing or closed indices. + This behavior applies even if the request targets other open indices. + schema: + type: boolean + style: form + indices.clear_cache::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. + If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. + Supports comma-separated values, such as `open,hidden`. + Valid values are: `all`, `open`, `closed`, `hidden`, `none`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + indices.clear_cache::query.fielddata: + in: query + name: fielddata + description: |- + If `true`, clears the fields cache. + Use the `fields` parameter to clear the cache of specific fields only. + schema: + type: boolean + style: form + indices.clear_cache::query.fields: + in: query + name: fields + description: Comma-separated list of field names used to limit the `fielddata` parameter. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + indices.clear_cache::query.file: + x-version-added: '2.8' + in: query + name: file + description: If true, clears the unused entries from the file cache on nodes with the Search role. + schema: + type: boolean + default: false + style: form + indices.clear_cache::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `false`, the request returns an error if it targets a missing or closed index. + schema: + type: boolean + style: form + indices.clear_cache::query.index: + name: index + in: query + description: Comma-separated list of indices; use `_all` or empty string to perform the operation on all indices. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of indices; use `_all` or empty string to perform the operation on all indices. + explode: true + indices.clear_cache::query.query: + in: query + name: query + description: If `true`, clears the query cache. + schema: + type: boolean + style: form + indices.clear_cache::query.request: + in: query + name: request + description: If `true`, clears the request cache. + schema: + type: boolean + style: form + indices.clone::path.index: + in: path + name: index + description: Name of the source index to clone. + required: true + schema: + $ref: '#/components/schemas/_common:IndexName' + style: simple + indices.clone::path.target: + in: path + name: target + description: Name of the target index to create. + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + indices.clone::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.clone::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.clone::query.task_execution_timeout: + name: task_execution_timeout + in: query + description: Explicit task execution timeout, only useful when wait_for_completion is false, defaults to 1h. + schema: + $ref: '#/components/schemas/_common:Duration' + indices.clone::query.timeout: + in: query + name: timeout + description: |- + Period to wait for a response. + If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + indices.clone::query.wait_for_active_shards: + in: query + name: wait_for_active_shards + description: |- + The number of shard copies that must be active before proceeding with the operation. + Set to `all` or any positive integer up to the total number of shards in the index (`number_of_replicas+1`). + schema: + $ref: '#/components/schemas/_common:WaitForActiveShards' + style: form + indices.clone::query.wait_for_completion: + x-version-added: '2.7' + name: wait_for_completion + in: query + description: Should this request wait until the operation has completed before returning. + schema: + type: boolean + default: true + description: Should this request wait until the operation has completed before returning. + indices.close::path.index: + in: path + name: index + description: Comma-separated list or wildcard expression of index names used to limit the request. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.close::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If `false`, the request returns an error if any wildcard expression, index alias, or `_all` value targets only missing or closed indices. + This behavior applies even if the request targets other open indices. + schema: + type: boolean + style: form + indices.close::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.close::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. + If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. + Supports comma-separated values, such as `open,hidden`. + Valid values are: `all`, `open`, `closed`, `hidden`, `none`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + indices.close::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `false`, the request returns an error if it targets a missing or closed index. + schema: + type: boolean + style: form + indices.close::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.close::query.timeout: + in: query + name: timeout + description: |- + Period to wait for a response. + If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + indices.close::query.wait_for_active_shards: + in: query + name: wait_for_active_shards + description: |- + The number of shard copies that must be active before proceeding with the operation. + Set to `all` or any positive integer up to the total number of shards in the index (`number_of_replicas+1`). + schema: + $ref: '#/components/schemas/_common:WaitForActiveShards' + style: form + indices.create_data_stream::path.name: + in: path + name: name + description: |- + Name of the data stream, which must meet the following criteria: + Lowercase only; + Cannot include `\`, `/`, `*`, `?`, `"`, `<`, `>`, `|`, `,`, `#`, `:`, or a space character; + Cannot start with `-`, `_`, `+`, or `.ds-`; + Cannot be `.` or `..`; + Cannot be longer than 255 bytes. Multi-byte characters count towards this limit faster. + required: true + schema: + $ref: '#/components/schemas/_common:DataStreamName' + style: simple + indices.create::path.index: + in: path + name: index + description: Name of the index you wish to create. + required: true + schema: + $ref: '#/components/schemas/_common:IndexName' + style: simple + indices.create::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.create::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.create::query.timeout: + in: query + name: timeout + description: |- + Period to wait for a response. + If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + indices.create::query.wait_for_active_shards: + in: query + name: wait_for_active_shards + description: |- + The number of shard copies that must be active before proceeding with the operation. + Set to `all` or any positive integer up to the total number of shards in the index (`number_of_replicas+1`). + schema: + $ref: '#/components/schemas/_common:WaitForActiveShards' + style: form + indices.data_streams_stats::path.name: + in: path + name: name + description: |- + Comma-separated list of data streams used to limit the request. + Wildcard expressions (`*`) are supported. + To target all data streams in a cluster, omit this parameter or use `*`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.delete_alias::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams or indices used to limit the request. + Supports wildcards (`*`). + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.delete_alias::path.name: + in: path + name: name + description: |- + Comma-separated list of aliases to remove. + Supports wildcards (`*`). To remove all aliases, use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Names' + style: simple + indices.delete_alias::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.delete_alias::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.delete_alias::query.timeout: + in: query + name: timeout + description: |- + Period to wait for a response. + If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + indices.delete_data_stream::path.name: + in: path + name: name + description: Comma-separated list of data streams to delete. Wildcard (`*`) expressions are supported. + required: true + schema: + $ref: '#/components/schemas/_common:DataStreamNames' + style: simple + indices.delete_index_template::path.name: + in: path + name: name + description: Name of the index template to delete. Wildcard (*) expressions are supported. + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + indices.delete_index_template::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.delete_index_template::query.master_timeout: + in: query + name: master_timeout + description: Period to wait for a connection to the master node. If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.delete_index_template::query.timeout: + in: query + name: timeout + description: Period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + indices.delete_template::path.name: + in: path + name: name + description: |- + The name of the legacy index template to delete. + Wildcard (`*`) expressions are supported. + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + indices.delete_template::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.delete_template::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.delete_template::query.timeout: + in: query + name: timeout + description: |- + Period to wait for a response. + If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + indices.delete::path.index: + in: path + name: index + description: |- + Comma-separated list of indices to delete. + You cannot specify index aliases. + By default, this parameter does not support wildcards (`*`) or `_all`. + To use wildcards or `_all`, set the `action.destructive_requires_name` cluster setting to `false`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.delete::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If `false`, the request returns an error if any wildcard expression, index alias, or `_all` value targets only missing or closed indices. + This behavior applies even if the request targets other open indices. + schema: + type: boolean + default: false + style: form + indices.delete::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.delete::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. + If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. + Supports comma-separated values, such as `open,hidden`. + Valid values are: `all`, `open`, `closed`, `hidden`, `none`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + indices.delete::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `false`, the request returns an error if it targets a missing or closed index. + schema: + type: boolean + default: false + style: form + indices.delete::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.delete::query.timeout: + in: query + name: timeout + description: |- + Period to wait for a response. + If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + indices.exists_alias::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams or indices used to limit the request. Supports wildcards (`*`). + To target all data streams and indices, omit this parameter or use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.exists_alias::path.name: + in: path + name: name + description: Comma-separated list of aliases to check. Supports wildcards (`*`). + required: true + schema: + $ref: '#/components/schemas/_common:Names' + style: simple + indices.exists_alias::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If `false`, the request returns an error if any wildcard expression, index alias, or `_all` value targets only missing or closed indices. + This behavior applies even if the request targets other open indices. + schema: + type: boolean + style: form + indices.exists_alias::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. + If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. + Supports comma-separated values, such as `open,hidden`. + Valid values are: `all`, `open`, `closed`, `hidden`, `none`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + indices.exists_alias::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `false`, requests that include a missing data stream or index in the target indices or data streams return an error. + schema: + type: boolean + style: form + indices.exists_alias::query.local: + in: query + name: local + description: If `true`, the request retrieves information from the local node only. + schema: + type: boolean + default: false + style: form + indices.exists_index_template::path.name: + in: path + name: name + description: Name of the index template to check existence of. Wildcard (*) expressions are supported. + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + indices.exists_index_template::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.exists_index_template::query.flat_settings: + name: flat_settings + in: query + description: Return settings in flat format. + schema: + type: boolean + default: false + description: Return settings in flat format. + indices.exists_index_template::query.local: + name: local + in: query + description: Return local information, do not retrieve the state from cluster-manager node. + schema: + type: boolean + default: false + description: Return local information, do not retrieve the state from cluster-manager node. + indices.exists_index_template::query.master_timeout: + in: query + name: master_timeout + description: Period to wait for a connection to the master node. If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.exists_template::path.name: + in: path + name: name + description: The comma separated names of the index templates + required: true + schema: + $ref: '#/components/schemas/_common:Names' + style: simple + indices.exists_template::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.exists_template::query.flat_settings: + in: query + name: flat_settings + description: Return settings in flat format. + schema: + type: boolean + default: false + style: form + indices.exists_template::query.local: + in: query + name: local + description: Return local information, do not retrieve the state from cluster-manager node. + schema: + type: boolean + default: false + style: form + indices.exists_template::query.master_timeout: + in: query + name: master_timeout + description: Explicit operation timeout for connection to master node + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.exists::path.index: + in: path + name: index + description: Comma-separated list of data streams, indices, and aliases. Supports wildcards (`*`). + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.exists::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If `false`, the request returns an error if any wildcard expression, index alias, or `_all` value targets only missing or closed indices. + This behavior applies even if the request targets other open indices. + schema: + type: boolean + default: false + style: form + indices.exists::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.exists::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. + If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. + Supports comma-separated values, such as `open,hidden`. + Valid values are: `all`, `open`, `closed`, `hidden`, `none`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + indices.exists::query.flat_settings: + in: query + name: flat_settings + description: If `true`, returns settings in flat format. + schema: + type: boolean + default: false + style: form + indices.exists::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `false`, the request returns an error if it targets a missing or closed index. + schema: + type: boolean + default: false + style: form + indices.exists::query.include_defaults: + in: query + name: include_defaults + description: If `true`, return all default settings in the response. + schema: + type: boolean + default: false + style: form + indices.exists::query.local: + in: query + name: local + description: If `true`, the request retrieves information from the local node only. + schema: + type: boolean + default: false + style: form + indices.flush::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams, indices, and aliases to flush. + Supports wildcards (`*`). + To flush all data streams and indices, omit this parameter or use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.flush::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If `false`, the request returns an error if any wildcard expression, index alias, or `_all` value targets only missing or closed indices. + This behavior applies even if the request targets other open indices. + schema: + type: boolean + style: form + indices.flush::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. + If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. + Supports comma-separated values, such as `open,hidden`. + Valid values are: `all`, `open`, `closed`, `hidden`, `none`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + indices.flush::query.force: + in: query + name: force + description: If `true`, the request forces a flush even if there are no changes to commit to the index. + schema: + type: boolean + style: form + indices.flush::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `false`, the request returns an error if it targets a missing or closed index. + schema: + type: boolean + style: form + indices.flush::query.wait_if_ongoing: + in: query + name: wait_if_ongoing + description: |- + If `true`, the flush operation blocks until execution when another flush operation is running. + If `false`, OpenSearch returns an error if you request a flush when another flush operation is running. + schema: + type: boolean + default: true + style: form + indices.forcemerge::path.index: + in: path + name: index + description: A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.forcemerge::query.allow_no_indices: + in: query + name: allow_no_indices + description: Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified) + schema: + type: boolean + style: form + indices.forcemerge::query.expand_wildcards: + in: query + name: expand_wildcards + description: Whether to expand wildcard expression to concrete indices that are open, closed or both. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + indices.forcemerge::query.flush: + in: query + name: flush + description: Specify whether the index should be flushed after performing the operation. + schema: + type: boolean + default: true + style: form + indices.forcemerge::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: Whether specified concrete indices should be ignored when unavailable (missing or closed) + schema: + type: boolean + style: form + indices.forcemerge::query.max_num_segments: + in: query + name: max_num_segments + description: |- + The number of larger segments into which smaller segments are merged. + Set this parameter to 1 to merge all segments into one segment. + The default behavior is to perform the merge as necessary. + schema: + type: number + style: form + indices.forcemerge::query.only_expunge_deletes: + in: query + name: only_expunge_deletes + description: Specify whether the operation should only expunge deleted documents + schema: + type: boolean + style: form + indices.forcemerge::query.primary_only: + x-version-added: '2.13' + name: primary_only + in: query + description: Specify whether the operation should only perform on primary shards. Defaults to false. + schema: + type: boolean + default: false + description: Specify whether the operation should only perform on primary shards. Defaults to false. + indices.forcemerge::query.wait_for_completion: + x-version-added: '2.7' + in: query + name: wait_for_completion + description: Should the request wait until the force merge is completed. + schema: + type: boolean + default: true + style: form + indices.get_alias::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams or indices used to limit the request. + Supports wildcards (`*`). + To target all data streams and indices, omit this parameter or use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.get_alias::path.name: + in: path + name: name + description: |- + Comma-separated list of aliases to retrieve. + Supports wildcards (`*`). + To retrieve all aliases, omit this parameter or use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Names' + style: simple + indices.get_alias::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If `false`, the request returns an error if any wildcard expression, index alias, or `_all` value targets only missing or closed indices. + This behavior applies even if the request targets other open indices. + schema: + type: boolean + style: form + indices.get_alias::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. + If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. + Supports comma-separated values, such as `open,hidden`. + Valid values are: `all`, `open`, `closed`, `hidden`, `none`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + indices.get_alias::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `false`, the request returns an error if it targets a missing or closed index. + schema: + type: boolean + style: form + indices.get_alias::query.local: + in: query + name: local + description: If `true`, the request retrieves information from the local node only. + schema: + type: boolean + default: false + style: form + indices.get_data_stream::path.name: + in: path + name: name + description: |- + Comma-separated list of data stream names used to limit the request. + Wildcard (`*`) expressions are supported. If omitted, all data streams are returned. + required: true + schema: + $ref: '#/components/schemas/_common:DataStreamNames' + style: simple + indices.get_field_mapping::path.fields: + in: path + name: fields + description: Comma-separated list or wildcard expression of fields used to limit returned information. + required: true + schema: + $ref: '#/components/schemas/_common:Fields' + style: simple + indices.get_field_mapping::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams, indices, and aliases used to limit the request. + Supports wildcards (`*`). + To target all data streams and indices, omit this parameter or use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.get_field_mapping::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If `false`, the request returns an error if any wildcard expression, index alias, or `_all` value targets only missing or closed indices. + This behavior applies even if the request targets other open indices. + schema: + type: boolean + style: form + indices.get_field_mapping::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. + If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. + Supports comma-separated values, such as `open,hidden`. + Valid values are: `all`, `open`, `closed`, `hidden`, `none`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + indices.get_field_mapping::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `false`, the request returns an error if it targets a missing or closed index. + schema: + type: boolean + style: form + indices.get_field_mapping::query.include_defaults: + in: query + name: include_defaults + description: If `true`, return all default settings in the response. + schema: + type: boolean + style: form + indices.get_field_mapping::query.local: + in: query + name: local + description: If `true`, the request retrieves information from the local node only. + schema: + type: boolean + default: false + style: form + indices.get_index_template::path.name: + in: path + name: name + description: Name of the index template to retrieve. Wildcard (*) expressions are supported. + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + indices.get_index_template::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.get_index_template::query.flat_settings: + in: query + name: flat_settings + description: If true, returns settings in flat format. + schema: + type: boolean + default: false + style: form + indices.get_index_template::query.local: + in: query + name: local + description: If true, the request retrieves information from the local node only. Defaults to false, which means information is retrieved from the master node. + schema: + type: boolean + default: false + style: form + indices.get_index_template::query.master_timeout: + in: query + name: master_timeout + description: Period to wait for a connection to the master node. If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.get_mapping::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams, indices, and aliases used to limit the request. + Supports wildcards (`*`). + To target all data streams and indices, omit this parameter or use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.get_mapping::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If `false`, the request returns an error if any wildcard expression, index alias, or `_all` value targets only missing or closed indices. + This behavior applies even if the request targets other open indices. + schema: + type: boolean + style: form + indices.get_mapping::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.get_mapping::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. + If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. + Supports comma-separated values, such as `open,hidden`. + Valid values are: `all`, `open`, `closed`, `hidden`, `none`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + indices.get_mapping::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `false`, the request returns an error if it targets a missing or closed index. + schema: + type: boolean + style: form + indices.get_mapping::query.index: + in: query + name: index + description: |- + Comma-separated list of data streams, indices, and aliases used to limit the request. + Supports wildcards (`*`). + To target all data streams and indices, omit this parameter or use `*` or `_all`. + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.get_mapping::query.local: + in: query + name: local + description: If `true`, the request retrieves information from the local node only. + schema: + type: boolean + default: false + style: form + indices.get_mapping::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.get_settings::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams, indices, and aliases used to limit + the request. Supports wildcards (`*`). To target all data streams and + indices, omit this parameter or use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.get_settings::path.name: + in: path + name: name + description: Comma-separated list or wildcard expression of settings to retrieve. + required: true + schema: + $ref: '#/components/schemas/_common:Names' + style: simple + indices.get_settings::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If `false`, the request returns an error if any wildcard expression, index + alias, or `_all` value targets only missing or closed indices. This + behavior applies even if the request targets other open indices. For + example, a request targeting `foo*,bar*` returns an error if an index + starts with foo but no index starts with `bar`. + schema: + type: boolean + style: form + indices.get_settings::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.get_settings::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. + If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. + Supports comma-separated values, such as `open,hidden`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + indices.get_settings::query.flat_settings: + in: query + name: flat_settings + description: If `true`, returns settings in flat format. + schema: + type: boolean + default: false + style: form + indices.get_settings::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `false`, the request returns an error if it targets a missing or closed index. + schema: + type: boolean + style: form + indices.get_settings::query.include_defaults: + in: query + name: include_defaults + description: If `true`, return all default settings in the response. + schema: + type: boolean + default: false + style: form + indices.get_settings::query.local: + in: query + name: local + description: |- + If `true`, the request retrieves information from the local node only. If + `false`, information is retrieved from the master node. + schema: + type: boolean + default: false + style: form + indices.get_settings::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. If no response is + received before the timeout expires, the request fails and returns an + error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.get_template::path.name: + in: path + name: name + description: |- + Comma-separated list of index template names used to limit the request. + Wildcard (`*`) expressions are supported. + To return all index templates, omit this parameter or use a value of `_all` or `*`. + required: true + schema: + $ref: '#/components/schemas/_common:Names' + style: simple + indices.get_template::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.get_template::query.flat_settings: + in: query + name: flat_settings + description: If `true`, returns settings in flat format. + schema: + type: boolean + default: false + style: form + indices.get_template::query.local: + in: query + name: local + description: If `true`, the request retrieves information from the local node only. + schema: + type: boolean + default: false + style: form + indices.get_template::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.get_upgrade::path.index: + name: index + in: path + description: Comma-separated list of indices; use `_all` or empty string to perform the operation on all indices. + schema: + type: array + description: Comma-separated list of indices; use `_all` or empty string to perform the operation on all indices. + items: + type: string + required: true + indices.get_upgrade::query.allow_no_indices: + name: allow_no_indices + in: query + description: Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified). + schema: + type: boolean + description: Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified). + indices.get_upgrade::query.expand_wildcards: + name: expand_wildcards + in: query + description: Whether to expand wildcard expression to concrete indices that are open, closed or both. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + indices.get_upgrade::query.ignore_unavailable: + name: ignore_unavailable + in: query + description: Whether specified concrete indices should be ignored when unavailable (missing or closed). + schema: + type: boolean + description: Whether specified concrete indices should be ignored when unavailable (missing or closed). + indices.get::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams, indices, and index aliases used to limit the request. + Wildcard expressions (*) are supported. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.get::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If false, the request returns an error if any wildcard expression, index alias, or _all value targets only + missing or closed indices. This behavior applies even if the request targets other open indices. For example, + a request targeting foo*,bar* returns an error if an index starts with foo but no index starts with bar. + schema: + type: boolean + default: false + style: form + indices.get::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.get::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard expressions can match. If the request can target data streams, this argument + determines whether wildcard expressions match hidden data streams. Supports comma-separated values, + such as open,hidden. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + indices.get::query.flat_settings: + in: query + name: flat_settings + description: If true, returns settings in flat format. + schema: + type: boolean + default: false + style: form + indices.get::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If false, requests that target a missing index return an error. + schema: + type: boolean + default: false + style: form + indices.get::query.include_defaults: + in: query + name: include_defaults + description: If true, return all default settings in the response. + schema: + type: boolean + default: false + style: form + indices.get::query.local: + in: query + name: local + description: If true, the request retrieves information from the local node only. Defaults to false, which means information is retrieved from the master node. + schema: + type: boolean + default: false + style: form + indices.get::query.master_timeout: + in: query + name: master_timeout + description: Period to wait for a connection to the master node. If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.open::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams, indices, and aliases used to limit the request. + Supports wildcards (`*`). + By default, you must explicitly name the indices you using to limit the request. + To limit a request using `_all`, `*`, or other wildcard expressions, change the `action.destructive_requires_name` setting to false. + You can update this setting in the `opensearch.yml` file or using the cluster update settings API. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.open::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If `false`, the request returns an error if any wildcard expression, index alias, or `_all` value targets only missing or closed indices. + This behavior applies even if the request targets other open indices. + schema: + type: boolean + style: form + indices.open::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.open::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. + If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. + Supports comma-separated values, such as `open,hidden`. + Valid values are: `all`, `open`, `closed`, `hidden`, `none`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + indices.open::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `false`, the request returns an error if it targets a missing or closed index. + schema: + type: boolean + style: form + indices.open::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.open::query.task_execution_timeout: + name: task_execution_timeout + in: query + description: Explicit task execution timeout, only useful when wait_for_completion is false, defaults to 1h. + schema: + $ref: '#/components/schemas/_common:Duration' + indices.open::query.timeout: + in: query + name: timeout + description: |- + Period to wait for a response. + If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + indices.open::query.wait_for_active_shards: + in: query + name: wait_for_active_shards + description: |- + The number of shard copies that must be active before proceeding with the operation. + Set to `all` or any positive integer up to the total number of shards in the index (`number_of_replicas+1`). + schema: + $ref: '#/components/schemas/_common:WaitForActiveShards' + style: form + indices.open::query.wait_for_completion: + x-version-added: '2.7' + name: wait_for_completion + in: query + description: Should this request wait until the operation has completed before returning. + schema: + type: boolean + default: true + description: Should this request wait until the operation has completed before returning. + indices.put_alias::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams or indices to add. + Supports wildcards (`*`). + Wildcard patterns that match both data streams and indices return an error. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.put_alias::path.name: + in: path + name: name + description: |- + Alias to update. + If the alias doesn't exist, the request creates it. + Index alias names support date math. + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + indices.put_alias::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.put_alias::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.put_alias::query.timeout: + in: query + name: timeout + description: |- + Period to wait for a response. + If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + indices.put_index_template::path.name: + in: path + name: name + description: Index or template name + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + indices.put_index_template::query.cause: + name: cause + in: query + description: User defined reason for creating/updating the index template. + schema: + type: string + default: 'false' + description: User defined reason for creating/updating the index template. + indices.put_index_template::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.put_index_template::query.create: + in: query + name: create + description: If `true`, this request cannot replace or update existing index templates. + schema: + type: boolean + default: false + style: form + indices.put_index_template::query.master_timeout: + name: master_timeout + in: query + description: Operation timeout for connection to master node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + deprecated: true + indices.put_mapping::path.index: + in: path + name: index + description: A comma-separated list of index names the mapping should be added to (supports wildcards); use `_all` or omit to add the mapping on all indices. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.put_mapping::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If `false`, the request returns an error if any wildcard expression, index alias, or `_all` value targets only missing or closed indices. + This behavior applies even if the request targets other open indices. + schema: + type: boolean + style: form + indices.put_mapping::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.put_mapping::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. + If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. + Supports comma-separated values, such as `open,hidden`. + Valid values are: `all`, `open`, `closed`, `hidden`, `none`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + indices.put_mapping::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `false`, the request returns an error if it targets a missing or closed index. + schema: + type: boolean + style: form + indices.put_mapping::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.put_mapping::query.timeout: + in: query + name: timeout + description: |- + Period to wait for a response. + If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + indices.put_mapping::query.write_index_only: + in: query + name: write_index_only + description: If `true`, the mappings are applied only to the current write index for the target. + schema: + type: boolean + default: false + style: form + indices.put_settings::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams, indices, and aliases used to limit + the request. Supports wildcards (`*`). To target all data streams and + indices, omit this parameter or use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.put_settings::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If `false`, the request returns an error if any wildcard expression, index + alias, or `_all` value targets only missing or closed indices. This + behavior applies even if the request targets other open indices. For + example, a request targeting `foo*,bar*` returns an error if an index + starts with `foo` but no index starts with `bar`. + schema: + type: boolean + style: form + indices.put_settings::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.put_settings::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. If the request can target + data streams, this argument determines whether wildcard expressions match + hidden data streams. Supports comma-separated values, such as + `open,hidden`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + indices.put_settings::query.flat_settings: + in: query + name: flat_settings + description: If `true`, returns settings in flat format. + schema: + type: boolean + default: false + style: form + indices.put_settings::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: Whether specified concrete indices should be ignored when unavailable (missing or closed). + schema: + type: boolean + style: form + indices.put_settings::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. If no response is + received before the timeout expires, the request fails and returns an + error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.put_settings::query.preserve_existing: + in: query + name: preserve_existing + description: If `true`, existing index settings remain unchanged. + schema: + type: boolean + default: false + style: form + indices.put_settings::query.timeout: + in: query + name: timeout + description: |- + Period to wait for a response. If no response is received before the + timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + indices.put_template::path.name: + in: path + name: name + description: The name of the template + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + indices.put_template::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.put_template::query.create: + in: query + name: create + description: If true, this request cannot replace or update existing index templates. + schema: + type: boolean + default: false + style: form + indices.put_template::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. If no response is + received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.put_template::query.order: + in: query + name: order + description: |- + Order in which OpenSearch applies this template if index + matches multiple templates. + + Templates with lower 'order' values are merged first. Templates with higher + 'order' values are merged later, overriding templates with lower values. + schema: + type: number + style: form + indices.recovery::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams, indices, and aliases used to limit the request. + Supports wildcards (`*`). + To target all data streams and indices, omit this parameter or use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.recovery::query.active_only: + in: query + name: active_only + description: If `true`, the response only includes ongoing shard recoveries. + schema: + type: boolean + default: false + style: form + indices.recovery::query.detailed: + in: query + name: detailed + description: If `true`, the response includes detailed information about shard recoveries. + schema: + type: boolean + default: false + style: form + indices.refresh::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams, indices, and aliases used to limit the request. + Supports wildcards (`*`). + To target all data streams and indices, omit this parameter or use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.refresh::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If `false`, the request returns an error if any wildcard expression, index alias, or `_all` value targets only missing or closed indices. + This behavior applies even if the request targets other open indices. + schema: + type: boolean + style: form + indices.refresh::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. + If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. + Supports comma-separated values, such as `open,hidden`. + Valid values are: `all`, `open`, `closed`, `hidden`, `none`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + indices.refresh::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `false`, the request returns an error if it targets a missing or closed index. + schema: + type: boolean + style: form + indices.resolve_index::path.name: + in: path + name: name + description: |- + Comma-separated name(s) or index pattern(s) of the indices, aliases, and data streams to resolve. + Resources on remote clusters can be specified using the ``:`` syntax. + required: true + schema: + $ref: '#/components/schemas/_common:Names' + style: simple + indices.resolve_index::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. + If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. + Supports comma-separated values, such as `open,hidden`. + Valid values are: `all`, `open`, `closed`, `hidden`, `none`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + indices.rollover::path.alias: + in: path + name: alias + description: Name of the data stream or index alias to roll over. + required: true + schema: + $ref: '#/components/schemas/_common:IndexAlias' + style: simple + indices.rollover::path.new_index: + in: path + name: new_index + description: |- + Name of the index to create. + Supports date math. + Data streams do not support this parameter. + required: true + schema: + $ref: '#/components/schemas/_common:IndexName' + style: simple + indices.rollover::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.rollover::query.dry_run: + in: query + name: dry_run + description: If `true`, checks whether the current index satisfies the specified conditions but does not perform a rollover. + schema: + type: boolean + default: false + style: form + indices.rollover::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.rollover::query.timeout: + in: query + name: timeout + description: |- + Period to wait for a response. + If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + indices.rollover::query.wait_for_active_shards: + in: query + name: wait_for_active_shards + description: |- + The number of shard copies that must be active before proceeding with the operation. + Set to all or any positive integer up to the total number of shards in the index (`number_of_replicas+1`). + schema: + $ref: '#/components/schemas/_common:WaitForActiveShards' + style: form + indices.segments::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams, indices, and aliases used to limit the request. + Supports wildcards (`*`). + To target all data streams and indices, omit this parameter or use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.segments::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If `false`, the request returns an error if any wildcard expression, index alias, or `_all` value targets only missing or closed indices. + This behavior applies even if the request targets other open indices. + schema: + type: boolean + style: form + indices.segments::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. + If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. + Supports comma-separated values, such as `open,hidden`. + Valid values are: `all`, `open`, `closed`, `hidden`, `none`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + indices.segments::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `false`, the request returns an error if it targets a missing or closed index. + schema: + type: boolean + style: form + indices.segments::query.verbose: + in: query + name: verbose + description: If `true`, the request returns a verbose response. + schema: + type: boolean + default: false + style: form + indices.shard_stores::path.index: + in: path + name: index + description: List of data streams, indices, and aliases used to limit the request. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.shard_stores::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If false, the request returns an error if any wildcard expression, index alias, or _all + value targets only missing or closed indices. This behavior applies even if the request + targets other open indices. + schema: + type: boolean + style: form + indices.shard_stores::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. If the request can target data streams, + this argument determines whether wildcard expressions match hidden data streams. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + indices.shard_stores::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If true, missing or closed indices are not included in the response. + schema: + type: boolean + style: form + indices.shard_stores::query.status: + in: query + name: status + description: List of shard health statuses used to limit the request. + schema: + oneOf: + - $ref: '#/components/schemas/indices.shard_stores:ShardStoreStatus' + - type: array + items: + $ref: '#/components/schemas/indices.shard_stores:ShardStoreStatus' + style: form + indices.shrink::path.index: + in: path + name: index + description: Name of the source index to shrink. + required: true + schema: + $ref: '#/components/schemas/_common:IndexName' + style: simple + indices.shrink::path.target: + in: path + name: target + description: Name of the target index to create. + required: true + schema: + $ref: '#/components/schemas/_common:IndexName' + style: simple + indices.shrink::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.shrink::query.copy_settings: + name: copy_settings + in: query + description: whether or not to copy settings from the source index. + schema: + type: boolean + default: false + description: whether or not to copy settings from the source index. + indices.shrink::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.shrink::query.task_execution_timeout: + name: task_execution_timeout + in: query + description: Explicit task execution timeout, only useful when wait_for_completion is false, defaults to 1h. + schema: + $ref: '#/components/schemas/_common:Duration' + indices.shrink::query.timeout: + in: query + name: timeout + description: |- + Period to wait for a response. + If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + indices.shrink::query.wait_for_active_shards: + in: query + name: wait_for_active_shards + description: |- + The number of shard copies that must be active before proceeding with the operation. + Set to `all` or any positive integer up to the total number of shards in the index (`number_of_replicas+1`). + schema: + $ref: '#/components/schemas/_common:WaitForActiveShards' + style: form + indices.shrink::query.wait_for_completion: + x-version-added: '2.7' + name: wait_for_completion + in: query + description: Should this request wait until the operation has completed before returning. + schema: + type: boolean + default: true + description: Should this request wait until the operation has completed before returning. + indices.simulate_index_template::path.name: + in: path + name: name + description: Index or template name to simulate + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + indices.simulate_index_template::query.cause: + name: cause + in: query + description: User defined reason for dry-run creating the new template for simulation purposes. + schema: + type: string + default: 'false' + description: User defined reason for dry-run creating the new template for simulation purposes. + indices.simulate_index_template::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.simulate_index_template::query.create: + in: query + name: create + description: |- + If `true`, the template passed in the body is only used if no existing + templates match the same index patterns. If `false`, the simulation uses + the template with the highest priority. Note that the template is not + permanently added or updated in either case; it is only used for the + simulation. + schema: + type: boolean + default: false + style: form + indices.simulate_index_template::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. If no response is received + before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.simulate_template::path.name: + in: path + name: name + description: |- + Name of the index template to simulate. To test a template configuration before you add it to the cluster, omit + this parameter and specify the template configuration in the request body. + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + indices.simulate_template::query.cause: + name: cause + in: query + description: User defined reason for dry-run creating the new template for simulation purposes. + schema: + type: string + default: 'false' + description: User defined reason for dry-run creating the new template for simulation purposes. + indices.simulate_template::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.simulate_template::query.create: + in: query + name: create + description: If true, the template passed in the body is only used if no existing templates match the same index patterns. If false, the simulation uses the template with the highest priority. Note that the template is not permanently added or updated in either case; it is only used for the simulation. + schema: + type: boolean + default: false + style: form + indices.simulate_template::query.master_timeout: + in: query + name: master_timeout + description: Period to wait for a connection to the master node. If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.split::path.index: + in: path + name: index + description: Name of the source index to split. + required: true + schema: + $ref: '#/components/schemas/_common:IndexName' + style: simple + indices.split::path.target: + in: path + name: target + description: Name of the target index to create. + required: true + schema: + $ref: '#/components/schemas/_common:IndexName' + style: simple + indices.split::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.split::query.copy_settings: + name: copy_settings + in: query + description: whether or not to copy settings from the source index. + schema: + type: boolean + default: false + description: whether or not to copy settings from the source index. + indices.split::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.split::query.task_execution_timeout: + name: task_execution_timeout + in: query + description: Explicit task execution timeout, only useful when wait_for_completion is false, defaults to 1h. + schema: + $ref: '#/components/schemas/_common:Duration' + indices.split::query.timeout: + in: query + name: timeout + description: |- + Period to wait for a response. + If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + indices.split::query.wait_for_active_shards: + in: query + name: wait_for_active_shards + description: |- + The number of shard copies that must be active before proceeding with the operation. + Set to `all` or any positive integer up to the total number of shards in the index (`number_of_replicas+1`). + schema: + $ref: '#/components/schemas/_common:WaitForActiveShards' + style: form + indices.split::query.wait_for_completion: + x-version-added: '2.7' + name: wait_for_completion + in: query + description: Should this request wait until the operation has completed before returning. + schema: + type: boolean + default: true + description: Should this request wait until the operation has completed before returning. + indices.stats::path.index: + in: path + name: index + description: A comma-separated list of index names; use `_all` or empty string to perform the operation on all indices + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.stats::path.metric: + in: path + name: metric + description: Limit the information returned the specific metrics. + required: true + schema: + $ref: '#/components/schemas/_common:Metrics' + style: simple + indices.stats::query.completion_fields: + in: query + name: completion_fields + description: Comma-separated list or wildcard expressions of fields to include in fielddata and suggest statistics. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + indices.stats::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. If the request can target data streams, this argument + determines whether wildcard expressions match hidden data streams. Supports comma-separated values, + such as `open,hidden`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + indices.stats::query.fielddata_fields: + in: query + name: fielddata_fields + description: Comma-separated list or wildcard expressions of fields to include in fielddata statistics. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + indices.stats::query.fields: + in: query + name: fields + description: Comma-separated list or wildcard expressions of fields to include in the statistics. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + indices.stats::query.forbid_closed_indices: + in: query + name: forbid_closed_indices + description: If true, statistics are not collected from closed indices. + schema: + type: boolean + default: true + style: form + indices.stats::query.groups: + in: query + name: groups + description: Comma-separated list of search groups to include in the search statistics. + schema: + oneOf: + - type: string + - type: array + items: + type: string + style: form + indices.stats::query.include_segment_file_sizes: + in: query + name: include_segment_file_sizes + description: If true, the call reports the aggregated disk usage of each one of the Lucene index files (only applies if segment stats are requested). + schema: + type: boolean + default: false + style: form + indices.stats::query.include_unloaded_segments: + in: query + name: include_unloaded_segments + description: If true, the response includes information from segments that are not loaded into memory. + schema: + type: boolean + default: false + style: form + indices.stats::query.level: + in: query + name: level + description: Indicates whether statistics are aggregated at the cluster, index, or shard level. + schema: + $ref: '#/components/schemas/_common:Level' + style: form + indices.update_aliases::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + indices.update_aliases::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + indices.update_aliases::query.timeout: + in: query + name: timeout + description: |- + Period to wait for a response. + If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + indices.upgrade::path.index: + name: index + in: path + description: Comma-separated list of indices; use `_all` or empty string to perform the operation on all indices. + schema: + type: array + description: Comma-separated list of indices; use `_all` or empty string to perform the operation on all indices. + items: + type: string + required: true + indices.upgrade::query.allow_no_indices: + name: allow_no_indices + in: query + description: Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified). + schema: + type: boolean + description: Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified). + indices.upgrade::query.expand_wildcards: + name: expand_wildcards + in: query + description: Whether to expand wildcard expression to concrete indices that are open, closed or both. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + indices.upgrade::query.ignore_unavailable: + name: ignore_unavailable + in: query + description: Whether specified concrete indices should be ignored when unavailable (missing or closed). + schema: + type: boolean + description: Whether specified concrete indices should be ignored when unavailable (missing or closed). + indices.upgrade::query.only_ancient_segments: + name: only_ancient_segments + in: query + description: If true, only ancient (an older Lucene major release) segments will be upgraded. + schema: + type: boolean + description: If true, only ancient (an older Lucene major release) segments will be upgraded. + indices.upgrade::query.wait_for_completion: + x-version-added: '2.7' + name: wait_for_completion + in: query + description: Should this request wait until the operation has completed before returning. + schema: + type: boolean + default: false + description: Should this request wait until the operation has completed before returning. + indices.validate_query::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams, indices, and aliases to search. + Supports wildcards (`*`). + To search all data streams or indices, omit this parameter or use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + indices.validate_query::query.all_shards: + in: query + name: all_shards + description: If `true`, the validation is executed on all shards instead of one random shard per index. + schema: + type: boolean + style: form + indices.validate_query::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If `false`, the request returns an error if any wildcard expression, index alias, or `_all` value targets only missing or closed indices. + This behavior applies even if the request targets other open indices. + schema: + type: boolean + style: form + indices.validate_query::query.analyze_wildcard: + in: query + name: analyze_wildcard + description: If `true`, wildcard and prefix queries are analyzed. + schema: + type: boolean + default: false + style: form + indices.validate_query::query.analyzer: + in: query + name: analyzer + description: |- + Analyzer to use for the query string. + This parameter can only be used when the `q` query string parameter is specified. + schema: + type: string + style: form + indices.validate_query::query.default_operator: + in: query + name: default_operator + description: 'The default operator for query string query: `AND` or `OR`.' + schema: + $ref: '#/components/schemas/_common.query_dsl:Operator' + style: form + indices.validate_query::query.df: + in: query + name: df + description: |- + Field to use as default where no field prefix is given in the query string. + This parameter can only be used when the `q` query string parameter is specified. + schema: + type: string + style: form + indices.validate_query::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. + If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. + Supports comma-separated values, such as `open,hidden`. + Valid values are: `all`, `open`, `closed`, `hidden`, `none`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + indices.validate_query::query.explain: + in: query + name: explain + description: If `true`, the response returns detailed information if an error has occurred. + schema: + type: boolean + style: form + indices.validate_query::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `false`, the request returns an error if it targets a missing or closed index. + schema: + type: boolean + style: form + indices.validate_query::query.lenient: + in: query + name: lenient + description: If `true`, format-based query failures (such as providing text to a numeric field) in the query string will be ignored. + schema: + type: boolean + style: form + indices.validate_query::query.q: + in: query + name: q + description: Query in the Lucene query string syntax. + schema: + type: string + style: form + indices.validate_query::query.rewrite: + in: query + name: rewrite + description: If `true`, returns a more detailed explanation showing the actual Lucene query that will be executed. + schema: + type: boolean + style: form + ingest.delete_pipeline::path.id: + in: path + name: id + description: |- + Pipeline ID or wildcard expression of pipeline IDs used to limit the request. + To delete all ingest pipelines in a cluster, use a value of `*`. + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + ingest.delete_pipeline::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + ingest.delete_pipeline::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + ingest.delete_pipeline::query.timeout: + in: query + name: timeout + description: |- + Period to wait for a response. + If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + ingest.get_pipeline::path.id: + in: path + name: id + description: |- + Comma-separated list of pipeline IDs to retrieve. + Wildcard (`*`) expressions are supported. + To get all ingest pipelines, omit this parameter or use `*`. + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + ingest.get_pipeline::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + ingest.get_pipeline::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + ingest.put_pipeline::path.id: + in: path + name: id + description: ID of the ingest pipeline to create or update. + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + ingest.put_pipeline::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + ingest.put_pipeline::query.master_timeout: + in: query + name: master_timeout + description: Period to wait for a connection to the master node. If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + ingest.put_pipeline::query.timeout: + in: query + name: timeout + description: Period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + ingest.simulate::path.id: + in: path + name: id + description: |- + Pipeline to test. + If you don't specify a `pipeline` in the request body, this parameter is required. + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + ingest.simulate::query.verbose: + in: query + name: verbose + description: If `true`, the response includes output data for each processor in the executed pipeline. + schema: + type: boolean + default: false + style: form + knn.delete_model::path.model_id: + name: model_id + in: path + description: The id of the model. + schema: + type: string + description: The id of the model. + required: true + knn.get_model::path.model_id: + name: model_id + in: path + description: The id of the model. + schema: + type: string + description: The id of the model. + required: true + knn.search_models::query._source: + name: _source + in: query + description: True or false to return the _source field or not, or a list of fields to return. + style: form + schema: + type: array + items: + type: string + description: True or false to return the _source field or not, or a list of fields to return. + explode: true + knn.search_models::query._source_excludes: + name: _source_excludes + in: query + description: List of fields to exclude from the returned _source field. + style: form + schema: + type: array + items: + type: string + description: List of fields to exclude from the returned _source field. + explode: true + knn.search_models::query._source_includes: + name: _source_includes + in: query + description: List of fields to extract and return from the _source field. + style: form + schema: + type: array + items: + type: string + description: List of fields to extract and return from the _source field. + explode: true + knn.search_models::query.allow_no_indices: + name: allow_no_indices + in: query + description: Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified). + schema: + type: boolean + description: Whether to ignore if a wildcard indices expression resolves into no concrete indices. (This includes `_all` string or when no indices have been specified). + knn.search_models::query.allow_partial_search_results: + name: allow_partial_search_results + in: query + description: Indicate if an error should be returned if there is a partial search failure or timeout. + schema: + type: boolean + default: true + description: Indicate if an error should be returned if there is a partial search failure or timeout. + knn.search_models::query.analyze_wildcard: + name: analyze_wildcard + in: query + description: Specify whether wildcard and prefix queries should be analyzed. + schema: + type: boolean + default: false + description: Specify whether wildcard and prefix queries should be analyzed. + knn.search_models::query.analyzer: + name: analyzer + in: query + description: The analyzer to use for the query string. + schema: + type: string + description: The analyzer to use for the query string. + knn.search_models::query.batched_reduce_size: + name: batched_reduce_size + in: query + description: The number of shard results that should be reduced at once on the coordinating node. This value should be used as a protection mechanism to reduce the memory overhead per search request if the potential number of shards in the request can be large. + schema: + type: integer + default: 512 + description: The number of shard results that should be reduced at once on the coordinating node. This value should be used as a protection mechanism to reduce the memory overhead per search request if the potential number of shards in the request can be large. + format: int32 + knn.search_models::query.ccs_minimize_roundtrips: + name: ccs_minimize_roundtrips + in: query + description: Indicates whether network round-trips should be minimized as part of cross-cluster search requests execution. + schema: + type: boolean + default: true + description: Indicates whether network round-trips should be minimized as part of cross-cluster search requests execution. + knn.search_models::query.default_operator: + name: default_operator + in: query + description: The default operator for query string query (AND or OR). + schema: + $ref: '#/components/schemas/knn._common:DefaultOperator' + knn.search_models::query.df: + name: df + in: query + description: The field to use as default where no field prefix is given in the query string. + schema: + type: string + description: The field to use as default where no field prefix is given in the query string. + knn.search_models::query.docvalue_fields: + name: docvalue_fields + in: query + description: Comma-separated list of fields to return as the docvalue representation of a field for each hit. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of fields to return as the docvalue representation of a field for each hit. + explode: true + knn.search_models::query.expand_wildcards: + name: expand_wildcards + in: query + description: Whether to expand wildcard expression to concrete indices that are open, closed or both. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + knn.search_models::query.explain: + name: explain + in: query + description: Specify whether to return detailed information about score computation as part of a hit. + schema: + type: boolean + description: Specify whether to return detailed information about score computation as part of a hit. + knn.search_models::query.from: + name: from + in: query + description: Starting offset. + schema: + type: integer + default: 0 + description: Starting offset. + format: int32 + knn.search_models::query.ignore_throttled: + name: ignore_throttled + in: query + description: Whether specified concrete, expanded or aliased indices should be ignored when throttled. + schema: + type: boolean + description: Whether specified concrete, expanded or aliased indices should be ignored when throttled. + knn.search_models::query.ignore_unavailable: + name: ignore_unavailable + in: query + description: Whether specified concrete indices should be ignored when unavailable (missing or closed). + schema: + type: boolean + description: Whether specified concrete indices should be ignored when unavailable (missing or closed). + knn.search_models::query.lenient: + name: lenient + in: query + description: Specify whether format-based query failures (such as providing text to a numeric field) should be ignored. + schema: + type: boolean + description: Specify whether format-based query failures (such as providing text to a numeric field) should be ignored. + knn.search_models::query.max_concurrent_shard_requests: + name: max_concurrent_shard_requests + in: query + description: The number of concurrent shard requests per node this search executes concurrently. This value should be used to limit the impact of the search on the cluster in order to limit the number of concurrent shard requests. + schema: + type: integer + default: 5 + description: The number of concurrent shard requests per node this search executes concurrently. This value should be used to limit the impact of the search on the cluster in order to limit the number of concurrent shard requests. + format: int32 + knn.search_models::query.pre_filter_shard_size: + name: pre_filter_shard_size + in: query + description: Threshold that enforces a pre-filter round-trip to prefilter search shards based on query rewriting if the number of shards the search request expands to exceeds the threshold. This filter round-trip can limit the number of shards significantly if for instance a shard can not match any documents based on its rewrite method ie. if date filters are mandatory to match but the shard bounds and the query are disjoint. + schema: + type: integer + description: Threshold that enforces a pre-filter round-trip to prefilter search shards based on query rewriting if the number of shards the search request expands to exceeds the threshold. This filter round-trip can limit the number of shards significantly if for instance a shard can not match any documents based on its rewrite method ie. if date filters are mandatory to match but the shard bounds and the query are disjoint. + format: int32 + knn.search_models::query.preference: + name: preference + in: query + description: Specify the node or shard the operation should be performed on. + schema: + type: string + default: random + description: Specify the node or shard the operation should be performed on. + knn.search_models::query.q: + name: q + in: query + description: Query in the Lucene query string syntax. + schema: + type: string + description: Query in the Lucene query string syntax. + knn.search_models::query.request_cache: + name: request_cache + in: query + description: Specify if request cache should be used for this request or not, defaults to index level setting. + schema: + type: boolean + description: Specify if request cache should be used for this request or not, defaults to index level setting. + knn.search_models::query.rest_total_hits_as_int: + name: rest_total_hits_as_int + in: query + description: Indicates whether hits.total should be rendered as an integer or an object in the rest search response. + schema: + type: boolean + default: false + description: Indicates whether hits.total should be rendered as an integer or an object in the rest search response. + knn.search_models::query.routing: + name: routing + in: query + description: Comma-separated list of specific routing values. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of specific routing values. + explode: true + knn.search_models::query.scroll: + name: scroll + in: query + description: Specify how long a consistent view of the index should be maintained for scrolled search. + schema: + $ref: '#/components/schemas/_common:Duration' + knn.search_models::query.search_type: + name: search_type + in: query + description: Search operation type. + schema: + $ref: '#/components/schemas/knn._common:SearchType' + knn.search_models::query.seq_no_primary_term: + name: seq_no_primary_term + in: query + description: Specify whether to return sequence number and primary term of the last modification of each hit. + schema: + type: boolean + description: Specify whether to return sequence number and primary term of the last modification of each hit. + knn.search_models::query.size: + name: size + in: query + description: Number of hits to return. + schema: + type: integer + default: 10 + description: Number of hits to return. + format: int32 + knn.search_models::query.sort: + name: sort + in: query + description: Comma-separated list of : pairs. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of : pairs. + explode: true + knn.search_models::query.stats: + name: stats + in: query + description: Specific 'tag' of the request for logging and statistical purposes. + style: form + schema: + type: array + items: + type: string + description: Specific 'tag' of the request for logging and statistical purposes. + explode: true + knn.search_models::query.stored_fields: + name: stored_fields + in: query + description: Comma-separated list of stored fields to return. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of stored fields to return. + explode: true + knn.search_models::query.suggest_field: + name: suggest_field + in: query + description: Specify which field to use for suggestions. + schema: + type: string + description: Specify which field to use for suggestions. + knn.search_models::query.suggest_mode: + name: suggest_mode + in: query + description: Specify suggest mode. + schema: + $ref: '#/components/schemas/knn._common:SuggestMode' + knn.search_models::query.suggest_size: + name: suggest_size + in: query + description: How many suggestions to return in response. + schema: + type: integer + description: How many suggestions to return in response. + format: int32 + knn.search_models::query.suggest_text: + name: suggest_text + in: query + description: The source text for which the suggestions should be returned. + schema: + type: string + description: The source text for which the suggestions should be returned. + knn.search_models::query.terminate_after: + name: terminate_after + in: query + description: The maximum number of documents to collect for each shard, upon reaching which the query execution will terminate early. + schema: + type: integer + description: The maximum number of documents to collect for each shard, upon reaching which the query execution will terminate early. + format: int32 + knn.search_models::query.timeout: + name: timeout + in: query + description: Operation timeout. + schema: + $ref: '#/components/schemas/_common:Duration' + knn.search_models::query.track_scores: + name: track_scores + in: query + description: Whether to calculate and return scores even if they are not used for sorting. + schema: + type: boolean + description: Whether to calculate and return scores even if they are not used for sorting. + knn.search_models::query.track_total_hits: + name: track_total_hits + in: query + description: Indicate if the number of documents that match the query should be tracked. + schema: + type: boolean + description: Indicate if the number of documents that match the query should be tracked. + knn.search_models::query.typed_keys: + name: typed_keys + in: query + description: Specify whether aggregation and suggester names should be prefixed by their respective types in the response. + schema: + type: boolean + description: Specify whether aggregation and suggester names should be prefixed by their respective types in the response. + knn.search_models::query.version: + name: version + in: query + description: Whether to return document version as part of a hit. + schema: + type: boolean + description: Whether to return document version as part of a hit. + knn.stats::path.node_id: + name: node_id + in: path + description: Comma-separated list of node IDs or names to limit the returned information; use `_local` to return information from the node you're connecting to, leave empty to get information from all nodes. + schema: + type: array + description: Comma-separated list of node IDs or names to limit the returned information; use `_local` to return information from the node you're connecting to, leave empty to get information from all nodes. + items: + type: string + required: true + knn.stats::path.stat: + name: stat + in: path + description: Comma-separated list of stats to retrieve; use `_all` or empty string to retrieve all stats. + schema: + type: array + description: Comma-separated list of stats to retrieve; use `_all` or empty string to retrieve all stats. + items: + type: string + enum: + - cache_capacity_reached + - circuit_breaker_triggered + - eviction_count + - faiss_initialized + - graph_index_errors + - graph_index_requests + - graph_memory_usage + - graph_memory_usage_percentage + - graph_query_errors + - graph_query_requests + - hit_count + - indexing_from_model_degraded + - indices_in_cache + - knn_query_requests + - load_exception_count + - load_success_count + - miss_count + - model_index_status + - nmslib_initialized + - script_compilation_errors + - script_compilations + - script_query_errors + - script_query_requests + - total_load_time + - training_errors + - training_memory_usage + - training_memory_usage_percentage + - training_requests + required: true + knn.stats::query.timeout: + name: timeout + in: query + description: Operation timeout. + schema: + $ref: '#/components/schemas/_common:Duration' + knn.train_model::path.model_id: + name: model_id + in: path + description: The id of the model. + schema: + type: string + description: The id of the model. + required: true + knn.train_model::query.preference: + name: preference + in: query + description: Preferred node to execute training. + schema: + type: string + description: Preferred node to execute training. + knn.warmup::path.index: + name: index + in: path + description: Comma-separated list of indices; use `_all` or empty string to perform the operation on all indices. + schema: + type: array + description: Comma-separated list of indices; use `_all` or empty string to perform the operation on all indices. + items: + type: string + required: true + mget::path.index: + in: path + name: index + description: Name of the index to retrieve documents from when `ids` are specified, or when a document in the `docs` array does not specify an index. + required: true + schema: + $ref: '#/components/schemas/_common:IndexName' + style: simple + mget::query._source: + in: query + name: _source + description: True or false to return the `_source` field or not, or a list of fields to return. + schema: + $ref: '#/components/schemas/_core.search:SourceConfigParam' + style: form + mget::query._source_excludes: + in: query + name: _source_excludes + description: |- + A comma-separated list of source fields to exclude from the response. + You can also use this parameter to exclude fields from the subset specified in `_source_includes` query parameter. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + mget::query._source_includes: + in: query + name: _source_includes + description: |- + A comma-separated list of source fields to include in the response. + If this parameter is specified, only these source fields are returned. You can exclude fields from this subset using the `_source_excludes` query parameter. + If the `_source` parameter is `false`, this parameter is ignored. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + mget::query.preference: + in: query + name: preference + description: Specifies the node or shard the operation should be performed on. Random by default. + schema: + type: string + default: random + style: form + mget::query.realtime: + in: query + name: realtime + description: If `true`, the request is real-time as opposed to near-real-time. + schema: + type: boolean + style: form + mget::query.refresh: + in: query + name: refresh + description: If `true`, the request refreshes relevant shards before retrieving documents. + schema: + type: boolean + style: form + mget::query.routing: + in: query + name: routing + description: Custom value used to route operations to a specific shard. + schema: + $ref: '#/components/schemas/_common:Routing' + style: form + mget::query.stored_fields: + in: query + name: stored_fields + description: If `true`, retrieves the document fields stored in the index rather than the document `_source`. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + ml.delete_model_group::path.model_group_id: + name: model_group_id + in: path + required: true + schema: + type: string + ml.delete_model::path.model_id: + name: model_id + in: path + required: true + schema: + type: string + ml.delete_task::path.task_id: + name: task_id + in: path + required: true + schema: + type: string + ml.deploy_model::path.model_id: + name: model_id + in: path + required: true + schema: + type: string + ml.get_model_group::path.model_group_id: + name: model_group_id + in: path + required: true + schema: + type: string + ml.get_task::path.task_id: + name: task_id + in: path + required: true + schema: + type: string + ml.undeploy_model::path.model_id: + name: model_id + in: path + required: true + schema: + type: string + msearch_template::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams, indices, and aliases to search. + Supports wildcards (`*`). + To search all data streams and indices, omit this parameter or use `*`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + msearch_template::query.ccs_minimize_roundtrips: + in: query + name: ccs_minimize_roundtrips + description: If `true`, network round-trips are minimized for cross-cluster search requests. + schema: + type: boolean + default: true + style: form + msearch_template::query.max_concurrent_searches: + in: query + name: max_concurrent_searches + description: Maximum number of concurrent searches the API can run. + schema: + type: number + style: form + msearch_template::query.rest_total_hits_as_int: + in: query + name: rest_total_hits_as_int + description: |- + If `true`, the response returns `hits.total` as an integer. + If `false`, it returns `hits.total` as an object. + schema: + type: boolean + default: false + style: form + msearch_template::query.search_type: + in: query + name: search_type + description: |- + The type of the search operation. + Available options: `query_then_fetch`, `dfs_query_then_fetch`. + schema: + $ref: '#/components/schemas/_common:SearchType' + style: form + msearch_template::query.typed_keys: + in: query + name: typed_keys + description: If `true`, the response prefixes aggregation and suggester names with their respective types. + schema: + type: boolean + style: form + msearch::path.index: + in: path + name: index + description: Comma-separated list of data streams, indices, and index aliases to search. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + msearch::query.ccs_minimize_roundtrips: + in: query + name: ccs_minimize_roundtrips + description: If true, network roundtrips between the coordinating node and remote clusters are minimized for cross-cluster search requests. + schema: + type: boolean + default: true + style: form + msearch::query.max_concurrent_searches: + in: query + name: max_concurrent_searches + description: Maximum number of concurrent searches the multi search API can execute. + schema: + type: number + style: form + msearch::query.max_concurrent_shard_requests: + in: query + name: max_concurrent_shard_requests + description: Maximum number of concurrent shard requests that each sub-search request executes per node. + schema: + type: number + default: 5 + style: form + msearch::query.pre_filter_shard_size: + in: query + name: pre_filter_shard_size + description: Defines a threshold that enforces a pre-filter roundtrip to prefilter search shards based on query rewriting if the number of shards the search request expands to exceeds the threshold. This filter roundtrip can limit the number of shards significantly if for instance a shard can not match any documents based on its rewrite method i.e., if date filters are mandatory to match but the shard bounds and the query are disjoint. + schema: + type: number + style: form + msearch::query.rest_total_hits_as_int: + in: query + name: rest_total_hits_as_int + description: If true, hits.total are returned as an integer in the response. Defaults to false, which returns an object. + schema: + type: boolean + default: false + style: form + msearch::query.search_type: + in: query + name: search_type + description: Indicates whether global term and document frequencies should be used when scoring returned documents. + schema: + $ref: '#/components/schemas/_common:SearchType' + style: form + msearch::query.typed_keys: + in: query + name: typed_keys + description: Specifies whether aggregation and suggester names should be prefixed by their respective types in the response. + schema: + type: boolean + style: form + mtermvectors::path.index: + in: path + name: index + description: Name of the index that contains the documents. + required: true + schema: + $ref: '#/components/schemas/_common:IndexName' + style: simple + mtermvectors::query.field_statistics: + in: query + name: field_statistics + description: If `true`, the response includes the document count, sum of document frequencies, and sum of total term frequencies. + schema: + type: boolean + default: true + style: form + mtermvectors::query.fields: + in: query + name: fields + description: |- + Comma-separated list or wildcard expressions of fields to include in the statistics. + Used as the default list unless a specific field list is provided in the `completion_fields` or `fielddata_fields` parameters. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + mtermvectors::query.ids: + in: query + name: ids + description: A comma-separated list of documents ids. You must define ids as parameter or set "ids" or "docs" in the request body + schema: + type: array + items: + $ref: '#/components/schemas/_common:Id' + style: form + mtermvectors::query.offsets: + in: query + name: offsets + description: If `true`, the response includes term offsets. + schema: + type: boolean + default: true + style: form + mtermvectors::query.payloads: + in: query + name: payloads + description: If `true`, the response includes term payloads. + schema: + type: boolean + default: true + style: form + mtermvectors::query.positions: + in: query + name: positions + description: If `true`, the response includes term positions. + schema: + type: boolean + default: true + style: form + mtermvectors::query.preference: + in: query + name: preference + description: |- + Specifies the node or shard the operation should be performed on. + Random by default. + schema: + type: string + default: random + style: form + mtermvectors::query.realtime: + in: query + name: realtime + description: If true, the request is real-time as opposed to near-real-time. + schema: + type: boolean + default: true + style: form + mtermvectors::query.routing: + in: query + name: routing + description: Custom value used to route operations to a specific shard. + schema: + $ref: '#/components/schemas/_common:Routing' + style: form + mtermvectors::query.term_statistics: + in: query + name: term_statistics + description: If true, the response includes term frequency and document frequency. + schema: + type: boolean + default: false + style: form + mtermvectors::query.version: + in: query + name: version + description: If `true`, returns the document version as part of a hit. + schema: + $ref: '#/components/schemas/_common:VersionNumber' + style: form + mtermvectors::query.version_type: + in: query + name: version_type + description: Specific version type. + schema: + $ref: '#/components/schemas/_common:VersionType' + style: form + nodes.hot_threads::path.node_id: + name: node_id + in: path + description: Comma-separated list of node IDs or names to limit the returned information; use `_local` to return information from the node you're connecting to, leave empty to get information from all nodes. + schema: + type: array + description: Comma-separated list of node IDs or names to limit the returned information; use `_local` to return information from the node you're connecting to, leave empty to get information from all nodes. + items: + type: string + required: true + nodes.hot_threads::query.ignore_idle_threads: + name: ignore_idle_threads + in: query + description: Don't show threads that are in known-idle places, such as waiting on a socket select or pulling from an empty task queue. + schema: + type: boolean + default: true + description: Don't show threads that are in known-idle places, such as waiting on a socket select or pulling from an empty task queue. + nodes.hot_threads::query.interval: + name: interval + in: query + description: The interval for the second sampling of threads. + schema: + $ref: '#/components/schemas/_common:Duration' + nodes.hot_threads::query.snapshots: + name: snapshots + in: query + description: Number of samples of thread stacktrace. + schema: + type: integer + default: 10 + description: Number of samples of thread stacktrace. + format: int32 + nodes.hot_threads::query.threads: + name: threads + in: query + description: Specify the number of threads to provide information for. + schema: + type: integer + default: 3 + description: Specify the number of threads to provide information for. + format: int32 + nodes.hot_threads::query.timeout: + name: timeout + in: query + description: Operation timeout. + schema: + $ref: '#/components/schemas/_common:Duration' + nodes.hot_threads::query.type: + name: type + in: query + description: The type to sample. + schema: + $ref: '#/components/schemas/nodes._common:SampleType' + nodes.info::path.metric: + in: path + name: metric + description: Limits the information returned to the specific metrics. Supports a comma-separated list, such as http,ingest. + required: true + schema: + type: array + items: + $ref: '#/components/schemas/nodes.info:Metric' + style: simple + nodes.info::path.node_id: + in: path + name: node_id + description: Comma-separated list of node IDs or names used to limit returned information. + required: true + schema: + $ref: '#/components/schemas/_common:NodeIds' + style: simple + nodes.info::path.node_id_or_metric: + in: path + name: node_id_or_metric + description: | + Limits the information returned to a list of node IDs or specific metrics. + Supports a comma-separated list, such as node1,node2 or http,ingest. + required: true + schema: + anyOf: + - title: node_id + $ref: '#/components/schemas/_common:NodeIds' + - title: metric + type: array + items: + $ref: '#/components/schemas/nodes.info:Metric' + style: simple + nodes.info::query.flat_settings: + in: query + name: flat_settings + description: If true, returns settings in flat format. + schema: + type: boolean + default: false + style: form + nodes.info::query.timeout: + in: query + name: timeout + description: Period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + nodes.reload_secure_settings::path.node_id: + in: path + name: node_id + description: The names of particular nodes in the cluster to target. + required: true + schema: + $ref: '#/components/schemas/_common:NodeIds' + style: simple + nodes.reload_secure_settings::query.timeout: + in: query + name: timeout + description: |- + Period to wait for a response. + If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + nodes.stats::path.index_metric: + in: path + name: index_metric + description: Limit the information returned for indices metric to the specific index metrics. It can be used only if indices (or all) metric is specified. + required: true + schema: + type: array + items: + $ref: '#/components/schemas/nodes.stats:IndexMetric' + style: simple + nodes.stats::path.metric: + in: path + name: metric + description: Limit the information returned to the specified metrics + required: true + schema: + type: array + items: + $ref: '#/components/schemas/nodes.stats:Metric' + style: simple + nodes.stats::path.node_id: + in: path + name: node_id + description: Comma-separated list of node IDs or names used to limit returned information. + required: true + schema: + $ref: '#/components/schemas/_common:NodeIds' + style: simple + nodes.stats::query.completion_fields: + in: query + name: completion_fields + description: Comma-separated list or wildcard expressions of fields to include in fielddata and suggest statistics. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + nodes.stats::query.fielddata_fields: + in: query + name: fielddata_fields + description: Comma-separated list or wildcard expressions of fields to include in fielddata statistics. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + nodes.stats::query.fields: + in: query + name: fields + description: Comma-separated list or wildcard expressions of fields to include in the statistics. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + nodes.stats::query.groups: + in: query + name: groups + description: Comma-separated list of search groups to include in the search statistics. + schema: + type: array + items: + type: string + style: form + nodes.stats::query.include_segment_file_sizes: + in: query + name: include_segment_file_sizes + description: If true, the call reports the aggregated disk usage of each one of the Lucene index files (only applies if segment stats are requested). + schema: + type: boolean + default: false + style: form + nodes.stats::query.level: + in: query + name: level + description: Indicates whether statistics are aggregated at the cluster, index, or shard level. + schema: + $ref: '#/components/schemas/_common:Level' + style: form + nodes.stats::query.timeout: + in: query + name: timeout + description: Period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + nodes.stats::query.types: + in: query + name: types + description: A comma-separated list of document types for the indexing index metric. + schema: + type: array + items: + type: string + style: form + nodes.usage::path.metric: + in: path + name: metric + description: |- + Limits the information returned to the specific metrics. + A comma-separated list of the following options: `_all`, `rest_actions`. + required: true + schema: + type: array + items: + $ref: '#/components/schemas/nodes.usage:Metric' + style: simple + nodes.usage::path.node_id: + in: path + name: node_id + description: A comma-separated list of node IDs or names to limit the returned information; use `_local` to return information from the node you're connecting to, leave empty to get information from all nodes + required: true + schema: + $ref: '#/components/schemas/_common:NodeIds' + style: simple + nodes.usage::query.timeout: + in: query + name: timeout + description: |- + Period to wait for a response. + If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + notifications.delete_config::path.config_id: + name: config_id + in: path + description: The ID of the channel configuration to delete. + schema: + type: string + required: true + notifications.delete_configs::query.config_id: + name: config_id + in: query + description: The ID of the channel configuration to delete. + schema: + type: string + required: true + notifications.delete_configs::query.config_id_list: + name: config_id_list + in: query + description: A comma-separated list of channel IDs to delete. + schema: + type: string + notifications.get_config::path.config_id: + name: config_id + in: path + schema: + type: string + required: true + notifications.get_configs::query.chime.url: + name: chime.url + in: query + schema: + type: string + notifications.get_configs::query.chime.url.keyword: + name: chime.url.keyword + in: query + schema: + type: string + notifications.get_configs::query.config_type: + name: config_type + in: query + description: Type of notification configuration. + schema: + $ref: '#/components/schemas/notifications._common:NotificationConfigType' + notifications.get_configs::query.created_time_ms: + name: created_time_ms + in: query + schema: + type: integer + format: int64 + notifications.get_configs::query.description: + name: description + in: query + schema: + type: string + notifications.get_configs::query.description.keyword: + name: description.keyword + in: query + schema: + type: string + notifications.get_configs::query.email_group.recipient_list.recipient: + name: email_group.recipient_list.recipient + in: query + schema: + type: string + notifications.get_configs::query.email_group.recipient_list.recipient.keyword: + name: email_group.recipient_list.recipient.keyword + in: query + schema: + type: string + notifications.get_configs::query.email.email_account_id: + name: email.email_account_id + in: query + schema: + type: string + notifications.get_configs::query.email.email_group_id_list: + name: email.email_group_id_list + in: query + schema: + type: string + notifications.get_configs::query.email.recipient_list.recipient: + name: email.recipient_list.recipient + in: query + schema: + type: string + notifications.get_configs::query.email.recipient_list.recipient.keyword: + name: email.recipient_list.recipient.keyword + in: query + schema: + type: string + notifications.get_configs::query.is_enabled: + name: is_enabled + in: query + schema: + type: boolean + notifications.get_configs::query.last_updated_time_ms: + name: last_updated_time_ms + in: query + schema: + type: integer + format: int64 + notifications.get_configs::query.microsoft_teams.url: + name: microsoft_teams.url + in: query + schema: + type: string + notifications.get_configs::query.microsoft_teams.url.keyword: + name: microsoft_teams.url.keyword + in: query + schema: + type: string + notifications.get_configs::query.name: + name: name + in: query + schema: + type: string + notifications.get_configs::query.name.keyword: + name: name.keyword + in: query + schema: + type: string + notifications.get_configs::query.query: + name: query + in: query + schema: + type: string + notifications.get_configs::query.ses_account.from_address: + name: ses_account.from_address + in: query + schema: + type: string + notifications.get_configs::query.ses_account.from_address.keyword: + name: ses_account.from_address.keyword + in: query + schema: + type: string + notifications.get_configs::query.ses_account.region: + name: ses_account.region + in: query + schema: + type: string + notifications.get_configs::query.ses_account.role_arn: + name: ses_account.role_arn + in: query + schema: + type: string + notifications.get_configs::query.ses_account.role_arn.keyword: + name: ses_account.role_arn.keyword + in: query + schema: + type: string + notifications.get_configs::query.slack.url: + name: slack.url + in: query + schema: + type: string + notifications.get_configs::query.slack.url.keyword: + name: slack.url.keyword + in: query + schema: + type: string + notifications.get_configs::query.smtp_account.from_address: + name: smtp_account.from_address + in: query + schema: + type: string + notifications.get_configs::query.smtp_account.from_address.keyword: + name: smtp_account.from_address.keyword + in: query + schema: + type: string + notifications.get_configs::query.smtp_account.host: + name: smtp_account.host + in: query + schema: + type: string + notifications.get_configs::query.smtp_account.host.keyword: + name: smtp_account.host.keyword + in: query + schema: + type: string + notifications.get_configs::query.smtp_account.method: + name: smtp_account.method + in: query + schema: + type: string + notifications.get_configs::query.sns.role_arn: + name: sns.role_arn + in: query + schema: + type: string + notifications.get_configs::query.sns.role_arn.keyword: + name: sns.role_arn.keyword + in: query + schema: + type: string + notifications.get_configs::query.sns.topic_arn: + name: sns.topic_arn + in: query + schema: + type: string + notifications.get_configs::query.sns.topic_arn.keyword: + name: sns.topic_arn.keyword + in: query + schema: + type: string + notifications.get_configs::query.text_query: + name: text_query + in: query + schema: + type: string + notifications.get_configs::query.webhook.url: + name: webhook.url + in: query + schema: + type: string + notifications.get_configs::query.webhook.url.keyword: + name: webhook.url.keyword + in: query + schema: + type: string + notifications.send_test::path.config_id: + name: config_id + in: path + schema: + type: string + required: true + notifications.update_config::path.config_id: + name: config_id + in: path + schema: + type: string + required: true + observability.delete_object::path.object_id: + in: path + name: object_id + description: The ID of the Observability Object. + required: true + schema: + type: string + style: simple + observability.delete_objects::query.objectId: + in: query + name: objectId + description: The ID of a single Observability Object to delete. + required: false + schema: + type: string + style: form + observability.delete_objects::query.objectIdList: + in: query + name: objectIdList + description: A comma-separated list of Observability Object IDs to delete. + required: false + schema: + type: string + style: form + observability.get_object::path.object_id: + in: path + name: object_id + description: The ID of the Observability Object. + required: true + schema: + type: string + style: simple + observability.update_object::path.object_id: + in: path + name: object_id + description: The ID of the Observability Object. + required: true + schema: + type: string + style: simple + ppl.explain::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + ppl.explain::query.sanitize: + name: sanitize + in: query + description: Specifies whether to escape special characters in the results. + schema: + type: boolean + default: true + ppl.get_stats::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + ppl.get_stats::query.sanitize: + name: sanitize + in: query + description: Specifies whether to escape special characters in the results. + schema: + type: boolean + default: true + ppl.post_stats::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + ppl.post_stats::query.sanitize: + name: sanitize + in: query + description: Specifies whether to escape special characters in the results. + schema: + type: boolean + default: true + ppl.query::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + ppl.query::query.sanitize: + name: sanitize + in: query + description: Specifies whether to escape special characters in the results. + schema: + type: boolean + default: true + put_script::path.context: + in: path + name: context + description: |- + Context in which the script or search template should run. + To prevent errors, the API immediately compiles the script or template in this context. + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + put_script::path.id: + in: path + name: id + description: |- + Identifier for the stored script or search template. + Must be unique within the cluster. + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + put_script::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + put_script::query.master_timeout: + in: query + name: master_timeout + description: |- + Period to wait for a connection to the master node. + If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + put_script::query.timeout: + in: query + name: timeout + description: |- + Period to wait for a response. + If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + query.datasource_delete::path.datasource_name: + name: datasource_name + in: path + description: The Name of the DataSource to delete. + schema: + type: string + required: true + query.datasource_retrieve::path.datasource_name: + name: datasource_name + in: path + description: The Name of the DataSource to retrieve. + schema: + type: string + required: true + rank_eval::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams, indices, and index aliases used to limit the request. Wildcard (`*`) expressions are supported. + To target all data streams and indices in a cluster, omit this parameter or use `_all` or `*`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + rank_eval::query.allow_no_indices: + in: query + name: allow_no_indices + description: If `false`, the request returns an error if any wildcard expression, index alias, or `_all` value targets only missing or closed indices. This behavior applies even if the request targets other open indices. For example, a request targeting `foo*,bar*` returns an error if an index starts with `foo` but no index starts with `bar`. + schema: + type: boolean + style: form + rank_eval::query.expand_wildcards: + in: query + name: expand_wildcards + description: Whether to expand wildcard expression to concrete indices that are open, closed or both. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + rank_eval::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `true`, missing or closed indices are not included in the response. + schema: + type: boolean + style: form + rank_eval::query.search_type: + in: query + name: search_type + description: Search operation type + schema: + type: string + style: form + reindex_rethrottle::path.task_id: + in: path + name: task_id + description: Identifier for the task. + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + reindex_rethrottle::query.requests_per_second: + in: query + name: requests_per_second + description: The throttle for this request in sub-requests per second. + schema: + type: number + style: form + reindex::query.max_docs: + name: max_docs + in: query + description: Maximum number of documents to process. By default, all documents. + schema: + type: integer + description: Maximum number of documents to process. By default, all documents. + format: int32 + reindex::query.refresh: + in: query + name: refresh + description: If `true`, the request refreshes affected shards to make this operation visible to search. + schema: + type: boolean + style: form + reindex::query.requests_per_second: + in: query + name: requests_per_second + description: |- + The throttle for this request in sub-requests per second. + Defaults to no throttle. + schema: + type: number + default: 0 + style: form + reindex::query.scroll: + in: query + name: scroll + description: Specifies how long a consistent view of the index should be maintained for scrolled search. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + reindex::query.slices: + in: query + name: slices + description: |- + The number of slices this task should be divided into. + Defaults to 1 slice, meaning the task isn't sliced into subtasks. + schema: + $ref: '#/components/schemas/_common:Slices' + style: form + x-default: '1' + reindex::query.timeout: + in: query + name: timeout + description: Period each indexing waits for automatic index creation, dynamic mapping updates, and waiting for active shards. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-default: 1m + reindex::query.wait_for_active_shards: + in: query + name: wait_for_active_shards + description: |- + The number of shard copies that must be active before proceeding with the operation. + Set to `all` or any positive integer up to the total number of shards in the index (`number_of_replicas+1`). + schema: + $ref: '#/components/schemas/_common:WaitForActiveShards' + style: form + x-default: '1' + reindex::query.wait_for_completion: + in: query + name: wait_for_completion + description: If `true`, the request blocks until the operation is complete. + schema: + type: boolean + default: true + style: form + remote_store.restore::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + remote_store.restore::query.wait_for_completion: + name: wait_for_completion + in: query + description: Should this request wait until the operation has completed before returning. + schema: + type: boolean + default: false + description: Should this request wait until the operation has completed before returning. + render_search_template::path.id: + in: path + name: id + description: |- + ID of the search template to render. + If no `source` is specified, this or the `id` request body parameter is required. + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + rollups.delete::path.id: + name: id + in: path + description: Rollup to access + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + rollups.explain::path.id: + name: id + in: path + description: Rollup to access + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + rollups.get::path.id: + name: id + in: path + description: Rollup to access + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + rollups.put::path.id: + name: id + in: path + description: Rollup to access + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + rollups.put::query.if_primary_term: + name: if_primary_term + in: query + description: Only perform the operation if the document has this primary term. + schema: + type: number + style: form + rollups.put::query.if_seq_no: + name: if_seq_no + in: query + description: Only perform the operation if the document has this sequence number. + schema: + $ref: '#/components/schemas/_common:SequenceNumber' + style: form + rollups.start::path.id: + name: id + in: path + description: Rollup to access + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + rollups.stop::path.id: + name: id + in: path + description: Rollup to access + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + scroll::path.scroll_id: + in: path + name: scroll_id + description: The scroll ID + required: true + deprecated: true + schema: + $ref: '#/components/schemas/_common:ScrollId' + style: simple + scroll::query.rest_total_hits_as_int: + in: query + name: rest_total_hits_as_int + description: If true, the API response's hit.total property is returned as an integer. If false, the API response's hit.total property is returned as an object. + schema: + type: boolean + default: false + style: form + scroll::query.scroll: + in: query + name: scroll + description: Period to retain the search context for scrolling. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + scroll::query.scroll_id: + in: query + name: scroll_id + description: The scroll ID for scrolled search + deprecated: true + schema: + $ref: '#/components/schemas/_common:ScrollId' + style: form + search_pipeline.delete::path.id: + name: id + in: path + description: Pipeline ID. + schema: + type: string + required: true + search_pipeline.delete::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + search_pipeline.delete::query.timeout: + name: timeout + in: query + description: Operation timeout. + schema: + $ref: '#/components/schemas/_common:Duration' + search_pipeline.get::path.id: + name: id + in: path + description: Comma-separated list of search pipeline ids. Wildcards supported. + schema: + type: string + search_pipeline.get::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + search_pipeline.put::path.id: + name: id + in: path + description: Pipeline ID. + schema: + type: string + required: true + search_pipeline.put::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + search_pipeline.put::query.timeout: + name: timeout + in: query + description: Operation timeout. + schema: + $ref: '#/components/schemas/_common:Duration' + search_shards::path.index: + in: path + name: index + description: Returns the indices and shards that a search request would be executed against. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + search_shards::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If `false`, the request returns an error if any wildcard expression, index alias, or `_all` value targets only missing or closed indices. + This behavior applies even if the request targets other open indices. + For example, a request targeting `foo*,bar*` returns an error if an index starts with `foo` but no index starts with `bar`. + schema: + type: boolean + style: form + search_shards::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. + If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. + Supports comma-separated values, such as `open,hidden`. + Valid values are: `all`, `open`, `closed`, `hidden`, `none`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + search_shards::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `false`, the request returns an error if it targets a missing or closed index. + schema: + type: boolean + style: form + search_shards::query.local: + in: query + name: local + description: If `true`, the request retrieves information from the local node only. + schema: + type: boolean + default: false + style: form + search_shards::query.preference: + in: query + name: preference + description: |- + Specifies the node or shard the operation should be performed on. + Random by default. + schema: + type: string + default: random + style: form + search_shards::query.routing: + in: query + name: routing + description: Custom value used to route operations to a specific shard. + schema: + $ref: '#/components/schemas/_common:Routing' + style: form + search_template::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams, indices, + and aliases to search. Supports wildcards (*). + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + search_template::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If `false`, the request returns an error if any wildcard expression, index alias, or `_all` value targets only missing or closed indices. + This behavior applies even if the request targets other open indices. + For example, a request targeting `foo*,bar*` returns an error if an index starts with `foo` but no index starts with `bar`. + schema: + type: boolean + style: form + search_template::query.ccs_minimize_roundtrips: + in: query + name: ccs_minimize_roundtrips + description: If `true`, network round-trips are minimized for cross-cluster search requests. + schema: + type: boolean + default: true + style: form + search_template::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. + If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. + Supports comma-separated values, such as `open,hidden`. + Valid values are: `all`, `open`, `closed`, `hidden`, `none`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + search_template::query.explain: + in: query + name: explain + description: If `true`, the response includes additional details about score computation as part of a hit. + schema: + type: boolean + style: form + search_template::query.ignore_throttled: + in: query + name: ignore_throttled + description: If `true`, specified concrete, expanded, or aliased indices are not included in the response when throttled. + schema: + type: boolean + style: form + search_template::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `false`, the request returns an error if it targets a missing or closed index. + schema: + type: boolean + style: form + search_template::query.preference: + in: query + name: preference + description: |- + Specifies the node or shard the operation should be performed on. + Random by default. + schema: + type: string + default: random + style: form + search_template::query.profile: + in: query + name: profile + description: If `true`, the query execution is profiled. + schema: + type: boolean + style: form + search_template::query.rest_total_hits_as_int: + in: query + name: rest_total_hits_as_int + description: If true, hits.total are rendered as an integer in the response. + schema: + type: boolean + default: false + style: form + search_template::query.routing: + in: query + name: routing + description: Custom value used to route operations to a specific shard. + schema: + $ref: '#/components/schemas/_common:Routing' + style: form + search_template::query.scroll: + in: query + name: scroll + description: |- + Specifies how long a consistent view of the index + should be maintained for scrolled search. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + search_template::query.search_type: + in: query + name: search_type + description: The type of the search operation. + schema: + $ref: '#/components/schemas/_common:SearchType' + style: form + search_template::query.typed_keys: + in: query + name: typed_keys + description: If `true`, the response prefixes aggregation and suggester names with their respective types. + schema: + type: boolean + style: form + search::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams, indices, and aliases to search. + Supports wildcards (`*`). + To search all data streams and indices, omit this parameter or use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + search::query._source: + in: query + name: _source + description: |- + Indicates which source fields are returned for matching documents. + These fields are returned in the `hits._source` property of the search response. + Valid values are: + `true` to return the entire document source; + `false` to not return the document source; + `` to return the source fields that are specified as a comma-separated list (supports wildcard (`*`) patterns). + schema: + $ref: '#/components/schemas/_core.search:SourceConfigParam' + style: form + search::query._source_excludes: + in: query + name: _source_excludes + description: |- + A comma-separated list of source fields to exclude from the response. + You can also use this parameter to exclude fields from the subset specified in `_source_includes` query parameter. + If the `_source` parameter is `false`, this parameter is ignored. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + search::query._source_includes: + in: query + name: _source_includes + description: |- + A comma-separated list of source fields to include in the response. + If this parameter is specified, only these source fields are returned. + You can exclude fields from this subset using the `_source_excludes` query parameter. + If the `_source` parameter is `false`, this parameter is ignored. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + search::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If `false`, the request returns an error if any wildcard expression, index alias, or `_all` value targets only missing or closed indices. + This behavior applies even if the request targets other open indices. + For example, a request targeting `foo*,bar*` returns an error if an index starts with `foo` but no index starts with `bar`. + schema: + type: boolean + style: form + search::query.allow_partial_search_results: + in: query + name: allow_partial_search_results + description: If true, returns partial results if there are shard request timeouts or shard failures. If false, returns an error with no partial results. + schema: + type: boolean + default: true + style: form + search::query.analyze_wildcard: + in: query + name: analyze_wildcard + description: |- + If true, wildcard and prefix queries are analyzed. + This parameter can only be used when the q query string parameter is specified. + schema: + type: boolean + default: false + style: form + search::query.analyzer: + in: query + name: analyzer + description: |- + Analyzer to use for the query string. + This parameter can only be used when the q query string parameter is specified. + schema: + type: string + style: form + search::query.batched_reduce_size: + in: query + name: batched_reduce_size + description: |- + The number of shard results that should be reduced at once on the coordinating node. + This value should be used as a protection mechanism to reduce the memory overhead per search request if the potential number of shards in the request can be large. + schema: + type: number + default: 512 + style: form + search::query.cancel_after_time_interval: + in: query + name: cancel_after_time_interval + description: |- + The time after which the search request will be canceled. + Request-level parameter takes precedence over `cancel_after_time_interval` cluster setting. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + search::query.ccs_minimize_roundtrips: + in: query + name: ccs_minimize_roundtrips + description: If true, network round-trips between the coordinating node and the remote clusters are minimized when executing cross-cluster search (CCS) requests. + schema: + type: boolean + default: true + style: form + search::query.default_operator: + in: query + name: default_operator + description: |- + The default operator for query string query: AND or OR. + This parameter can only be used when the `q` query string parameter is specified. + schema: + $ref: '#/components/schemas/_common.query_dsl:Operator' + style: form + search::query.df: + in: query + name: df + description: |- + Field to use as default where no field prefix is given in the query string. + This parameter can only be used when the q query string parameter is specified. + schema: + type: string + style: form + search::query.docvalue_fields: + in: query + name: docvalue_fields + description: A comma-separated list of fields to return as the docvalue representation for each hit. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + search::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. + If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. + Supports comma-separated values, such as `open,hidden`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + search::query.explain: + in: query + name: explain + description: If `true`, returns detailed information about score computation as part of a hit. + schema: + type: boolean + style: form + search::query.from: + in: query + name: from + description: |- + Starting document offset. + Needs to be non-negative. + By default, you cannot page through more than 10,000 hits using the `from` and `size` parameters. + To page through more hits, use the `search_after` parameter. + schema: + type: number + default: 0 + style: form + search::query.ignore_throttled: + in: query + name: ignore_throttled + description: If `true`, concrete, expanded or aliased indices will be ignored when frozen. + schema: + type: boolean + style: form + search::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `false`, the request returns an error if it targets a missing or closed index. + schema: + type: boolean + style: form + search::query.include_named_queries_score: + name: include_named_queries_score + in: query + description: Indicates whether hit.matched_queries should be rendered as a map that includes the name of the matched query associated with its score (true) or as an array containing the name of the matched queries (false) + schema: + type: boolean + default: false + description: Indicates whether hit.matched_queries should be rendered as a map that includes the name of the matched query associated with its score (true) or as an array containing the name of the matched queries (false) + search::query.lenient: + in: query + name: lenient + description: |- + If `true`, format-based query failures (such as providing text to a numeric field) in the query string will be ignored. + This parameter can only be used when the `q` query string parameter is specified. + schema: + type: boolean + style: form + search::query.max_concurrent_shard_requests: + in: query + name: max_concurrent_shard_requests + description: |- + Defines the number of concurrent shard requests per node this search executes concurrently. + This value should be used to limit the impact of the search on the cluster in order to limit the number of concurrent shard requests. + schema: + type: number + default: 5 + style: form + search::query.phase_took: + name: phase_took + in: query + description: Indicates whether to return phase-level `took` time values in the response. + schema: + type: boolean + default: false + style: form + search::query.pre_filter_shard_size: + in: query + name: pre_filter_shard_size + description: |- + Defines a threshold that enforces a pre-filter roundtrip to prefilter search shards based on query rewriting if the number of shards the search request expands to exceeds the threshold. + This filter roundtrip can limit the number of shards significantly if for instance a shard can not match any documents based on its rewrite method (if date filters are mandatory to match but the shard bounds and the query are disjoint). + When unspecified, the pre-filter phase is executed if any of these conditions is met: + the request targets more than 128 shards; + the request targets one or more read-only index; + the primary sort of the query targets an indexed field. + schema: + type: number + style: form + search::query.preference: + in: query + name: preference + description: |- + Nodes and shards used for the search. + By default, OpenSearch selects from eligible nodes and shards using adaptive replica selection, accounting for allocation awareness. Valid values are: + `_only_local` to run the search only on shards on the local node; + `_local` to, if possible, run the search on shards on the local node, or if not, select shards using the default method; + `_only_nodes:,` to run the search on only the specified nodes IDs, where, if suitable shards exist on more than one selected node, use shards on those nodes using the default method, or if none of the specified nodes are available, select shards from any available node using the default method; + `_prefer_nodes:,` to if possible, run the search on the specified nodes IDs, or if not, select shards using the default method; + `_shards:,` to run the search only on the specified shards; + `` (any string that does not start with `_`) to route searches with the same `` to the same shards in the same order. + schema: + type: string + default: random + style: form + search::query.q: + in: query + name: q + description: |- + Query in the Lucene query string syntax using query parameter search. + Query parameter searches do not support the full OpenSearch Query DSL but are handy for testing. + schema: + type: string + style: form + search::query.request_cache: + in: query + name: request_cache + description: |- + If `true`, the caching of search results is enabled for requests where `size` is `0`. + Defaults to index level settings. + schema: + type: boolean + style: form + search::query.rest_total_hits_as_int: + in: query + name: rest_total_hits_as_int + description: Indicates whether `hits.total` should be rendered as an integer or an object in the rest search response. + schema: + type: boolean + default: false + style: form + search::query.routing: + in: query + name: routing + description: Custom value used to route operations to a specific shard. + schema: + $ref: '#/components/schemas/_common:Routing' + style: form + search::query.scroll: + in: query + name: scroll + description: |- + Period to retain the search context for scrolling. See Scroll search results. + By default, this value cannot exceed `1d` (24 hours). + You can change this limit using the `search.max_keep_alive` cluster-level setting. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + search::query.search_pipeline: + name: search_pipeline + in: query + description: Customizable sequence of processing stages applied to search queries. + schema: + type: string + description: Customizable sequence of processing stages applied to search queries. + search::query.search_type: + in: query + name: search_type + description: How distributed term frequencies are calculated for relevance scoring. + schema: + $ref: '#/components/schemas/_common:SearchType' + style: form + search::query.seq_no_primary_term: + in: query + name: seq_no_primary_term + description: If `true`, returns sequence number and primary term of the last modification of each hit. + schema: + type: boolean + style: form + search::query.size: + in: query + name: size + description: |- + Defines the number of hits to return. + By default, you cannot page through more than 10,000 hits using the `from` and `size` parameters. + To page through more hits, use the `search_after` parameter. + schema: + type: number + default: 10 + style: form + search::query.sort: + in: query + name: sort + description: A comma-separated list of : pairs. + schema: + oneOf: + - type: string + - type: array + items: + type: string + style: form + search::query.stats: + in: query + name: stats + description: Specific `tag` of the request for logging and statistical purposes. + schema: + type: array + items: + type: string + style: form + search::query.stored_fields: + in: query + name: stored_fields + description: |- + A comma-separated list of stored fields to return as part of a hit. + If no fields are specified, no stored fields are included in the response. + If this field is specified, the `_source` parameter defaults to `false`. + You can pass `_source: true` to return both source fields and stored fields in the search response. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + search::query.suggest_field: + in: query + name: suggest_field + description: Specifies which field to use for suggestions. + schema: + $ref: '#/components/schemas/_common:Field' + style: form + search::query.suggest_mode: + in: query + name: suggest_mode + description: |- + Specifies the suggest mode. + This parameter can only be used when the `suggest_field` and `suggest_text` query string parameters are specified. + schema: + $ref: '#/components/schemas/_common:SuggestMode' + style: form + search::query.suggest_size: + in: query + name: suggest_size + description: |- + Number of suggestions to return. + This parameter can only be used when the `suggest_field` and `suggest_text` query string parameters are specified. + schema: + type: number + style: form + search::query.suggest_text: + in: query + name: suggest_text + description: |- + The source text for which the suggestions should be returned. + This parameter can only be used when the `suggest_field` and `suggest_text` query string parameters are specified. + schema: + type: string + style: form + search::query.terminate_after: + in: query + name: terminate_after + description: |- + Maximum number of documents to collect for each shard. + If a query reaches this limit, OpenSearch terminates the query early. + OpenSearch collects documents before sorting. + Use with caution. + OpenSearch applies this parameter to each shard handling the request. + When possible, let OpenSearch perform early termination automatically. + Avoid specifying this parameter for requests that target data streams with backing indices across multiple data tiers. + If set to `0` (default), the query does not terminate early. + schema: + type: number + style: form + search::query.timeout: + in: query + name: timeout + description: |- + Specifies the period of time to wait for a response from each shard. + If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + search::query.track_scores: + in: query + name: track_scores + description: If `true`, calculate and return document scores, even if the scores are not used for sorting. + schema: + type: boolean + style: form + search::query.track_total_hits: + in: query + name: track_total_hits + description: |- + Number of hits matching the query to count accurately. + If `true`, the exact number of hits is returned at the cost of some performance. + If `false`, the response does not include the total number of hits matching the query. + schema: + $ref: '#/components/schemas/_core.search:TrackHits' + style: form + search::query.typed_keys: + in: query + name: typed_keys + description: If `true`, aggregation and suggester names are be prefixed by their respective types in the response. + schema: + type: boolean + style: form + search::query.version: + in: query + name: version + description: If `true`, returns document version as part of a hit. + schema: + type: boolean + style: form + security.authinfo::query.auth_type: + name: auth_type + in: query + description: The type of current authentication request. + schema: + type: string + required: false + security.authinfo::query.verbose: + name: verbose + in: query + description: Indicates whether a verbose response should be returned. + schema: + type: boolean + required: false + security.create_action_group::path.action_group: + name: action_group + in: path + description: The name of the action group to create or replace. + schema: + type: string + required: true + security.create_role_mapping::path.role: + name: role + in: path + description: The name of the role to create a role mapping for. + schema: + type: string + required: true + security.create_role::path.role: + name: role + in: path + description: The name of the role to be created. + schema: + type: string + required: true + security.create_tenant::path.tenant: + name: tenant + in: path + description: The name of the tenant to be created. + schema: + type: string + required: true + security.create_user_legacy::path.username: + name: username + in: path + description: The name of the user to be created. + schema: + type: string + required: true + security.create_user::path.username: + name: username + in: path + description: The name of the user to be created. + schema: + type: string + required: true + security.delete_action_group::path.action_group: + name: action_group + in: path + description: The name of the action group to delete. + schema: + type: string + required: true + security.delete_distinguished_name::path.cluster_name: + name: cluster_name + in: path + description: The cluster-name to delete from list of distinguished names. + schema: + type: string + required: true + security.delete_role_mapping::path.role: + name: role + in: path + description: The name of the role whose mapping needs to delete. + schema: + type: string + required: true + security.delete_role::path.role: + name: role + in: path + description: The name of the role to delete. + schema: + type: string + required: true + security.delete_tenant::path.tenant: + name: tenant + in: path + description: The name of the tenant to delete. + schema: + type: string + required: true + security.delete_user_legacy::path.username: + name: username + in: path + description: The name of the user to delete. + schema: + type: string + required: true + security.delete_user::path.username: + name: username + in: path + description: The name of the user to delete. + schema: + type: string + required: true + security.generate_user_token_legacy::path.username: + name: username + in: path + description: The name of the user for whom an auth token is to be vended. + schema: + type: string + required: true + security.generate_user_token::path.username: + name: username + in: path + description: The name of the user for whom an auth token is to be vended. + schema: + type: string + required: true + security.get_action_group::path.action_group: + name: action_group + in: path + description: The name of the action group to retrieve. + schema: + type: string + required: true + security.get_all_certificates::query.cert_type: + name: cert_type + in: query + description: The type of certificates (HTTP, TRANSPORT, ALL) to retrieve from all nodes. + schema: + type: string + required: false + security.get_all_certificates::query.timeout: + name: timeout + in: query + description: The maximum duration, in seconds, to be spent to retrieve certificates from all nodes. + schema: + $ref: '#/components/schemas/_common:Duration' + required: false + security.get_distinguished_name::path.cluster_name: + name: cluster_name + in: path + description: The cluster-name to retrieve nodes DN setting for. + schema: + type: string + required: true + security.get_distinguished_name::query.show_all: + name: show_all + in: query + description: A boolean flag to include/exclude static nodes DN from final result. + schema: + type: boolean + required: false + security.get_distinguished_names::query.show_all: + name: show_all + in: query + description: A boolean flag to include/exclude static nodes DN from final result. + schema: + type: boolean + required: false + security.get_node_certificates::path.node_id: + name: node_id + in: path + description: The full-id of the node to retrieve certificates. + schema: + type: string + required: true + security.get_node_certificates::query.cert_type: + name: cert_type + in: query + description: The type of certificates (HTTP, TRANSPORT, ALL) to retrieve for a node. + schema: + type: string + required: false + security.get_node_certificates::query.timeout: + name: timeout + in: query + description: The maximum duration, in seconds, to be spent to retrieve a node's certificates. + schema: + $ref: '#/components/schemas/_common:Duration' + required: false + security.get_role_mapping::path.role: + name: role + in: path + schema: + type: string + required: true + security.get_role::path.role: + name: role + in: path + schema: + type: string + required: true + security.get_sslinfo::query.show_dn: + name: show_dn + in: query + description: A boolean flag to indicate whether all domain names should be returned. + schema: + type: + - boolean + - string + required: false + security.get_tenant::path.tenant: + name: tenant + in: path + description: The name of the tenant to retrieve. + schema: + type: string + required: true + security.get_user_legacy::path.username: + name: username + in: path + description: The name of the user to retrieve. + schema: + type: string + required: true + security.get_user::path.username: + name: username + in: path + description: The name of the user to retrieve. + schema: + type: string + required: true + security.health::query.mode: + name: mode + in: query + description: A flag to indicate whether service should consider security-plugin's status before returning health response. `strict` mode indicates service should check security plugin status. + schema: + type: string + required: false + security.patch_action_group::path.action_group: + name: action_group + in: path + description: The name of the action group to update. + schema: + type: string + required: true + security.patch_distinguished_name::path.cluster_name: + name: cluster_name + in: path + description: The cluster-name to update nodesDn value. + schema: + type: string + required: true + security.patch_role_mapping::path.role: + name: role + in: path + description: The name of the role to update role-mapping for. + schema: + type: string + required: true + security.patch_role::path.role: + name: role + in: path + description: The name of the role to update. + schema: + type: string + required: true + security.patch_tenant::path.tenant: + name: tenant + in: path + description: The name of the tenant to update. + schema: + type: string + required: true + security.patch_user::path.username: + name: username + in: path + description: The name of the user to update. + schema: + type: string + required: true + security.update_distinguished_name::path.cluster_name: + name: cluster_name + in: path + description: The cluster-name to create/update nodesDn value for. + schema: + type: string + required: true + security.validate::query.accept_invalid: + name: accept_invalid + in: query + description: A boolean flag to indicate whether invalid v6 configuration should be allowed. + schema: + type: boolean + required: false + snapshot.cleanup_repository::path.repository: + in: path + name: repository + description: Snapshot repository to clean up. + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + snapshot.cleanup_repository::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + snapshot.cleanup_repository::query.master_timeout: + in: query + name: master_timeout + description: Period to wait for a connection to the master node. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + snapshot.cleanup_repository::query.timeout: + in: query + name: timeout + description: Period to wait for a response. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + snapshot.clone::path.repository: + in: path + name: repository + description: A repository name + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + snapshot.clone::path.snapshot: + in: path + name: snapshot + description: The name of the snapshot to clone from + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + snapshot.clone::path.target_snapshot: + in: path + name: target_snapshot + description: The name of the cloned snapshot to create + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + snapshot.clone::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + snapshot.clone::query.master_timeout: + in: query + name: master_timeout + description: Explicit operation timeout for connection to master node + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + snapshot.create_repository::path.repository: + in: path + name: repository + description: A repository name + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + snapshot.create_repository::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + snapshot.create_repository::query.master_timeout: + in: query + name: master_timeout + description: Explicit operation timeout for connection to master node + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + snapshot.create_repository::query.timeout: + in: query + name: timeout + description: Explicit operation timeout + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + snapshot.create_repository::query.verify: + in: query + name: verify + description: Whether to verify the repository after creation + schema: + type: boolean + style: form + snapshot.create::path.repository: + in: path + name: repository + description: Repository for the snapshot. + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + snapshot.create::path.snapshot: + in: path + name: snapshot + description: Name of the snapshot. Must be unique in the repository. + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + snapshot.create::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + snapshot.create::query.master_timeout: + in: query + name: master_timeout + description: Period to wait for a connection to the master node. If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + snapshot.create::query.wait_for_completion: + in: query + name: wait_for_completion + description: If `true`, the request returns a response when the snapshot is complete. If `false`, the request returns a response when the snapshot initializes. + schema: + type: boolean + default: false + style: form + snapshot.delete_repository::path.repository: + in: path + name: repository + description: Name of the snapshot repository to unregister. Wildcard (`*`) patterns are supported. + required: true + schema: + $ref: '#/components/schemas/_common:Names' + style: simple + snapshot.delete_repository::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + snapshot.delete_repository::query.master_timeout: + in: query + name: master_timeout + description: Explicit operation timeout for connection to master node + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + snapshot.delete_repository::query.timeout: + in: query + name: timeout + description: Explicit operation timeout + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + snapshot.delete::path.repository: + in: path + name: repository + description: A repository name + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + snapshot.delete::path.snapshot: + in: path + name: snapshot + description: A comma-separated list of snapshot names + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + snapshot.delete::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + snapshot.delete::query.master_timeout: + in: query + name: master_timeout + description: Explicit operation timeout for connection to master node + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + snapshot.get_repository::path.repository: + in: path + name: repository + description: A comma-separated list of repository names + required: true + schema: + $ref: '#/components/schemas/_common:Names' + style: simple + snapshot.get_repository::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + snapshot.get_repository::query.local: + in: query + name: local + description: Return local information, do not retrieve the state from cluster-manager node. + schema: + type: boolean + default: false + style: form + snapshot.get_repository::query.master_timeout: + in: query + name: master_timeout + description: Explicit operation timeout for connection to master node + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + snapshot.get::path.repository: + in: path + name: repository + description: Comma-separated list of snapshot repository names used to limit the request. Wildcard (*) expressions are supported. + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + snapshot.get::path.snapshot: + in: path + name: snapshot + description: |- + Comma-separated list of snapshot names to retrieve. Also accepts wildcards (*). + - To get information about all snapshots in a registered repository, use a wildcard (*) or _all. + - To get information about any snapshots that are currently running, use _current. + required: true + schema: + $ref: '#/components/schemas/_common:Names' + style: simple + snapshot.get::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + snapshot.get::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If false, the request returns an error for any snapshots that are unavailable. + schema: + type: boolean + default: false + style: form + snapshot.get::query.master_timeout: + in: query + name: master_timeout + description: Period to wait for a connection to the master node. If no response is received before the timeout expires, the request fails and returns an error. + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + snapshot.get::query.verbose: + in: query + name: verbose + description: If true, returns additional information about each snapshot such as the version of OpenSearch which took the snapshot, the start and end times of the snapshot, and the number of shards snapshotted. + schema: + type: boolean + style: form + snapshot.restore::path.repository: + in: path + name: repository + description: A repository name + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + snapshot.restore::path.snapshot: + in: path + name: snapshot + description: A snapshot name + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + snapshot.restore::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + snapshot.restore::query.master_timeout: + in: query + name: master_timeout + description: Explicit operation timeout for connection to master node + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + snapshot.restore::query.wait_for_completion: + in: query + name: wait_for_completion + description: Should this request wait until the operation has completed before returning + schema: + type: boolean + default: false + style: form + snapshot.status::path.repository: + in: path + name: repository + description: A repository name + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + snapshot.status::path.snapshot: + in: path + name: snapshot + description: A comma-separated list of snapshot names + required: true + schema: + $ref: '#/components/schemas/_common:Names' + style: simple + snapshot.status::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + snapshot.status::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: Whether to ignore unavailable snapshots, defaults to false which means a SnapshotMissingException is thrown + schema: + type: boolean + default: false + style: form + snapshot.status::query.master_timeout: + in: query + name: master_timeout + description: Explicit operation timeout for connection to master node + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + snapshot.verify_repository::path.repository: + in: path + name: repository + description: A repository name + required: true + schema: + $ref: '#/components/schemas/_common:Name' + style: simple + snapshot.verify_repository::query.cluster_manager_timeout: + name: cluster_manager_timeout + in: query + description: Operation timeout for connection to cluster-manager node. + schema: + $ref: '#/components/schemas/_common:Duration' + x-version-added: '2.0' + snapshot.verify_repository::query.master_timeout: + in: query + name: master_timeout + description: Explicit operation timeout for connection to master node + deprecated: true + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager_timeout' instead. + snapshot.verify_repository::query.timeout: + in: query + name: timeout + description: Explicit operation timeout + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + sql.close::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + sql.close::query.sanitize: + name: sanitize + in: query + description: Specifies whether to escape special characters in the results + schema: + type: boolean + default: true + sql.explain::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + sql.explain::query.sanitize: + name: sanitize + in: query + description: Specifies whether to escape special characters in the results + schema: + type: boolean + default: true + sql.get_stats::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + sql.get_stats::query.sanitize: + name: sanitize + in: query + description: Specifies whether to escape special characters in the results + schema: + type: boolean + default: true + sql.post_stats::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + sql.post_stats::query.sanitize: + name: sanitize + in: query + description: Specifies whether to escape special characters in the results + schema: + type: boolean + default: true + sql.query::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + sql.query::query.sanitize: + name: sanitize + in: query + description: Specifies whether to escape special characters in the results + schema: + type: boolean + default: true + sql.settings::query.format: + name: format + in: query + description: A short version of the Accept header, e.g. json, yaml. + schema: + type: string + tasks.cancel::path.task_id: + in: path + name: task_id + description: ID of the task. + required: true + schema: + $ref: '#/components/schemas/_common:TaskId' + style: simple + tasks.cancel::query.actions: + in: query + name: actions + description: Comma-separated list or wildcard expression of actions used to limit the request. + schema: + oneOf: + - type: string + - type: array + items: + type: string + style: form + tasks.cancel::query.nodes: + in: query + name: nodes + description: Comma-separated list of node IDs or names used to limit the request. + schema: + type: array + items: + type: string + style: form + tasks.cancel::query.parent_task_id: + in: query + name: parent_task_id + description: Parent task ID used to limit the tasks. + schema: + type: string + style: form + tasks.cancel::query.wait_for_completion: + in: query + name: wait_for_completion + description: Should the request block until the cancellation of the task and its descendant tasks is completed. Defaults to false + schema: + type: boolean + default: false + style: form + tasks.get::path.task_id: + in: path + name: task_id + description: ID of the task. + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + tasks.get::query.timeout: + in: query + name: timeout + description: |- + Period to wait for a response. + If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + tasks.get::query.wait_for_completion: + in: query + name: wait_for_completion + description: If `true`, the request blocks until the task has completed. + schema: + type: boolean + default: false + style: form + tasks.list::query.actions: + in: query + name: actions + description: Comma-separated list or wildcard expression of actions used to limit the request. + schema: + oneOf: + - type: string + - type: array + items: + type: string + style: form + tasks.list::query.detailed: + in: query + name: detailed + description: If `true`, the response includes detailed information about shard recoveries. + schema: + type: boolean + default: false + style: form + tasks.list::query.group_by: + in: query + name: group_by + description: Key used to group tasks in the response. + schema: + $ref: '#/components/schemas/tasks._common:GroupBy' + style: form + tasks.list::query.nodes: + name: nodes + in: query + description: Comma-separated list of node IDs or names to limit the returned information; use `_local` to return information from the node you're connecting to, leave empty to get information from all nodes. + style: form + schema: + type: array + items: + type: string + description: Comma-separated list of node IDs or names to limit the returned information; use `_local` to return information from the node you're connecting to, leave empty to get information from all nodes. + explode: true + tasks.list::query.parent_task_id: + in: query + name: parent_task_id + description: Parent task ID used to limit returned information. To return all tasks, omit this parameter or use a value of `-1`. + schema: + $ref: '#/components/schemas/_common:Id' + style: form + tasks.list::query.timeout: + in: query + name: timeout + description: Period to wait for a response. If no response is received before the timeout expires, the request fails and returns an error. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + tasks.list::query.wait_for_completion: + in: query + name: wait_for_completion + description: If `true`, the request blocks until the operation is complete. + schema: + type: boolean + default: false + style: form + termvectors::path.id: + in: path + name: id + description: Unique identifier of the document. + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + termvectors::path.index: + in: path + name: index + description: Name of the index that contains the document. + required: true + schema: + $ref: '#/components/schemas/_common:IndexName' + style: simple + termvectors::query.field_statistics: + in: query + name: field_statistics + description: If `true`, the response includes the document count, sum of document frequencies, and sum of total term frequencies. + schema: + type: boolean + default: true + style: form + termvectors::query.fields: + in: query + name: fields + description: |- + Comma-separated list or wildcard expressions of fields to include in the statistics. + Used as the default list unless a specific field list is provided in the `completion_fields` or `fielddata_fields` parameters. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + termvectors::query.offsets: + in: query + name: offsets + description: If `true`, the response includes term offsets. + schema: + type: boolean + default: true + style: form + termvectors::query.payloads: + in: query + name: payloads + description: If `true`, the response includes term payloads. + schema: + type: boolean + default: true + style: form + termvectors::query.positions: + in: query + name: positions + description: If `true`, the response includes term positions. + schema: + type: boolean + default: true + style: form + termvectors::query.preference: + in: query + name: preference + description: |- + Specifies the node or shard the operation should be performed on. + Random by default. + schema: + type: string + default: random + style: form + termvectors::query.realtime: + in: query + name: realtime + description: If true, the request is real-time as opposed to near-real-time. + schema: + type: boolean + default: true + style: form + termvectors::query.routing: + in: query + name: routing + description: Custom value used to route operations to a specific shard. + schema: + $ref: '#/components/schemas/_common:Routing' + style: form + termvectors::query.term_statistics: + in: query + name: term_statistics + description: If `true`, the response includes term frequency and document frequency. + schema: + type: boolean + default: false + style: form + termvectors::query.version: + in: query + name: version + description: If `true`, returns the document version as part of a hit. + schema: + $ref: '#/components/schemas/_common:VersionNumber' + style: form + termvectors::query.version_type: + in: query + name: version_type + description: Specific version type. + schema: + $ref: '#/components/schemas/_common:VersionType' + style: form + transforms.delete::path.id: + name: id + in: path + description: Transform to delete + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + transforms.explain::path.id: + name: id + in: path + description: Transform to explain + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + transforms.get::path.id: + name: id + in: path + description: Transform to access + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + transforms.put::path.id: + name: id + in: path + description: Transform to create/update + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + transforms.put::query.if_primary_term: + name: if_primary_term + in: query + description: Only perform the operation if the document has this primary term. + required: false + schema: + type: number + style: form + transforms.put::query.if_seq_no: + name: if_seq_no + in: query + description: Only perform the operation if the document has this sequence number. + required: false + schema: + $ref: '#/components/schemas/_common:SequenceNumber' + style: form + transforms.search::query.from: + name: from + in: query + description: The starting transform to return. Default is `0`. + required: false + schema: + type: number + style: form + transforms.search::query.search: + name: search + in: query + description: The search term to use to filter results. + required: false + schema: + type: string + style: form + transforms.search::query.size: + name: size + in: query + description: Specifies the number of transforms to return. Default is `10`. + required: false + schema: + type: number + style: form + transforms.search::query.sortDirection: + name: sortDirection + in: query + description: Specifies the direction to sort results in. Can be `ASC` or `DESC`. Default is `ASC`. + required: false + schema: + type: string + style: form + transforms.search::query.sortField: + name: sortField + in: query + description: The field to sort results with. + required: false + schema: + type: string + style: form + transforms.start::path.id: + name: id + in: path + description: Transform to start + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + transforms.stop::path.id: + name: id + in: path + description: Transform to stop + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + update_by_query_rethrottle::path.task_id: + in: path + name: task_id + description: The ID for the task. + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + update_by_query_rethrottle::query.requests_per_second: + in: query + name: requests_per_second + description: The throttle for this request in sub-requests per second. + schema: + type: number + style: form + update_by_query::path.index: + in: path + name: index + description: |- + Comma-separated list of data streams, indices, and aliases to search. + Supports wildcards (`*`). + To search all data streams or indices, omit this parameter or use `*` or `_all`. + required: true + schema: + $ref: '#/components/schemas/_common:Indices' + style: simple + update_by_query::query._source: + name: _source + in: query + description: True or false to return the _source field or not, or a list of fields to return. + style: form + schema: + type: array + items: + type: string + description: True or false to return the _source field or not, or a list of fields to return. + explode: true + update_by_query::query._source_excludes: + name: _source_excludes + in: query + description: List of fields to exclude from the returned _source field. + style: form + schema: + type: array + items: + type: string + description: List of fields to exclude from the returned _source field. + explode: true + update_by_query::query._source_includes: + name: _source_includes + in: query + description: List of fields to extract and return from the _source field. + style: form + schema: + type: array + items: + type: string + description: List of fields to extract and return from the _source field. + explode: true + update_by_query::query.allow_no_indices: + in: query + name: allow_no_indices + description: |- + If `false`, the request returns an error if any wildcard expression, index alias, or `_all` value targets only missing or closed indices. + This behavior applies even if the request targets other open indices. + For example, a request targeting `foo*,bar*` returns an error if an index starts with `foo` but no index starts with `bar`. + schema: + type: boolean + style: form + update_by_query::query.analyze_wildcard: + in: query + name: analyze_wildcard + description: If `true`, wildcard and prefix queries are analyzed. + schema: + type: boolean + default: false + style: form + update_by_query::query.analyzer: + in: query + name: analyzer + description: Analyzer to use for the query string. + schema: + type: string + style: form + update_by_query::query.conflicts: + in: query + name: conflicts + description: 'What to do if update by query hits version conflicts: `abort` or `proceed`.' + schema: + $ref: '#/components/schemas/_common:Conflicts' + style: form + update_by_query::query.default_operator: + in: query + name: default_operator + description: 'The default operator for query string query: `AND` or `OR`.' + schema: + $ref: '#/components/schemas/_common.query_dsl:Operator' + style: form + update_by_query::query.df: + in: query + name: df + description: Field to use as default where no field prefix is given in the query string. + schema: + type: string + style: form + update_by_query::query.expand_wildcards: + in: query + name: expand_wildcards + description: |- + Type of index that wildcard patterns can match. + If the request can target data streams, this argument determines whether wildcard expressions match hidden data streams. + Supports comma-separated values, such as `open,hidden`. + Valid values are: `all`, `open`, `closed`, `hidden`, `none`. + schema: + $ref: '#/components/schemas/_common:ExpandWildcards' + style: form + update_by_query::query.from: + in: query + name: from + description: Starting offset. + schema: + type: number + default: 0 + style: form + update_by_query::query.ignore_unavailable: + in: query + name: ignore_unavailable + description: If `false`, the request returns an error if it targets a missing or closed index. + schema: + type: boolean + style: form + update_by_query::query.lenient: + in: query + name: lenient + description: If `true`, format-based query failures (such as providing text to a numeric field) in the query string will be ignored. + schema: + type: boolean + style: form + update_by_query::query.max_docs: + in: query + name: max_docs + description: |- + Maximum number of documents to process. + Defaults to all documents. + schema: + type: number + style: form + update_by_query::query.pipeline: + in: query + name: pipeline + description: |- + ID of the pipeline to use to preprocess incoming documents. + If the index has a default ingest pipeline specified, then setting the value to `_none` disables the default ingest pipeline for this request. + If a final pipeline is configured it will always run, regardless of the value of this parameter. + schema: + type: string + style: form + update_by_query::query.preference: + in: query + name: preference + description: |- + Specifies the node or shard the operation should be performed on. + Random by default. + schema: + type: string + default: random + style: form + update_by_query::query.q: + name: q + in: query + description: Query in the Lucene query string syntax. + schema: + type: string + description: Query in the Lucene query string syntax. + update_by_query::query.refresh: + in: query + name: refresh + description: If `true`, OpenSearch refreshes affected shards to make the operation visible to search. + schema: + type: boolean + style: form + update_by_query::query.request_cache: + in: query + name: request_cache + description: If `true`, the request cache is used for this request. + schema: + type: boolean + style: form + update_by_query::query.requests_per_second: + in: query + name: requests_per_second + description: The throttle for this request in sub-requests per second. + schema: + type: number + default: 0 + style: form + update_by_query::query.routing: + in: query + name: routing + description: Custom value used to route operations to a specific shard. + schema: + $ref: '#/components/schemas/_common:Routing' + style: form + update_by_query::query.scroll: + in: query + name: scroll + description: Period to retain the search context for scrolling. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + update_by_query::query.scroll_size: + in: query + name: scroll_size + description: Size of the scroll request that powers the operation. + schema: + type: number + default: 100 + style: form + update_by_query::query.search_timeout: + in: query + name: search_timeout + description: Explicit timeout for each search request. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + update_by_query::query.search_type: + in: query + name: search_type + description: 'The type of the search operation. Available options: `query_then_fetch`, `dfs_query_then_fetch`.' + schema: + $ref: '#/components/schemas/_common:SearchType' + style: form + update_by_query::query.size: + name: size + in: query + description: Deprecated, please use `max_docs` instead. + schema: + type: integer + description: Deprecated, please use `max_docs` instead. + format: int32 + update_by_query::query.slices: + in: query + name: slices + description: The number of slices this task should be divided into. + schema: + $ref: '#/components/schemas/_common:Slices' + style: form + x-default: '1' + update_by_query::query.sort: + in: query + name: sort + description: A comma-separated list of : pairs. + schema: + type: array + items: + type: string + style: form + update_by_query::query.stats: + in: query + name: stats + description: Specific `tag` of the request for logging and statistical purposes. + schema: + type: array + items: + type: string + style: form + update_by_query::query.terminate_after: + in: query + name: terminate_after + description: |- + Maximum number of documents to collect for each shard. + If a query reaches this limit, OpenSearch terminates the query early. + OpenSearch collects documents before sorting. + Use with caution. + OpenSearch applies this parameter to each shard handling the request. + When possible, let OpenSearch perform early termination automatically. + Avoid specifying this parameter for requests that target data streams with backing indices across multiple data tiers. + schema: + type: number + style: form + update_by_query::query.timeout: + in: query + name: timeout + description: 'Period each update request waits for the following operations: dynamic mapping updates, waiting for active shards.' + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + x-default: 1m + update_by_query::query.version: + in: query + name: version + description: If `true`, returns the document version as part of a hit. + schema: + type: boolean + style: form + update_by_query::query.wait_for_active_shards: + in: query + name: wait_for_active_shards + description: |- + The number of shard copies that must be active before proceeding with the operation. + Set to `all` or any positive integer up to the total number of shards in the index (`number_of_replicas+1`). + schema: + $ref: '#/components/schemas/_common:WaitForActiveShards' + style: form + x-default: '1' + update_by_query::query.wait_for_completion: + in: query + name: wait_for_completion + description: If `true`, the request blocks until the operation is complete. + schema: + type: boolean + default: true + style: form + update::path.id: + in: path + name: id + description: Document ID + required: true + schema: + $ref: '#/components/schemas/_common:Id' + style: simple + update::path.index: + in: path + name: index + description: The name of the index + required: true + schema: + $ref: '#/components/schemas/_common:IndexName' + style: simple + update::query._source: + in: query + name: _source + description: |- + Set to false to disable source retrieval. You can also specify a comma-separated + list of the fields you want to retrieve. + schema: + $ref: '#/components/schemas/_core.search:SourceConfigParam' + style: form + update::query._source_excludes: + in: query + name: _source_excludes + description: Specify the source fields you want to exclude. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + update::query._source_includes: + in: query + name: _source_includes + description: Specify the source fields you want to retrieve. + schema: + $ref: '#/components/schemas/_common:Fields' + style: form + update::query.if_primary_term: + in: query + name: if_primary_term + description: Only perform the operation if the document has this primary term. + schema: + type: number + style: form + update::query.if_seq_no: + in: query + name: if_seq_no + description: Only perform the operation if the document has this sequence number. + schema: + $ref: '#/components/schemas/_common:SequenceNumber' + style: form + update::query.lang: + in: query + name: lang + description: The script language. + schema: + type: string + default: painless + style: form + update::query.refresh: + in: query + name: refresh + description: |- + If 'true', OpenSearch refreshes the affected shards to make this operation + visible to search, if 'wait_for' then wait for a refresh to make this operation + visible to search, if 'false' do nothing with refreshes. + schema: + $ref: '#/components/schemas/_common:Refresh' + style: form + update::query.require_alias: + in: query + name: require_alias + description: If true, the destination must be an index alias. + schema: + type: boolean + default: false + style: form + update::query.retry_on_conflict: + in: query + name: retry_on_conflict + description: Specify how many times should the operation be retried when a conflict occurs. + schema: + type: number + default: 0 + style: form + update::query.routing: + in: query + name: routing + description: Custom value used to route operations to a specific shard. + schema: + $ref: '#/components/schemas/_common:Routing' + style: form + update::query.timeout: + in: query + name: timeout + description: |- + Period to wait for dynamic mapping updates and active shards. + This guarantees OpenSearch waits for at least the timeout before failing. + The actual wait time could be longer, particularly when multiple waits occur. + schema: + $ref: '#/components/schemas/_common:Duration' + style: form + update::query.wait_for_active_shards: + in: query + name: wait_for_active_shards + description: |- + The number of shard copies that must be active before proceeding with the operations. + Set to 'all' or any positive integer up to the total number of shards in the index + (number_of_replicas+1). Defaults to 1 meaning the primary shard. + schema: + $ref: '#/components/schemas/_common:WaitForActiveShards' + style: form + x-default: '1' + requestBodies: + bulk: + content: + application/x-ndjson: + schema: + type: array + items: + anyOf: + - $ref: '#/components/schemas/_core.bulk:OperationContainer' + - $ref: '#/components/schemas/_core.bulk:UpdateAction' + - type: object + description: The operation definition and data (action-data pairs), separated by newlines + required: true + cat.pit_segments: + content: + application/json: + schema: + type: object + properties: + pit_id: + type: array + items: + type: string + required: + - pit_id + clear_scroll: + content: + application/json: + schema: + type: object + properties: + scroll_id: + $ref: '#/components/schemas/_common:ScrollIds' + description: Comma-separated list of scroll IDs to clear if none was specified via the scroll_id parameter + cluster.allocation_explain: + content: + application/json: + schema: + type: object + properties: + current_node: + description: Specifies the node ID or the name of the node to only explain a shard that is currently located on the specified node. + type: string + index: + $ref: '#/components/schemas/_common:IndexName' + primary: + description: If true, returns explanation for the primary shard for the given shard ID. + type: boolean + shard: + description: Specifies the ID of the shard that you would like an explanation for. + type: number + description: The index, shard, and primary flag to explain. Empty means 'explain the first unassigned shard' + cluster.put_component_template: + content: + application/json: + schema: + type: object + properties: + allow_auto_create: + description: |- + This setting overrides the value of the `action.auto_create_index` cluster setting. + If set to `true` in a template, then indices can be automatically created using that + template even if auto-creation of indices is disabled via `actions.auto_create_index`. + If set to `false` then data streams matching the template must always be explicitly created. + type: boolean + template: + $ref: '#/components/schemas/indices._common:IndexState' + version: + $ref: '#/components/schemas/_common:VersionNumber' + _meta: + $ref: '#/components/schemas/_common:Metadata' + required: + - template + description: The template definition + required: true + cluster.put_settings: + content: + application/json: + schema: + type: object + properties: + persistent: + type: object + additionalProperties: {} + transient: + type: object + additionalProperties: {} + description: The settings to be updated. Can be either `transient` or `persistent` (survives cluster restart). + required: true + cluster.reroute: + content: + application/json: + schema: + type: object + properties: + commands: + description: Defines the commands to perform. + type: array + items: + $ref: '#/components/schemas/cluster.reroute:Command' + description: The definition of `commands` to perform (`move`, `cancel`, `allocate`) + count: + content: + application/json: + schema: + type: object + properties: + query: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + description: Query to restrict the results specified with the Query DSL (optional) + create: + content: + application/json: + schema: + type: object + description: The document + required: true + delete_by_query: + content: + application/json: + schema: + type: object + properties: + max_docs: + description: The maximum number of documents to delete. + type: number + query: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + slice: + $ref: '#/components/schemas/_common:SlicedScroll' + description: The search definition using the Query DSL + required: true + delete_pit: + content: + application/json: + schema: + type: object + description: The point-in-time ids to be deleted + properties: + pit_id: + type: array + items: + type: string + required: + - pit_id + explain: + content: + application/json: + schema: + type: object + properties: + query: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + description: The query definition using the Query DSL + field_caps: + content: + application/json: + schema: + type: object + properties: + fields: + $ref: '#/components/schemas/_common:Fields' + index_filter: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + runtime_mappings: + $ref: '#/components/schemas/_common.mapping:RuntimeFields' + description: An index filter specified with the Query DSL + index: + content: + application/json: + schema: + type: object + description: The document + required: true + indices.analyze: + content: + application/json: + schema: + type: object + properties: + analyzer: + description: |- + The name of the analyzer that should be applied to the provided `text`. + This could be a built-in analyzer, or an analyzer that's been configured in the index. + type: string + attributes: + description: Array of token attributes used to filter the output of the `explain` parameter. + type: array + items: + type: string + char_filter: + description: Array of character filters used to preprocess characters before the tokenizer. + type: array + items: + $ref: '#/components/schemas/_common.analysis:CharFilter' + explain: + description: If `true`, the response includes token attributes and additional details. + type: boolean + field: + $ref: '#/components/schemas/_common:Field' + filter: + description: Array of token filters used to apply after the tokenizer. + type: array + items: + $ref: '#/components/schemas/_common.analysis:TokenFilter' + normalizer: + description: Normalizer to use to convert text into a single token. + type: string + text: + $ref: '#/components/schemas/indices.analyze:TextToAnalyze' + tokenizer: + $ref: '#/components/schemas/_common.analysis:Tokenizer' + description: Define analyzer/tokenizer parameters and the text on which the analysis should be performed + indices.clone: + content: + application/json: + schema: + type: object + properties: + aliases: + description: Aliases for the resulting index. + type: object + additionalProperties: + $ref: '#/components/schemas/indices._common:Alias' + settings: + description: Configuration options for the target index. + type: object + additionalProperties: + type: object + description: The configuration for the target index (`settings` and `aliases`) + indices.create: + content: + application/json: + schema: + type: object + properties: + aliases: + description: Aliases for the index. + type: object + additionalProperties: + $ref: '#/components/schemas/indices._common:Alias' + mappings: + $ref: '#/components/schemas/_common.mapping:TypeMapping' + settings: + $ref: '#/components/schemas/indices._common:IndexSettings' + description: The configuration for the index (`settings` and `mappings`) + indices.create_data_stream: + content: + application/json: + schema: + type: object + description: The data stream definition + indices.put_alias: + content: + application/json: + schema: + type: object + properties: + alias: + type: string + filter: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + index: + type: string + index_routing: + $ref: '#/components/schemas/_common:Routing' + is_write_index: + description: |- + If `true`, sets the write index or data stream for the alias. + If an alias points to multiple indices or data streams and `is_write_index` isn't set, the alias rejects write requests. + If an index alias points to one index and `is_write_index` isn't set, the index automatically acts as the write index. + Data stream aliases don't automatically set a write data stream, even if the alias points to one data stream. + type: boolean + routing: + $ref: '#/components/schemas/_common:Routing' + search_routing: + $ref: '#/components/schemas/_common:Routing' + is_hidden: + x-version-added: '2.16' + description: If `true`, the alias will be hidden`. + type: boolean + default: false + description: The settings for the alias, such as `routing` or `filter` + indices.put_index_template: + content: + application/json: + schema: + type: object + properties: + index_patterns: + $ref: '#/components/schemas/_common:Indices' + composed_of: + description: |- + An ordered list of component template names. + Component templates are merged in the order specified, meaning that the last component template specified has the highest precedence. + type: array + items: + $ref: '#/components/schemas/_common:Name' + template: + $ref: '#/components/schemas/indices.put_index_template:IndexTemplateMapping' + data_stream: + $ref: '#/components/schemas/indices._common:IndexTemplateDataStreamConfiguration' + priority: + description: |- + Priority to determine index template precedence when a new data stream or index is created. + The index template with the highest priority is chosen. + If no priority is specified the template is treated as though it is of priority 0 (lowest priority). + This number is not automatically generated by OpenSearch. + type: number + version: + $ref: '#/components/schemas/_common:VersionNumber' + _meta: + $ref: '#/components/schemas/_common:Metadata' + description: The template definition + required: true + indices.put_mapping: + content: + application/json: + schema: + type: object + properties: + date_detection: + description: Controls whether dynamic date detection is enabled. + type: boolean + dynamic: + $ref: '#/components/schemas/_common.mapping:DynamicMapping' + dynamic_date_formats: + description: |- + If date detection is enabled then new string fields are checked + against 'dynamic_date_formats' and if the value matches then + a new date field is added instead of string. + type: array + items: + type: string + dynamic_templates: + description: Specify dynamic templates for the mapping. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.mapping:DynamicTemplate' + - type: array + items: + type: object + additionalProperties: + $ref: '#/components/schemas/_common.mapping:DynamicTemplate' + _field_names: + $ref: '#/components/schemas/_common.mapping:FieldNamesField' + _meta: + $ref: '#/components/schemas/_common:Metadata' + numeric_detection: + description: Automatically map strings into numeric data types for all fields. + type: boolean + properties: + description: |- + Mapping for a field. For new fields, this mapping can include: + + - Field name + - Field data type + - Mapping parameters + type: object + additionalProperties: + $ref: '#/components/schemas/_common.mapping:Property' + _routing: + $ref: '#/components/schemas/_common.mapping:RoutingField' + _source: + $ref: '#/components/schemas/_common.mapping:SourceField' + runtime: + $ref: '#/components/schemas/_common.mapping:RuntimeFields' + description: The mapping definition + required: true + indices.put_settings: + content: + application/json: + schema: + $ref: '#/components/schemas/indices._common:IndexSettings' + required: true + indices.put_template: + content: + application/json: + schema: + type: object + properties: + aliases: + description: Aliases for the index. + type: object + additionalProperties: + $ref: '#/components/schemas/indices._common:Alias' + index_patterns: + description: |- + Array of wildcard expressions used to match the names + of indices during creation. + oneOf: + - type: string + - type: array + items: + type: string + mappings: + $ref: '#/components/schemas/_common.mapping:TypeMapping' + order: + description: |- + Order in which OpenSearch applies this template if index + matches multiple templates. + + Templates with lower 'order' values are merged first. Templates with higher + 'order' values are merged later, overriding templates with lower values. + type: number + settings: + description: Configuration options for the index. + type: object + additionalProperties: + type: object + version: + $ref: '#/components/schemas/_common:VersionNumber' + description: The template definition + required: true + indices.rollover: + content: + application/json: + schema: + type: object + properties: + aliases: + description: |- + Aliases for the target index. + Data streams do not support this parameter. + type: object + additionalProperties: + $ref: '#/components/schemas/indices._common:Alias' + conditions: + $ref: '#/components/schemas/indices.rollover:RolloverConditions' + mappings: + $ref: '#/components/schemas/_common.mapping:TypeMapping' + settings: + description: |- + Configuration options for the index. + Data streams do not support this parameter. + type: object + additionalProperties: + type: object + description: The conditions that needs to be met for executing rollover + indices.shrink: + content: + application/json: + schema: + type: object + properties: + aliases: + description: |- + The key is the alias name. + Index alias names support date math. + type: object + additionalProperties: + $ref: '#/components/schemas/indices._common:Alias' + settings: + description: Configuration options for the target index. + type: object + additionalProperties: + type: object + description: The configuration for the target index (`settings` and `aliases`) + indices.simulate_index_template: + content: + application/json: + schema: + type: object + properties: + allow_auto_create: + description: |- + This setting overrides the value of the `action.auto_create_index` cluster setting. + If set to `true` in a template, then indices can be automatically created using that template even if auto-creation of indices is disabled via `actions.auto_create_index`. + If set to `false`, then indices or data streams matching the template must always be explicitly created, and may never be automatically created. + type: boolean + index_patterns: + $ref: '#/components/schemas/_common:Indices' + composed_of: + description: |- + An ordered list of component template names. + Component templates are merged in the order specified, meaning that the last component template specified has the highest precedence. + type: array + items: + $ref: '#/components/schemas/_common:Name' + template: + $ref: '#/components/schemas/indices.put_index_template:IndexTemplateMapping' + data_stream: + $ref: '#/components/schemas/indices._common:IndexTemplateDataStreamConfiguration' + priority: + description: |- + Priority to determine index template precedence when a new data stream or index is created. + The index template with the highest priority is chosen. + If no priority is specified the template is treated as though it is of priority 0 (lowest priority). + This number is not automatically generated by OpenSearch. + type: number + version: + $ref: '#/components/schemas/_common:VersionNumber' + _meta: + $ref: '#/components/schemas/_common:Metadata' + description: New index template definition, which will be included in the simulation, as if it already exists in the system + indices.simulate_template: + content: + application/json: + schema: + $ref: '#/components/schemas/indices._common:IndexTemplate' + indices.split: + content: + application/json: + schema: + type: object + properties: + aliases: + description: Aliases for the resulting index. + type: object + additionalProperties: + $ref: '#/components/schemas/indices._common:Alias' + settings: + description: Configuration options for the target index. + type: object + additionalProperties: {} + description: The configuration for the target index (`settings` and `aliases`) + indices.update_aliases: + content: + application/json: + schema: + type: object + properties: + actions: + description: Actions to perform. + type: array + items: + $ref: '#/components/schemas/indices.update_aliases:Action' + description: The definition of `actions` to perform + required: true + indices.validate_query: + content: + application/json: + schema: + type: object + properties: + query: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + description: The query definition specified with the Query DSL + ingest.put_pipeline: + content: + application/json: + schema: + type: object + properties: + _meta: + $ref: '#/components/schemas/_common:Metadata' + description: + description: Description of the ingest pipeline. + type: string + on_failure: + description: Processors to run immediately after a processor failure. Each processor supports a processor-level `on_failure` value. If a processor without an `on_failure` value fails, OpenSearch uses this pipeline-level parameter as a fallback. The processors in this parameter run sequentially in the order specified. OpenSearch will not attempt to run the pipeline's remaining processors. + type: array + items: + $ref: '#/components/schemas/ingest._common:ProcessorContainer' + processors: + description: Processors used to perform transformations on documents before indexing. Processors run sequentially in the order specified. + type: array + items: + $ref: '#/components/schemas/ingest._common:ProcessorContainer' + version: + $ref: '#/components/schemas/_common:VersionNumber' + description: The ingest definition + required: true + ingest.simulate: + content: + application/json: + schema: + type: object + properties: + docs: + description: Sample documents to test in the pipeline. + type: array + items: + $ref: '#/components/schemas/ingest.simulate:Document' + pipeline: + $ref: '#/components/schemas/ingest._common:Pipeline' + description: The simulate definition + required: true + knn.search_models: + content: + application/json: + schema: + type: object + knn.train_model: + content: + application/json: + schema: + type: object + properties: + training_index: + type: string + training_field: + type: string + dimension: + type: integer + format: int32 + max_training_vector_count: + type: integer + format: int32 + search_size: + type: integer + format: int32 + description: + type: string + method: + type: string + required: + - dimension + - method + - training_field + - training_index + required: true + mget: + content: + application/json: + schema: + type: object + properties: + docs: + description: The documents you want to retrieve. Required if no index is specified in the request URI. + type: array + items: + $ref: '#/components/schemas/_core.mget:Operation' + ids: + $ref: '#/components/schemas/_common:Ids' + description: Document identifiers; can be either `docs` (containing full document information) or `ids` (when index is provided in the URL. + required: true + ml.register_model: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: The model name. + version: + type: string + description: The model version. + model_format: + type: string + description: The portable format of the model file. + enum: + - ONNX + - TORCH_SCRIPT + description: + type: string + description: The model description. + model_group_id: + type: string + description: The ID of the model group to which to register the model. + required: + - model_format + - name + - version + ml.register_model_group: + content: + application/json: + schema: + type: object + properties: + name: + type: string + description: The model group name. + description: + type: string + description: The model group description. + access_mode: + type: string + description: The model group access mode. + enum: + - private + - public + - restricted + backend_roles: + type: array + items: + type: string + description: The backend roles. + add_all_backend_roles: + type: boolean + description: The add all backend roles. + required: + - name + ml.search_models: + content: + application/json: + schema: + $ref: '#/components/schemas/ml._common:SearchModelsQuery' + msearch: + content: + application/x-ndjson: + schema: + type: array + items: + $ref: '#/components/schemas/_core.msearch:RequestItem' + description: The request definitions (metadata-search request definition pairs), separated by newlines + required: true + msearch_template: + content: + application/x-ndjson: + schema: + type: array + items: + $ref: '#/components/schemas/_core.msearch_template:RequestItem' + description: The request definitions (metadata-search request definition pairs), separated by newlines + required: true + mtermvectors: + content: + application/json: + schema: + type: object + properties: + docs: + description: Array of existing or artificial documents. + type: array + items: + $ref: '#/components/schemas/_core.mtermvectors:Operation' + ids: + description: Simplified syntax to specify documents by their ID if they're in the same index. + type: array + items: + $ref: '#/components/schemas/_common:Id' + description: Define ids, documents, parameters or a list of parameters per document here. You must at least provide a list of document ids. See documentation. + nodes.reload_secure_settings: + content: + application/json: + schema: + type: object + properties: + secure_settings_password: + $ref: '#/components/schemas/_common:Password' + description: An object containing the password for the opensearch keystore + notifications.create_config: + content: + application/json: + schema: + $ref: '#/components/schemas/notifications._common:NotificationsConfig' + required: true + notifications.get_configs: + content: + application/json: + schema: + type: object + properties: + config_id_list: + type: array + items: + type: string + sort_field: + type: string + sort_order: + type: string + from_index: + type: integer + format: int32 + max_items: + type: integer + format: int32 + notifications.update_config: + content: + application/json: + schema: + $ref: '#/components/schemas/notifications._common:NotificationsConfig' + required: true + observability.create_object: + content: + application/json: + schema: + $ref: '#/components/schemas/observability._common:ObservabilityObject' + observability.update_object: + content: + application/json: + schema: + $ref: '#/components/schemas/observability._common:ObservabilityObject' + ppl.explain: + content: + application/json: + schema: + $ref: '#/components/schemas/sql._common:Explain' + required: true + ppl.post_stats: + content: + application/json: + schema: + $ref: '#/components/schemas/sql._common:Stats' + required: true + ppl.query: + content: + application/json: + schema: + $ref: '#/components/schemas/sql._common:Query' + required: true + put_script: + content: + application/json: + schema: + type: object + properties: + script: + $ref: '#/components/schemas/_common:StoredScript' + required: + - script + description: The document + required: true + query.datasources_create: + content: + application/json: + schema: + $ref: '#/components/schemas/query._common:DataSource' + query.datasources_update: + content: + application/json: + schema: + $ref: '#/components/schemas/query._common:DataSource' + rank_eval: + content: + application/json: + schema: + type: object + properties: + requests: + description: A set of typical search requests, together with their provided ratings. + type: array + items: + $ref: '#/components/schemas/_core.rank_eval:RankEvalRequestItem' + metric: + $ref: '#/components/schemas/_core.rank_eval:RankEvalMetric' + required: + - requests + description: The ranking evaluation search definition, including search requests, document ratings and ranking metric definition. + required: true + reindex: + content: + application/json: + schema: + type: object + properties: + conflicts: + $ref: '#/components/schemas/_common:Conflicts' + dest: + $ref: '#/components/schemas/_core.reindex:Destination' + max_docs: + description: The maximum number of documents to reindex. + type: number + script: + $ref: '#/components/schemas/_common:Script' + size: + type: number + source: + $ref: '#/components/schemas/_core.reindex:Source' + required: + - dest + - source + description: The search definition using the Query DSL and the prototype for the index request. + required: true + remote_store.restore: + content: + application/json: + schema: + type: object + description: Comma-separated list of index IDs + properties: + indices: + type: array + items: + type: string + required: + - indices + examples: + RemoteStoreRestore_example1: + summary: Examples for Post Remote Storage Restore Operation. + value: + indices: + - books + required: true + render_search_template: + content: + application/json: + schema: + type: object + properties: + file: + type: string + params: + description: |- + Key-value pairs used to replace Mustache variables in the template. + The key is the variable name. + The value is the variable value. + type: object + additionalProperties: + type: object + source: + description: |- + An inline search template. + Supports the same parameters as the search API's request body. + These parameters also support Mustache variables. + If no `id` or `` is specified, this parameter is required. + type: string + description: The search definition template and its params + rollups.put: + content: + application/json: + schema: + $ref: '#/components/schemas/rollups._common:RollupEntity' + scripts_painless_execute: + content: + application/json: + schema: + type: object + properties: + context: + description: The context that the script should run in. + type: string + context_setup: + $ref: '#/components/schemas/_core.scripts_painless_execute:PainlessContextSetup' + script: + $ref: '#/components/schemas/_common:InlineScript' + description: The script to execute + scroll: + content: + application/json: + schema: + type: object + properties: + scroll: + $ref: '#/components/schemas/_common:Duration' + scroll_id: + $ref: '#/components/schemas/_common:ScrollId' + required: + - scroll_id + description: The scroll ID if not passed by URL or query parameter. + search: + content: + application/json: + schema: + type: object + properties: + aggregations: + description: Defines the aggregations that are run as part of the search request. + type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:AggregationContainer' + collapse: + $ref: '#/components/schemas/_core.search:FieldCollapse' + explain: + description: If true, returns detailed information about score computation as part of a hit. + type: boolean + ext: + description: Configuration of search extensions defined by OpenSearch plugins. + type: object + additionalProperties: + type: object + from: + description: |- + Starting document offset. + Needs to be non-negative. + By default, you cannot page through more than 10,000 hits using the `from` and `size` parameters. + To page through more hits, use the `search_after` parameter. + type: number + highlight: + $ref: '#/components/schemas/_core.search:Highlight' + track_total_hits: + $ref: '#/components/schemas/_core.search:TrackHits' + indices_boost: + description: Boosts the _score of documents from specified indices. + type: array + items: + type: object + additionalProperties: + type: number + docvalue_fields: + description: |- + Array of wildcard (`*`) patterns. + The request returns doc values for field names matching these patterns in the `hits.fields` property of the response. + type: array + items: + $ref: '#/components/schemas/_common.query_dsl:FieldAndFormat' + knn: + description: Defines the approximate kNN search to run. + oneOf: + - $ref: '#/components/schemas/_common:KnnQuery' + - type: array + items: + $ref: '#/components/schemas/_common:KnnQuery' + rank: + $ref: '#/components/schemas/_common:RankContainer' + min_score: + description: |- + Minimum `_score` for matching documents. + Documents with a lower `_score` are not included in the search results. + type: number + post_filter: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + profile: + description: |- + Set to `true` to return detailed timing information about the execution of individual components in a search request. + NOTE: This is a debugging tool and adds significant overhead to search execution. + type: boolean + query: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + rescore: + description: Can be used to improve precision by reordering just the top (for example 100 - 500) documents returned by the `query` and `post_filter` phases. + oneOf: + - $ref: '#/components/schemas/_core.search:Rescore' + - type: array + items: + $ref: '#/components/schemas/_core.search:Rescore' + script_fields: + description: Retrieve a script evaluation (based on different fields) for each hit. + type: object + additionalProperties: + $ref: '#/components/schemas/_common:ScriptField' + search_after: + $ref: '#/components/schemas/_common:SortResults' + size: + description: |- + The number of hits to return. + By default, you cannot page through more than 10,000 hits using the `from` and `size` parameters. + To page through more hits, use the `search_after` parameter. + type: number + slice: + $ref: '#/components/schemas/_common:SlicedScroll' + sort: + $ref: '#/components/schemas/_common:Sort' + _source: + $ref: '#/components/schemas/_core.search:SourceConfig' + fields: + description: |- + Array of wildcard (`*`) patterns. + The request returns values for field names matching these patterns in the `hits.fields` property of the response. + type: array + items: + $ref: '#/components/schemas/_common.query_dsl:FieldAndFormat' + suggest: + $ref: '#/components/schemas/_core.search:Suggester' + terminate_after: + description: |- + Maximum number of documents to collect for each shard. + If a query reaches this limit, OpenSearch terminates the query early. + OpenSearch collects documents before sorting. + Use with caution. + OpenSearch applies this parameter to each shard handling the request. + When possible, let OpenSearch perform early termination automatically. + Avoid specifying this parameter for requests that target data streams with backing indices across multiple data tiers. + If set to `0` (default), the query does not terminate early. + type: number + timeout: + description: |- + Specifies the period of time to wait for a response from each shard. + If no response is received before the timeout expires, the request fails and returns an error. + Defaults to no timeout. + type: string + track_scores: + description: If true, calculate and return document scores, even if the scores are not used for sorting. + type: boolean + version: + description: If true, returns document version as part of a hit. + type: boolean + seq_no_primary_term: + description: If `true`, returns sequence number and primary term of the last modification of each hit. + type: boolean + stored_fields: + $ref: '#/components/schemas/_common:Fields' + pit: + $ref: '#/components/schemas/_core.search:PointInTimeReference' + runtime_mappings: + $ref: '#/components/schemas/_common.mapping:RuntimeFields' + stats: + description: |- + Stats groups to associate with the search. + Each group maintains a statistics aggregation for its associated searches. + You can retrieve these stats using the indices stats API. + type: array + items: + type: string + description: The search definition using the Query DSL + search_pipeline.put: + content: + application/json: + schema: + $ref: '#/components/schemas/search_pipeline._common:SearchPipelineStructure' + required: true + search_template: + content: + application/json: + schema: + type: object + properties: + explain: + description: If `true`, returns detailed information about score calculation as part of each hit. + type: boolean + id: + $ref: '#/components/schemas/_common:Id' + params: + description: |- + Key-value pairs used to replace Mustache variables in the template. + The key is the variable name. + The value is the variable value. + type: object + additionalProperties: + type: object + profile: + description: If `true`, the query execution is profiled. + type: boolean + source: + description: |- + An inline search template. Supports the same parameters as the search API's + request body. Also supports Mustache variables. If no id is specified, this + parameter is required. + type: string + description: The search definition template and its params + required: true + security.change_password: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:ChangePasswordRequestContent' + required: true + security.config_upgrade_perform: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:ConfigUpgradePayload' + security.create_action_group: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:ActionGroup' + required: true + security.create_allowlist: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:AllowListConfig' + required: true + security.create_role: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Role' + required: true + security.create_role_mapping: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:RoleMapping' + required: true + security.create_tenant: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:CreateTenantParams' + required: true + security.create_update_tenancy_config: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:MultiTenancyConfig' + required: true + security.create_user: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:User' + required: true + security.create_user_legacy: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:User' + required: true + security.generate_obo_token: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:OBOToken' + required: true + security.patch_action_group: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/security._common:PatchOperation' + required: true + security.patch_action_groups: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/security._common:PatchOperation' + required: true + security.patch_allowlist: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/security._common:PatchOperation' + required: true + security.patch_audit_configuration: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/security._common:PatchOperation' + required: true + security.patch_configuration: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/security._common:PatchOperation' + required: true + security.patch_distinguished_name: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:PatchOperation' + security.patch_distinguished_names: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/security._common:PatchOperation' + required: true + security.patch_role: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/security._common:PatchOperation' + required: true + security.patch_role_mapping: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/security._common:PatchOperation' + required: true + security.patch_role_mappings: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/security._common:PatchOperation' + required: true + security.patch_roles: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/security._common:PatchOperation' + required: true + security.patch_tenant: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/security._common:PatchOperation' + required: true + security.patch_tenants: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/security._common:PatchOperation' + required: true + security.patch_user: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/security._common:PatchOperation' + required: true + security.patch_users: + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/security._common:PatchOperation' + required: true + security.update_audit_configuration: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:AuditConfig' + required: true + security.update_configuration: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:DynamicConfig' + required: true + security.update_distinguished_name: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:DistinguishedNames' + snapshot.clone: + content: + application/json: + schema: + type: object + properties: + indices: + type: string + required: + - indices + description: The snapshot clone definition + required: true + snapshot.create: + content: + application/json: + schema: + type: object + properties: + ignore_unavailable: + description: If `true`, the request ignores data streams and indices in `indices` that are missing or closed. If `false`, the request returns an error for any data stream or index that is missing or closed. + type: boolean + include_global_state: + description: If `true`, the current cluster state is included in the snapshot. The cluster state includes persistent cluster settings, composable index templates, legacy index templates, ingest pipelines, and ILM policies. It also includes data stored in system indices, such as Watches and task records (configurable via `feature_states`). + type: boolean + indices: + $ref: '#/components/schemas/_common:Indices' + feature_states: + description: Feature states to include in the snapshot. Each feature state includes one or more system indices containing related data. You can view a list of eligible features using the get features API. If `include_global_state` is `true`, all current feature states are included by default. If `include_global_state` is `false`, no feature states are included by default. + type: array + items: + type: string + metadata: + $ref: '#/components/schemas/_common:Metadata' + partial: + description: If `true`, allows restoring a partial snapshot of indices with unavailable shards. Only shards that were successfully included in the snapshot will be restored. All missing shards will be recreated as empty. If `false`, the entire restore operation will fail if one or more indices included in the snapshot do not have all primary shards available. + type: boolean + description: The snapshot definition + snapshot.create_repository: + content: + application/json: + schema: + type: object + properties: + repository: + $ref: '#/components/schemas/snapshot._common:Repository' + type: + type: string + settings: + $ref: '#/components/schemas/snapshot._common:RepositorySettings' + required: + - settings + - type + description: The repository definition + required: true + snapshot.restore: + content: + application/json: + schema: + type: object + properties: + feature_states: + type: array + items: + type: string + ignore_index_settings: + type: array + items: + type: string + ignore_unavailable: + type: boolean + include_aliases: + type: boolean + include_global_state: + type: boolean + index_settings: + $ref: '#/components/schemas/indices._common:IndexSettings' + indices: + $ref: '#/components/schemas/_common:Indices' + partial: + type: boolean + rename_pattern: + type: string + rename_replacement: + type: string + description: Details of what to restore + sql.close: + content: + application/json: + schema: + $ref: '#/components/schemas/sql._common:SqlClose' + required: true + sql.explain: + content: + application/json: + schema: + $ref: '#/components/schemas/sql._common:Explain' + required: true + sql.post_stats: + content: + application/json: + schema: + $ref: '#/components/schemas/sql._common:Stats' + required: true + sql.query: + content: + application/json: + schema: + $ref: '#/components/schemas/sql._common:Query' + required: true + sql.settings: + content: + application/json: + schema: + anyOf: + - $ref: '#/components/schemas/sql._common:SqlSettingsPlain' + - $ref: '#/components/schemas/sql._common:SqlSettings' + required: true + termvectors: + content: + application/json: + schema: + type: object + properties: + doc: + description: An artificial document (a document not present in the index) for which you want to retrieve term vectors. + type: object + filter: + $ref: '#/components/schemas/_core.termvectors:Filter' + per_field_analyzer: + description: Overrides the default per-field analyzer. + type: object + additionalProperties: + type: string + description: Define parameters and or supply a document to get termvectors for. See documentation. + transforms.put: + content: + application/json: + schema: + $ref: '#/components/schemas/transforms._common:Transform' + update: + content: + application/json: + schema: + type: object + properties: + detect_noop: + description: |- + Set to false to disable setting 'result' in the response + to 'noop' if no change to the document occurred. + type: boolean + doc: + description: A partial update to an existing document. + type: object + doc_as_upsert: + description: Set to true to use the contents of 'doc' as the value of 'upsert' + type: boolean + script: + $ref: '#/components/schemas/_common:Script' + scripted_upsert: + description: Set to true to execute the script whether or not the document exists. + type: boolean + _source: + $ref: '#/components/schemas/_core.search:SourceConfig' + upsert: + description: |- + If the document does not already exist, the contents of 'upsert' are inserted as a + new document. If the document exists, the 'script' is executed. + type: object + description: The request definition requires either `script` or partial `doc` + required: true + update_by_query: + content: + application/json: + schema: + type: object + properties: + max_docs: + description: The maximum number of documents to update. + type: number + query: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + script: + $ref: '#/components/schemas/_common:Script' + slice: + $ref: '#/components/schemas/_common:SlicedScroll' + conflicts: + $ref: '#/components/schemas/_common:Conflicts' + description: The search definition using the Query DSL + responses: + bulk@200: + content: + application/json: + schema: + type: object + properties: + errors: + type: boolean + items: + type: array + items: + type: object + additionalProperties: + $ref: '#/components/schemas/_core.bulk:ResponseItem' + minProperties: 1 + maxProperties: 1 + took: + type: number + ingest_took: + type: number + required: + - errors + - items + - took + cat.aliases@200: + content: + text/plain: + type: string + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/cat.aliases:AliasesRecord' + cat.all_pit_segments@200: + content: + text/plain: + type: string + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/cat._common:CatPitSegmentsRecord' + cat.allocation@200: + content: + text/plain: + type: string + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/cat.allocation:AllocationRecord' + cat.cluster_manager@200: + content: + text/plain: + type: string + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/cat.cluster_manager:ClusterManagerRecord' + cat.count@200: + content: + text/plain: + type: string + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/cat.count:CountRecord' + cat.fielddata@200: + content: + text/plain: + type: string + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/cat.fielddata:FielddataRecord' + cat.health@200: + content: + text/plain: + type: string + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/cat.health:HealthRecord' + application/yaml: + schema: + type: array + items: + $ref: '#/components/schemas/cat.health:HealthRecord' + application/cbor: + schema: + type: array + items: + $ref: '#/components/schemas/cat.health:HealthRecord' + application/smile: + schema: + type: array + items: + $ref: '#/components/schemas/cat.health:HealthRecord' + cat.help@200: + content: + text/plain: + schema: + type: string + cat.indices@200: + content: + text/plain: + type: string + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/cat.indices:IndicesRecord' + application/yaml: + schema: + type: array + items: + $ref: '#/components/schemas/cat.indices:IndicesRecord' + application/cbor: + schema: + type: array + items: + $ref: '#/components/schemas/cat.indices:IndicesRecord' + application/smile: + schema: + type: array + items: + $ref: '#/components/schemas/cat.indices:IndicesRecord' + cat.master@200: + content: + text/plain: + type: string + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/cat.master:MasterRecord' + cat.nodeattrs@200: + content: + text/plain: + type: string + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/cat.nodeattrs:NodeAttributesRecord' + cat.nodes@200: + content: + text/plain: + type: string + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/cat.nodes:NodesRecord' + cat.pending_tasks@200: + content: + text/plain: + type: string + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/cat.pending_tasks:PendingTasksRecord' + cat.pit_segments@200: + content: + text/plain: + type: string + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/cat._common:CatPitSegmentsRecord' + cat.plugins@200: + content: + text/plain: + type: string + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/cat.plugins:PluginsRecord' + cat.recovery@200: + content: + text/plain: + type: string + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/cat.recovery:RecoveryRecord' + cat.repositories@200: + content: + text/plain: + type: string + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/cat.repositories:RepositoriesRecord' + cat.segment_replication@200: + content: + text/plain: + type: string + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/cat._common:CatSegmentReplicationRecord' + cat.segments@200: + content: + text/plain: + type: string + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/cat.segments:SegmentsRecord' + cat.shards@200: + content: + text/plain: + type: string + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/cat.shards:ShardsRecord' + cat.snapshots@200: + content: + text/plain: + type: string + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/cat.snapshots:SnapshotsRecord' + cat.tasks@200: + content: + text/plain: + type: string + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/cat.tasks:TasksRecord' + cat.templates@200: + content: + text/plain: + type: string + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/cat.templates:TemplatesRecord' + cat.thread_pool@200: + content: + text/plain: + type: string + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/cat.thread_pool:ThreadPoolRecord' + clear_scroll@200: + content: + application/json: + schema: + type: object + properties: + succeeded: + type: boolean + num_freed: + type: number + required: + - num_freed + - succeeded + cluster.allocation_explain@200: + content: + application/json: + schema: + type: object + properties: + allocate_explanation: + type: string + allocation_delay: + $ref: '#/components/schemas/_common:Duration' + allocation_delay_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + can_allocate: + $ref: '#/components/schemas/cluster.allocation_explain:Decision' + can_move_to_other_node: + $ref: '#/components/schemas/cluster.allocation_explain:Decision' + can_rebalance_cluster: + $ref: '#/components/schemas/cluster.allocation_explain:Decision' + can_rebalance_cluster_decisions: + type: array + items: + $ref: '#/components/schemas/cluster.allocation_explain:AllocationDecision' + can_rebalance_to_other_node: + $ref: '#/components/schemas/cluster.allocation_explain:Decision' + can_remain_decisions: + type: array + items: + $ref: '#/components/schemas/cluster.allocation_explain:AllocationDecision' + can_remain_on_current_node: + $ref: '#/components/schemas/cluster.allocation_explain:Decision' + cluster_info: + $ref: '#/components/schemas/cluster.allocation_explain:ClusterInfo' + configured_delay: + $ref: '#/components/schemas/_common:Duration' + configured_delay_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + current_node: + $ref: '#/components/schemas/cluster.allocation_explain:CurrentNode' + current_state: + type: string + index: + $ref: '#/components/schemas/_common:IndexName' + move_explanation: + type: string + node_allocation_decisions: + type: array + items: + $ref: '#/components/schemas/cluster.allocation_explain:NodeAllocationExplanation' + primary: + type: boolean + rebalance_explanation: + type: string + remaining_delay: + $ref: '#/components/schemas/_common:Duration' + remaining_delay_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + shard: + type: number + unassigned_info: + $ref: '#/components/schemas/cluster.allocation_explain:UnassignedInformation' + note: + type: string + required: + - current_state + - index + - primary + - shard + cluster.delete_component_template@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + cluster.delete_decommission_awareness@200: {} + cluster.delete_voting_config_exclusions@200: + content: + application/json: {} + cluster.delete_weighted_routing@200: {} + cluster.exists_component_template@200: + content: + application/json: {} + cluster.get_component_template@200: + content: + application/json: + schema: + type: object + properties: + component_templates: + type: array + items: + $ref: '#/components/schemas/cluster._common:ComponentTemplate' + required: + - component_templates + cluster.get_decommission_awareness@200: {} + cluster.get_settings@200: + content: + application/json: + schema: + type: object + properties: + persistent: + type: object + additionalProperties: + type: object + transient: + type: object + additionalProperties: + type: object + defaults: + type: object + additionalProperties: + type: object + required: + - persistent + - transient + cluster.get_weighted_routing@200: {} + cluster.health@200: + content: + application/json: + schema: + $ref: '#/components/schemas/cluster.health:HealthResponseBody' + cluster.pending_tasks@200: + content: + application/json: + schema: + type: object + properties: + tasks: + type: array + items: + $ref: '#/components/schemas/cluster.pending_tasks:PendingTask' + required: + - tasks + cluster.post_voting_config_exclusions@200: + content: + application/json: {} + cluster.put_component_template@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + cluster.put_decommission_awareness@200: {} + cluster.put_settings@200: + content: + application/json: + schema: + type: object + properties: + acknowledged: + type: boolean + persistent: + type: object + additionalProperties: {} + transient: + type: object + additionalProperties: {} + required: + - acknowledged + - persistent + - transient + cluster.put_weighted_routing@200: {} + cluster.remote_info@200: + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/cluster.remote_info:ClusterRemoteInfo' + cluster.reroute@200: + content: + application/json: + schema: + type: object + properties: + acknowledged: + type: boolean + explanations: + type: array + items: + $ref: '#/components/schemas/cluster.reroute:RerouteExplanation' + state: + description: |- + There aren't any guarantees on the output/structure of the raw cluster state. + Here you will find the internal representation of the cluster, which can + differ from the external representation. + type: object + required: + - acknowledged + cluster.state@200: + content: + application/json: + schema: + type: object + cluster.stats@200: + content: + application/json: + schema: + $ref: '#/components/schemas/cluster.stats:StatsResponseBase' + count@200: + content: + application/json: + schema: + type: object + properties: + count: + type: number + _shards: + $ref: '#/components/schemas/_common:ShardStatistics' + required: + - _shards + - count + create_pit@200: + content: + application/json: + schema: + type: object + properties: + pit_id: + type: string + _shards: + $ref: '#/components/schemas/_core._common:ShardStatistics' + creation_time: + type: integer + format: int64 + create@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:WriteResponseBase' + dangling_indices.delete_dangling_index@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + dangling_indices.import_dangling_index@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + dangling_indices.list_dangling_indices@200: + content: + application/json: + schema: + type: object + properties: + _nodes: + $ref: '#/components/schemas/_common:NodeStatistics' + cluster_name: + $ref: '#/components/schemas/_common:Name' + dangling_indices: + type: array + items: + $ref: '#/components/schemas/dangling_indices.list_dangling_indices:DanglingIndex' + required: + - dangling_indices + delete_all_pits@200: + content: + application/json: + schema: + type: object + properties: + pits: + type: array + items: + $ref: '#/components/schemas/_core._common:PitsDetailsDeleteAll' + delete_by_query_rethrottle@200: + content: + application/json: + schema: + $ref: '#/components/schemas/tasks._common:TaskListResponseBase' + delete_by_query@200: + content: + application/json: + schema: + type: object + properties: + batches: + type: number + deleted: + type: number + failures: + type: array + items: + $ref: '#/components/schemas/_common:BulkIndexByScrollFailure' + noops: + type: number + requests_per_second: + type: number + retries: + $ref: '#/components/schemas/_common:Retries' + slice_id: + type: number + task: + $ref: '#/components/schemas/_common:TaskId' + throttled: + $ref: '#/components/schemas/_common:Duration' + throttled_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + throttled_until: + $ref: '#/components/schemas/_common:Duration' + throttled_until_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + timed_out: + type: boolean + took: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + total: + type: number + version_conflicts: + type: number + delete_pit@200: + content: + application/json: + schema: + type: object + properties: + pits: + type: array + items: + $ref: '#/components/schemas/_core._common:DeletedPit' + delete_script@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + delete@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:WriteResponseBase' + exists_source@200: + content: + application/json: {} + exists@200: + content: + application/json: {} + explain@200: + content: + application/json: + schema: + type: object + properties: + _index: + $ref: '#/components/schemas/_common:IndexName' + _id: + $ref: '#/components/schemas/_common:Id' + matched: + type: boolean + explanation: + $ref: '#/components/schemas/_core.explain:ExplanationDetail' + get: + $ref: '#/components/schemas/_common:InlineGet' + required: + - _id + - _index + - matched + field_caps@200: + content: + application/json: + schema: + type: object + properties: + indices: + $ref: '#/components/schemas/_common:Indices' + fields: + type: object + additionalProperties: + type: object + additionalProperties: + $ref: '#/components/schemas/_core.field_caps:FieldCapability' + required: + - fields + - indices + get_all_pits@200: + content: + application/json: + schema: + type: object + properties: + pits: + type: array + items: + $ref: '#/components/schemas/_core._common:PitDetail' + get_script_context@200: + content: + application/json: + schema: + type: object + properties: + contexts: + type: array + items: + $ref: '#/components/schemas/_core.get_script_context:Context' + required: + - contexts + get_script_languages@200: + content: + application/json: + schema: + type: object + properties: + language_contexts: + type: array + items: + $ref: '#/components/schemas/_core.get_script_languages:LanguageContext' + types_allowed: + type: array + items: + type: string + required: + - language_contexts + - types_allowed + get_script@200: + content: + application/json: + schema: + type: object + properties: + _id: + $ref: '#/components/schemas/_common:Id' + found: + type: boolean + script: + $ref: '#/components/schemas/_common:StoredScript' + required: + - _id + - found + get_source@200: + content: + application/json: + schema: + type: object + get@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_core.get:GetResult' + index@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:WriteResponseBase' + index@201: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:WriteResponseBase' + indices.add_block@200: + content: + application/json: + schema: + type: object + properties: + acknowledged: + type: boolean + shards_acknowledged: + type: boolean + indices: + type: array + items: + $ref: '#/components/schemas/indices.add_block:IndicesBlockStatus' + required: + - acknowledged + - indices + - shards_acknowledged + indices.analyze@200: + content: + application/json: + schema: + type: object + properties: + detail: + $ref: '#/components/schemas/indices.analyze:AnalyzeDetail' + tokens: + type: array + items: + $ref: '#/components/schemas/indices.analyze:AnalyzeToken' + indices.clear_cache@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:ShardsOperationResponseBase' + indices.clone@200: + content: + application/json: + schema: + type: object + properties: + acknowledged: + type: boolean + index: + $ref: '#/components/schemas/_common:IndexName' + shards_acknowledged: + type: boolean + required: + - acknowledged + - index + - shards_acknowledged + indices.close@200: + content: + application/json: + schema: + type: object + properties: + acknowledged: + type: boolean + indices: + type: object + additionalProperties: + $ref: '#/components/schemas/indices.close:CloseIndexResult' + shards_acknowledged: + type: boolean + required: + - acknowledged + - indices + - shards_acknowledged + indices.create_data_stream@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + indices.create@200: + content: + application/json: + schema: + type: object + properties: + index: + $ref: '#/components/schemas/_common:IndexName' + shards_acknowledged: + type: boolean + acknowledged: + type: boolean + required: + - acknowledged + - index + - shards_acknowledged + indices.data_streams_stats@200: + content: + application/json: + schema: + type: object + properties: + _shards: + $ref: '#/components/schemas/_common:ShardStatistics' + backing_indices: + description: Total number of backing indices for the selected data streams. + type: number + data_stream_count: + description: Total number of selected data streams. + type: number + data_streams: + description: Contains statistics for the selected data streams. + type: array + items: + $ref: '#/components/schemas/indices.data_streams_stats:DataStreamsStatsItem' + total_store_sizes: + $ref: '#/components/schemas/_common:ByteSize' + total_store_size_bytes: + description: Total size, in bytes, of all shards for the selected data streams. + type: number + required: + - _shards + - backing_indices + - data_stream_count + - data_streams + - total_store_size_bytes + indices.delete_alias@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + indices.delete_data_stream@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + indices.delete_index_template@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + indices.delete_template@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + indices.delete@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:IndicesResponseBase' + indices.exists_alias@200: + content: + application/json: {} + indices.exists_alias@404: + content: + application/json: {} + indices.exists_index_template@200: + content: + application/json: {} + indices.exists_template@200: + content: + application/json: {} + indices.exists@200: + content: + application/json: {} + indices.exists@404: + content: + application/json: {} + indices.flush@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:ShardsOperationResponseBase' + indices.forcemerge@200: + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/_common:ShardsOperationResponseBase' + - type: object + properties: + task: + description: |- + task contains a task id returned when wait_for_completion=false, + you can use the task_id to get the status of the task at _tasks/ + type: string + indices.get_alias@200: + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/indices.get_alias:IndexAliases' + indices.get_alias@404: + content: + application/json: {} + indices.get_data_stream@200: + content: + application/json: + schema: + type: object + properties: + data_streams: + type: array + items: + $ref: '#/components/schemas/indices._common:DataStream' + required: + - data_streams + indices.get_field_mapping@200: + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/indices.get_field_mapping:TypeFieldMappings' + indices.get_index_template@200: + content: + application/json: + schema: + type: object + properties: + index_templates: + type: array + items: + $ref: '#/components/schemas/indices.get_index_template:IndexTemplateItem' + required: + - index_templates + indices.get_mapping@200: + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/indices.get_mapping:IndexMappingRecord' + indices.get_settings@200: + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/indices._common:IndexState' + indices.get_template@200: + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/indices._common:TemplateMapping' + indices.get_upgrade@200: {} + indices.get@200: + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/indices._common:IndexState' + indices.open@200: + content: + application/json: + schema: + oneOf: + - type: object + properties: + task: + $ref: '#/components/schemas/_common:TaskId' + additionalProperties: false + - type: object + properties: + acknowledged: + type: boolean + shards_acknowledged: + type: boolean + required: + - acknowledged + - shards_acknowledged + additionalProperties: false + indices.put_alias@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + indices.put_index_template@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + indices.put_mapping@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:IndicesResponseBase' + indices.put_settings@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + indices.put_template@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + indices.recovery@200: + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/indices.recovery:RecoveryStatus' + indices.refresh@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:ShardsOperationResponseBase' + indices.resolve_index@200: + content: + application/json: + schema: + type: object + properties: + indices: + type: array + items: + $ref: '#/components/schemas/indices.resolve_index:ResolveIndexItem' + aliases: + type: array + items: + $ref: '#/components/schemas/indices.resolve_index:ResolveIndexAliasItem' + data_streams: + type: array + items: + $ref: '#/components/schemas/indices.resolve_index:ResolveIndexDataStreamsItem' + required: + - aliases + - data_streams + - indices + indices.rollover@200: + content: + application/json: + schema: + type: object + properties: + acknowledged: + type: boolean + conditions: + type: object + additionalProperties: + type: boolean + dry_run: + type: boolean + new_index: + type: string + old_index: + type: string + rolled_over: + type: boolean + shards_acknowledged: + type: boolean + required: + - acknowledged + - conditions + - dry_run + - new_index + - old_index + - rolled_over + - shards_acknowledged + indices.segments@200: + content: + application/json: + schema: + type: object + properties: + indices: + type: object + additionalProperties: + $ref: '#/components/schemas/indices.segments:IndexSegment' + _shards: + $ref: '#/components/schemas/_common:ShardStatistics' + required: + - _shards + - indices + indices.shard_stores@200: + content: + application/json: + schema: + type: object + properties: + indices: + type: object + additionalProperties: + $ref: '#/components/schemas/indices.shard_stores:IndicesShardStores' + required: + - indices + indices.shrink@200: + content: + application/json: + schema: + type: object + properties: + acknowledged: + type: boolean + shards_acknowledged: + type: boolean + index: + $ref: '#/components/schemas/_common:IndexName' + required: + - acknowledged + - index + - shards_acknowledged + indices.simulate_index_template@200: + content: + application/json: + schema: + type: object + indices.simulate_template@200: + content: + application/json: + schema: + type: object + properties: + overlapping: + type: array + items: + $ref: '#/components/schemas/indices.simulate_template:Overlapping' + template: + $ref: '#/components/schemas/indices.simulate_template:Template' + required: + - template + indices.split@200: + content: + application/json: + schema: + type: object + properties: + acknowledged: + type: boolean + shards_acknowledged: + type: boolean + index: + $ref: '#/components/schemas/_common:IndexName' + required: + - acknowledged + - index + - shards_acknowledged + indices.stats@200: + content: + application/json: + schema: + type: object + properties: + _shards: + $ref: '#/components/schemas/_common:ShardStatistics' + _all: + $ref: '#/components/schemas/indices.stats:AllIndicesStats' + indices: + type: object + additionalProperties: + $ref: '#/components/schemas/indices.stats:IndicesStats' + required: + - _all + - _shards + indices.update_aliases@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + indices.upgrade@200: {} + indices.validate_query@200: + content: + application/json: + schema: + type: object + properties: + explanations: + type: array + items: + $ref: '#/components/schemas/indices.validate_query:IndicesValidationExplanation' + _shards: + $ref: '#/components/schemas/_common:ShardStatistics' + valid: + type: boolean + error: + type: string + required: + - valid + info@200: + content: + application/json: + schema: + type: object + properties: + cluster_name: + $ref: '#/components/schemas/_common:Name' + cluster_uuid: + $ref: '#/components/schemas/_common:Uuid' + name: + $ref: '#/components/schemas/_common:Name' + tagline: + type: string + version: + $ref: '#/components/schemas/_common:OpenSearchVersionInfo' + required: + - cluster_name + - cluster_uuid + - name + - tagline + - version + ingest.delete_pipeline@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + ingest.get_pipeline@200: + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/ingest._common:Pipeline' + ingest.processor_grok@200: + content: + application/json: + schema: + type: object + properties: + patterns: + type: object + additionalProperties: + type: string + required: + - patterns + ingest.put_pipeline@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + ingest.simulate@200: + content: + application/json: + schema: + type: object + properties: + docs: + type: array + items: + $ref: '#/components/schemas/ingest.simulate:PipelineSimulation' + required: + - docs + knn.delete_model@200: {} + knn.get_model@200: {} + knn.search_models@200: {} + knn.stats@200: {} + knn.train_model@200: {} + knn.warmup@200: {} + mget@200: + content: + application/json: + schema: + type: object + properties: + docs: + type: array + items: + $ref: '#/components/schemas/_core.mget:ResponseItem' + required: + - docs + ml.delete_model_group@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:WriteResponseBase' + ml.delete_model@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:WriteResponseBase' + ml.delete_task@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:WriteResponseBase' + ml.deploy_model@200: + content: + application/json: + schema: + type: object + properties: + status: + type: string + task_id: + type: string + task_type: + type: string + required: + - status + - task_id + ml.get_model_group@200: + content: + application/json: + schema: + $ref: '#/components/schemas/ml._common:ModelGroup' + ml.get_task@200: + content: + application/json: + schema: + $ref: '#/components/schemas/ml._common:Task' + ml.register_model_group@200: + content: + application/json: + schema: + $ref: '#/components/schemas/ml._common:ModelGroupRegistration' + ml.register_model@200: + content: + application/json: + schema: + type: object + properties: + status: + type: string + task_id: + type: string + required: + - status + - task_id + ml.search_models@200: + content: + application/json: + schema: + $ref: '#/components/schemas/ml._common:SearchModelsResponse' + ml.undeploy_model@200: + content: + application/json: + schema: + $ref: '#/components/schemas/ml._common:UndeployModelResponse' + msearch_template@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_core.msearch:MultiSearchResult' + msearch@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_core.msearch:MultiSearchResult' + mtermvectors@200: + content: + application/json: + schema: + type: object + properties: + docs: + type: array + items: + $ref: '#/components/schemas/_core.mtermvectors:TermVectorsResult' + required: + - docs + nodes.hot_threads@200: {} + nodes.info@200: + content: + application/json: + schema: + $ref: '#/components/schemas/nodes.info:ResponseBase' + nodes.reload_secure_settings@200: + content: + application/json: + schema: + $ref: '#/components/schemas/nodes.reload_secure_settings:ResponseBase' + nodes.stats@200: + content: + application/json: + schema: + $ref: '#/components/schemas/nodes.stats:ResponseBase' + nodes.usage@200: + content: + application/json: + schema: + $ref: '#/components/schemas/nodes.usage:ResponseBase' + notifications.create_config@200: + content: + application/json: + schema: + type: object + properties: + config_id: + type: string + notifications.delete_config@200: + content: + application/json: + schema: + $ref: '#/components/schemas/notifications._common:DeleteConfigsResponse' + notifications.delete_configs@200: + content: + application/json: + schema: + $ref: '#/components/schemas/notifications._common:DeleteConfigsResponse' + notifications.get_config@200: + content: + application/json: + schema: + $ref: '#/components/schemas/notifications._common:GetConfigsResponse' + notifications.get_configs@200: + content: + application/json: + schema: + $ref: '#/components/schemas/notifications._common:GetConfigsResponse' + notifications.list_channels@200: + content: + application/json: + schema: + type: object + properties: + start_index: + type: integer + format: int64 + total_hits: + type: integer + format: int64 + total_hit_relation: + $ref: '#/components/schemas/notifications._common:TotalHitRelation' + channel_list: + type: array + items: + $ref: '#/components/schemas/notifications._common:NotificationChannel' + notifications.list_features@200: + content: + application/json: + schema: + type: object + properties: + allowed_config_type_list: + type: array + items: + $ref: '#/components/schemas/notifications._common:NotificationConfigType' + plugin_features: + $ref: '#/components/schemas/notifications._common:NotificationsPluginFeaturesMap' + notifications.send_test@200: + content: + application/json: + schema: + type: object + properties: + event_source: + $ref: '#/components/schemas/notifications._common:EventSource' + status_list: + type: array + items: + $ref: '#/components/schemas/notifications._common:EventStatus' + notifications.update_config@200: + content: + application/json: + schema: + type: object + properties: + config_id: + type: string + observability.create_object@200: + description: Created + content: + application/json: + schema: + type: object + properties: + objectId: + type: string + observability.delete_object@200: + description: Deleted + content: + application/json: + schema: + type: object + properties: + deleteResponseList: + type: object + additionalProperties: + type: string + example: OK + observability.delete_object@404: + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/observability._common:NotFoundResponse' + observability.delete_objects@200: + description: Deleted + content: + application/json: + schema: + type: object + properties: + deleteResponseList: + type: object + additionalProperties: + type: string + example: OK + observability.delete_objects@404: + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/observability._common:NotFoundResponse' + observability.get_localstats@200: + description: Retrieves + content: + application/json: + schema: + type: string + observability.get_object@200: + description: Successful response of retrieving specific Observability Object. + content: + application/json: + schema: + $ref: '#/components/schemas/observability._common:ObservabilityObjectList' + observability.get_object@404: + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/observability._common:NotFoundResponse' + observability.list_objects@200: + description: Successful response of retrieving all Observability Objects. + content: + application/json: + schema: + $ref: '#/components/schemas/observability._common:ObservabilityObjectList' + observability.update_object@200: + description: Updated + content: + application/json: + schema: + type: object + properties: + objectId: + type: string + observability.update_object@404: + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/observability._common:NotFoundResponse' + ping@200: + content: + application/json: {} + ppl.explain@200: + content: + application/json: + schema: + $ref: '#/components/schemas/sql._common:ExplainResponse' + required: true + ppl.get_stats@200: + content: + text/plain: + schema: + type: string + required: true + ppl.post_stats@200: + content: + text/plain: + schema: + type: string + required: true + ppl.query@200: + description: '' + content: + application/json: + schema: + $ref: '#/components/schemas/sql._common:QueryResponse' + put_script@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + query.datasource_delete@204: + description: No Content + content: + application/json: + schema: + type: object + properties: {} + query.datasource_delete@404: + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/query._common:DataSourceNotFound' + query.datasource_retrieve@200: + description: Successful response of retrieving Data Source. + content: + application/json: + schema: + $ref: '#/components/schemas/query._common:DataSourceRetrieve' + query.datasource_retrieve@404: + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/query._common:DataSourceNotFound' + query.datasources_create@201: + description: Created + content: + application/json: + schema: + type: string + query.datasources_list@200: + description: Successful response of retrieving all Data Sources. + content: + application/json: + schema: + $ref: '#/components/schemas/query._common:DataSourceList' + query.datasources_update@200: + description: Updated + content: + application/json: + schema: + type: string + query.datasources_update@404: + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/query._common:DataSourceNotFound' + rank_eval@200: + content: + application/json: + schema: + type: object + properties: + metric_score: + description: The overall evaluation quality calculated by the defined metric + type: number + details: + description: The details section contains one entry for every query in the original requests section, keyed by the search request id + type: object + additionalProperties: + $ref: '#/components/schemas/_core.rank_eval:RankEvalMetricDetail' + failures: + type: object + additionalProperties: + type: object + required: + - details + - failures + - metric_score + reindex_rethrottle@200: + content: + application/json: + schema: + type: object + properties: + nodes: + type: object + additionalProperties: + $ref: '#/components/schemas/_core.reindex_rethrottle:ReindexNode' + required: + - nodes + reindex@200: + content: + application/json: + schema: + type: object + properties: + batches: + type: number + created: + type: number + deleted: + type: number + failures: + type: array + items: + $ref: '#/components/schemas/_common:BulkIndexByScrollFailure' + noops: + type: number + retries: + $ref: '#/components/schemas/_common:Retries' + requests_per_second: + type: number + slice_id: + type: number + task: + $ref: '#/components/schemas/_common:TaskId' + throttled_millis: + $ref: '#/components/schemas/_common:EpochTimeUnitMillis' + throttled_until_millis: + $ref: '#/components/schemas/_common:EpochTimeUnitMillis' + timed_out: + type: boolean + took: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + total: + type: number + updated: + type: number + version_conflicts: + type: number + remote_store.restore@200: + content: + application/json: + schema: + type: object + properties: + accepted: + type: boolean + remote_store: + $ref: '#/components/schemas/remote_store._common:RemoteStoreRestoreInfo' + examples: + RemoteStoreRestore_example1: + summary: Examples for Post Remote Storage Restore Operation. + value: + remote_store: + indices: + - books + shards: + total: 1 + failed: 0 + successful: 1 + render_search_template@200: + content: + application/json: + schema: + type: object + properties: + template_output: + type: object + additionalProperties: + type: object + required: + - template_output + rollups.delete@200: {} + rollups.explain@200: + content: + application/json: + schema: + $ref: '#/components/schemas/rollups._common:ExplainEntities' + rollups.get@200: + content: + application/json: + schema: + $ref: '#/components/schemas/rollups._common:RollupEntity' + rollups.put@200: + content: + application/json: + schema: + $ref: '#/components/schemas/rollups._common:RollupEntity' + rollups.start@200: {} + rollups.stop@200: {} + scripts_painless_execute@200: + content: + application/json: + schema: + type: object + properties: + result: + type: object + required: + - result + scroll@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_core.search:ResponseBody' + search_pipeline.delete@200: + content: + application/json: + schema: + type: object + properties: + acknowledged: + type: boolean + search_pipeline.get@200: + content: + application/json: + schema: + $ref: '#/components/schemas/search_pipeline._common:SearchPipelineMap' + search_pipeline.put@200: + content: + application/json: + schema: + type: object + properties: + acknowledged: + type: boolean + search_shards@200: + content: + application/json: + schema: + type: object + properties: + nodes: + type: object + additionalProperties: + $ref: '#/components/schemas/_common:NodeAttributes' + shards: + type: array + items: + type: array + items: + $ref: '#/components/schemas/_common:NodeShard' + indices: + type: object + additionalProperties: + $ref: '#/components/schemas/_core.search_shards:ShardStoreIndex' + required: + - indices + - nodes + - shards + search_template@200: + content: + application/json: + schema: + type: object + properties: + took: + type: number + timed_out: + type: boolean + _shards: + $ref: '#/components/schemas/_common:ShardStatistics' + hits: + $ref: '#/components/schemas/_core.search:HitsMetadata' + aggregations: + type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:Aggregate' + _clusters: + $ref: '#/components/schemas/_common:ClusterStatistics' + fields: + type: object + additionalProperties: + type: object + max_score: + type: number + num_reduce_phases: + type: number + profile: + $ref: '#/components/schemas/_core.search:Profile' + pit_id: + $ref: '#/components/schemas/_common:Id' + _scroll_id: + $ref: '#/components/schemas/_common:ScrollId' + suggest: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/_core.search:Suggest' + terminated_early: + type: boolean + required: + - _shards + - hits + - timed_out + - took + search@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_core.search:ResponseBody' + search@400: + content: + application/json: + schema: + $ref: '#/components/schemas/query._common:ErrorResponse' + search@404: + content: + application/json: + schema: + $ref: '#/components/schemas/query._common:ErrorResponse' + security.authinfo@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:AuthInfo' + security.authinfo@500: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:InternalServerError' + security.authtoken@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.cache@501: + content: + application/json: + schema: null + security.change_password@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.change_password@403: + content: + application/json: + schema: null + security.config_upgrade_check@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:UpgradeCheck' + security.config_upgrade_perform@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:UpgradePerform' + security.config_upgrade_perform@400: + content: + application/json: + schema: null + security.create_action_group@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.create_action_group@201: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Created' + security.create_allowlist@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:AllowListConfig' + security.create_allowlist@403: + content: + application/json: + schema: null + security.create_role_mapping@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.create_role_mapping@201: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Created' + security.create_role@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.create_role@201: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Created' + security.create_tenant@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.create_tenant@201: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Created' + security.create_tenant@400: + content: + application/json: + schema: null + security.create_update_tenancy_config@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:MultiTenancyConfig' + security.create_update_tenancy_config@400: + content: + application/json: + schema: null + security.create_user_legacy@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.create_user_legacy@201: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Created' + security.create_user@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.delete_action_group@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.delete_distinguished_name@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.delete_distinguished_name@400: + content: + application/json: + schema: null + security.delete_distinguished_name@403: + content: + application/json: + schema: null + security.delete_role_mapping@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.delete_role@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.delete_tenant@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.delete_tenant@400: + content: + application/json: + schema: null + security.delete_user_legacy@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.delete_user@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.flush_cache@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.generate_obo_token@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:GenerateOBOToken' + security.generate_obo_token@400: + content: + text/plain: + type: string + application/json: + schema: null + security.generate_user_token_legacy@501: + content: + application/json: + schema: null + security.generate_user_token@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.generate_user_token@400: + content: + application/json: + schema: null + security.get_account_details@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:AccountDetails' + security.get_action_group@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:ActionGroupsMap' + security.get_action_groups@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:ActionGroupsMap' + security.get_all_certificates@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:GetCertificatesNew' + security.get_all_certificates@403: + content: + application/json: + schema: null + security.get_all_certificates@500: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:InternalServerError' + security.get_allowlist@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:AllowListConfig' + security.get_allowlist@403: + content: + application/json: + schema: null + security.get_audit_configuration@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:AuditConfigWithReadOnly' + security.get_certificates@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:GetCertificates' + security.get_certificates@400: + content: + application/json: + schema: null + security.get_certificates@403: + content: + application/json: + schema: null + security.get_configuration@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:SecurityConfig' + security.get_dashboards_info@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:DashboardsInfo' + security.get_dashboards_info@500: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:InternalServerError' + security.get_distinguished_name@200: + description: Show nodesDn setting for given cluster. + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:DistinguishedNames' + security.get_distinguished_name@400: + content: + application/json: + schema: null + security.get_distinguished_name@403: + content: + application/json: + schema: null + security.get_distinguished_names@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:DistinguishedNamesMap' + security.get_distinguished_names@400: + description: Show nodesDn setting for given cluster. + content: + application/json: + schema: null + security.get_distinguished_names@403: + content: + application/json: + schema: null + security.get_node_certificates@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:GetCertificatesNew' + security.get_node_certificates@403: + content: + application/json: + schema: null + security.get_node_certificates@500: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:InternalServerError' + security.get_permissions_info@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:PermissionsInfo' + security.get_permissions_info@500: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:InternalServerError' + security.get_role_mapping@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:RoleMappings' + security.get_role_mappings@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:RoleMappings' + security.get_role@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:RolesMap' + security.get_roles@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:RolesMap' + security.get_sslinfo@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:SSLInfo' + security.get_sslinfo@500: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:InternalServerError' + security.get_tenancy_config@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:MultiTenancyConfig' + security.get_tenancy_config@400: + content: + application/json: + schema: null + security.get_tenant@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:TenantsMap' + security.get_tenants@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:TenantsMap' + security.get_tenants@400: + content: + application/json: + schema: null + security.get_user_legacy@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:UsersMap' + security.get_user@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:UsersMap' + security.get_users_legacy@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:UsersMap' + security.get_users@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:UsersMap' + security.health@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:HealthInfo' + security.migrate@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.migrate@400: + content: + application/json: + schema: null + security.patch_action_group@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.patch_action_groups@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.patch_allowlist@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:AllowListConfig' + security.patch_allowlist@403: + content: + application/json: + schema: null + security.patch_audit_configuration@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.patch_configuration@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.patch_configuration@403: + content: + application/json: + schema: null + security.patch_distinguished_name@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.patch_distinguished_name@400: + content: + application/json: + schema: null + security.patch_distinguished_name@403: + content: + application/json: + schema: null + security.patch_distinguished_names@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.patch_distinguished_names@400: + content: + application/json: + schema: null + security.patch_distinguished_names@403: + content: + application/json: + schema: null + security.patch_role_mapping@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.patch_role_mapping@400: + content: + application/json: + schema: null + security.patch_role_mappings@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.patch_role_mappings@400: + content: + application/json: + schema: null + security.patch_role@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.patch_role@400: + content: + application/json: + schema: null + security.patch_roles@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.patch_roles@400: + content: + application/json: + schema: null + security.patch_tenant@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.patch_tenant@400: + content: + application/json: + schema: null + security.patch_tenants@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.patch_tenants@400: + content: + application/json: + schema: null + security.patch_user@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.patch_users@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.post_dashboards_info@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:DashboardsInfo' + security.post_dashboards_info@500: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:InternalServerError' + security.reload_http_certificates@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.reload_http_certificates@400: + content: + application/json: + schema: null + security.reload_http_certificates@403: + content: + application/json: + schema: null + security.reload_transport_certificates@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.reload_transport_certificates@400: + content: + application/json: + schema: null + security.reload_transport_certificates@403: + content: + application/json: + schema: null + security.tenant_info@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:TenantInfo' + security.tenant_info@403: + content: + text/plain: + type: string + application/json: + schema: null + security.tenant_info@500: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:InternalServerError' + security.update_audit_configuration@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.update_configuration@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.update_configuration@403: + content: + application/json: + schema: null + security.update_distinguished_name@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.update_distinguished_name@400: + content: + application/json: + schema: null + security.update_distinguished_name@403: + content: + application/json: + schema: null + security.validate@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:Ok' + security.validate@400: + content: + application/json: + schema: null + security.who_am_i_protected@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:WhoAmI' + security.who_am_i_protected@500: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:InternalServerError' + security.who_am_i@200: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:WhoAmI' + security.who_am_i@500: + content: + application/json: + schema: + $ref: '#/components/schemas/security._common:InternalServerError' + snapshot.cleanup_repository@200: + content: + application/json: + schema: + type: object + properties: + results: + $ref: '#/components/schemas/snapshot.cleanup_repository:CleanupRepositoryResults' + required: + - results + snapshot.clone@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + snapshot.create_repository@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + snapshot.create@200: + content: + application/json: + schema: + type: object + properties: + accepted: + description: Equals `true` if the snapshot was accepted. Present when the request had `wait_for_completion` set to `false` + type: boolean + snapshot: + $ref: '#/components/schemas/snapshot._common:SnapshotInfo' + snapshot.delete_repository@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + snapshot.delete@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + snapshot.get_repository@200: + content: + application/json: + schema: + type: object + additionalProperties: + $ref: '#/components/schemas/snapshot._common:Repository' + snapshot.get@200: + content: + application/json: + schema: + type: object + properties: + responses: + type: array + items: + $ref: '#/components/schemas/snapshot.get:SnapshotResponseItem' + snapshots: + type: array + items: + $ref: '#/components/schemas/snapshot._common:SnapshotInfo' + total: + description: The total number of snapshots that match the request when ignoring size limit or after query parameter. + type: number + remaining: + description: The number of remaining snapshots that were not returned due to size limits and that can be fetched by additional requests using the next field value. + type: number + required: + - remaining + - total + snapshot.restore@200: + content: + application/json: + schema: + type: object + properties: + snapshot: + $ref: '#/components/schemas/snapshot.restore:SnapshotRestore' + required: + - snapshot + snapshot.status@200: + content: + application/json: + schema: + type: object + properties: + snapshots: + type: array + items: + $ref: '#/components/schemas/snapshot._common:Status' + required: + - snapshots + snapshot.verify_repository@200: + content: + application/json: + schema: + type: object + properties: + nodes: + type: object + additionalProperties: + $ref: '#/components/schemas/snapshot.verify_repository:CompactNodeInfo' + required: + - nodes + sql.close@200: + content: + application/json: + schema: + $ref: '#/components/schemas/sql._common:SqlCloseResponse' + required: true + sql.explain@200: + content: + application/json: + schema: + $ref: '#/components/schemas/sql._common:ExplainResponse' + required: true + sql.get_stats@200: + content: + text/plain: + schema: + type: string + required: true + sql.post_stats@200: + content: + text/plain: + schema: + type: string + required: true + sql.query@200: + content: + application/json: + schema: + $ref: '#/components/schemas/sql._common:QueryResponse' + sql.settings@200: + content: + application/json: + schema: + $ref: '#/components/schemas/sql._common:SqlSettingsResponse' + tasks.cancel@200: + content: + application/json: + schema: + $ref: '#/components/schemas/tasks._common:TaskListResponseBase' + tasks.get@200: + content: + application/json: + schema: + type: object + properties: + completed: + type: boolean + task: + $ref: '#/components/schemas/tasks._common:TaskInfo' + response: + type: object + error: + $ref: '#/components/schemas/_common:ErrorCause' + required: + - completed + - task + tasks.list@200: + content: + application/json: + schema: + $ref: '#/components/schemas/tasks._common:TaskListResponseBase' + termvectors@200: + content: + application/json: + schema: + type: object + properties: + found: + type: boolean + _id: + $ref: '#/components/schemas/_common:Id' + _index: + $ref: '#/components/schemas/_common:IndexName' + term_vectors: + type: object + additionalProperties: + $ref: '#/components/schemas/_core.termvectors:TermVector' + took: + type: number + _version: + $ref: '#/components/schemas/_common:VersionNumber' + required: + - _id + - _index + - _version + - found + - took + transforms.delete@200: {} + transforms.explain@200: + content: + application/json: + schema: + $ref: '#/components/schemas/transforms._common:ExplainResponse' + transforms.get@200: + content: + application/json: + schema: + $ref: '#/components/schemas/transforms._common:TransformEntity' + transforms.preview@200: + content: + application/json: + schema: + $ref: '#/components/schemas/transforms._common:Preview' + transforms.put@200: + content: + application/json: + schema: + $ref: '#/components/schemas/transforms._common:TransformEntity' + transforms.search@200: + content: + application/json: + schema: + $ref: '#/components/schemas/transforms._common:TransformsResponse' + transforms.start@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + transforms.stop@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + update_by_query_rethrottle@200: + content: + application/json: + schema: + type: object + properties: + nodes: + type: object + additionalProperties: + $ref: '#/components/schemas/_core.update_by_query_rethrottle:UpdateByQueryRethrottleNode' + required: + - nodes + update_by_query@200: + content: + application/json: + schema: + type: object + properties: + batches: + type: number + failures: + type: array + items: + $ref: '#/components/schemas/_common:BulkIndexByScrollFailure' + noops: + type: number + deleted: + type: number + requests_per_second: + type: number + retries: + $ref: '#/components/schemas/_common:Retries' + task: + $ref: '#/components/schemas/_common:TaskId' + timed_out: + type: boolean + took: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + total: + type: number + updated: + type: number + version_conflicts: + type: number + throttled: + $ref: '#/components/schemas/_common:Duration' + throttled_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + throttled_until: + $ref: '#/components/schemas/_common:Duration' + throttled_until_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + update@200: + content: + application/json: + schema: + $ref: '#/components/schemas/_core.update:UpdateWriteResponseBase' + schemas: + _common:AcknowledgedResponseBase: + type: object + properties: + acknowledged: + description: For a successful response, this value is always true. On failure, an exception is returned instead. + type: boolean + required: + - acknowledged + _common:ActionStatusOptions: + type: string + enum: + - failure + - simulated + - success + - throttled + _common:BaseNode: + type: object + properties: + attributes: + type: object + additionalProperties: + type: string + host: + $ref: '#/components/schemas/_common:Host' + ip: + $ref: '#/components/schemas/_common:Ip' + name: + $ref: '#/components/schemas/_common:Name' + roles: + $ref: '#/components/schemas/_common:NodeRoles' + transport_address: + $ref: '#/components/schemas/_common:TransportAddress' + required: + - attributes + - host + - ip + - name + - transport_address + _common:BulkIndexByScrollFailure: + type: object + properties: + cause: + $ref: '#/components/schemas/_common:ErrorCause' + id: + $ref: '#/components/schemas/_common:Id' + index: + $ref: '#/components/schemas/_common:IndexName' + status: + type: number + type: + type: string + required: + - cause + - id + - index + - status + - type + _common:byte: + type: number + _common:Bytes: + type: string + enum: + - b + - g + - gb + - k + - kb + - m + - mb + - p + - pb + - t + - tb + _common:ByteSize: + oneOf: + - type: number + - type: string + _common:ClusterDetails: + type: object + properties: + status: + $ref: '#/components/schemas/_common:ClusterSearchStatus' + indices: + type: string + took: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + timed_out: + type: boolean + _shards: + $ref: '#/components/schemas/_common:ShardStatistics' + failures: + type: array + items: + $ref: '#/components/schemas/_common:ShardFailure' + required: + - indices + - status + - timed_out + _common:ClusterSearchStatus: + type: string + enum: + - failed + - partial + - running + - skipped + - successful + _common:ClusterStatistics: + type: object + properties: + skipped: + type: number + successful: + type: number + total: + type: number + running: + type: number + partial: + type: number + failed: + type: number + details: + type: object + additionalProperties: + $ref: '#/components/schemas/_common:ClusterDetails' + required: + - failed + - partial + - running + - skipped + - successful + - total + _common:CompletionStats: + type: object + properties: + size_in_bytes: + description: Total amount, in bytes, of memory used for completion across all shards assigned to selected nodes. + type: number + size: + $ref: '#/components/schemas/_common:ByteSize' + fields: + type: object + additionalProperties: + $ref: '#/components/schemas/_common:FieldSizeUsage' + required: + - size_in_bytes + _common:Conflicts: + type: string + enum: + - abort + - proceed + _common:CoordsGeoBounds: + type: object + properties: + top: + type: number + bottom: + type: number + left: + type: number + right: + type: number + required: + - bottom + - left + - right + - top + _common:DataStreamName: + type: string + _common:DataStreamNames: + oneOf: + - $ref: '#/components/schemas/_common:DataStreamName' + - type: array + items: + $ref: '#/components/schemas/_common:DataStreamName' + _common:DateFormat: + type: string + _common:DateMath: + type: string + _common:DateTime: + description: |- + A date and time, either as a string whose format can depend on the context (defaulting to ISO 8601), or a + number of milliseconds since the Epoch. OpenSearch accepts both as input, but will generally output a string + representation. + oneOf: + - type: string + - $ref: '#/components/schemas/_common:EpochTimeUnitMillis' + _common:DFIIndependenceMeasure: + type: string + enum: + - chisquared + - saturated + - standardized + _common:DFRAfterEffect: + type: string + enum: + - b + - l + - no + _common:DFRBasicModel: + type: string + enum: + - be + - d + - g + - if + - in + - ine + - p + _common:Distance: + type: string + _common:DistanceUnit: + type: string + enum: + - cm + - ft + - in + - km + - m + - mi + - mm + - nmi + - yd + _common:DocStats: + type: object + properties: + count: + description: |- + Total number of non-deleted documents across all primary shards assigned to selected nodes. + This number is based on documents in Lucene segments and may include documents from nested fields. + type: number + deleted: + description: |- + Total number of deleted documents across all primary shards assigned to selected nodes. + This number is based on documents in Lucene segments. + OpenSearch reclaims the disk space of deleted Lucene documents when a segment is merged. + type: number + required: + - count + _common:DocStatus: + description: Item level REST category class codes during indexing. + type: object + properties: + 1xx: + type: number + 2xx: + type: number + 3xx: + type: number + 4xx: + type: number + 5xx: + type: number + _common:Duration: + description: |- + A duration. Units can be `nanos`, `micros`, `ms` (milliseconds), `s` (seconds), `m` (minutes), `h` (hours) and + `d` (days). Also accepts "0" without a unit and "-1" to indicate an unspecified value. + pattern: ^([0-9\.]+)(?:d|h|m|s|ms|micros|nanos)$ + type: string + _common:DurationLarge: + description: 'A date histogram interval. Similar to `Duration` with additional units: `w` (week), `M` (month), `q` (quarter) and `y` (year).' + type: string + _common:DurationValueUnitMillis: + allOf: + - $ref: '#/components/schemas/_common:UnitMillis' + _common:DurationValueUnitNanos: + allOf: + - $ref: '#/components/schemas/_common:UnitNanos' + _common:EmptyObject: + type: object + _common:EpochTimeUnitMillis: + allOf: + - $ref: '#/components/schemas/_common:UnitMillis' + _common:EpochTimeUnitSeconds: + allOf: + - $ref: '#/components/schemas/_common:UnitSeconds' + _common:ErrorCause: + type: object + properties: + type: + description: The type of error + type: string + reason: + description: A human-readable explanation of the error, in english + type: string + stack_trace: + description: The server stack trace. Present only if the `error_trace=true` parameter was sent with the request. + type: string + caused_by: + $ref: '#/components/schemas/_common:ErrorCause' + root_cause: + type: array + items: + $ref: '#/components/schemas/_common:ErrorCause' + suppressed: + type: array + items: + $ref: '#/components/schemas/_common:ErrorCause' + required: + - type + additionalProperties: + title: metadata + description: Additional details about the error. + _common:ErrorResponseBase: + type: object + properties: + error: + $ref: '#/components/schemas/_common:ErrorCause' + status: + type: number + required: + - error + - status + _common:ExpandWildcard: + type: string + enum: + - all + - closed + - hidden + - none + - open + _common:ExpandWildcards: + oneOf: + - $ref: '#/components/schemas/_common:ExpandWildcard' + - type: array + items: + $ref: '#/components/schemas/_common:ExpandWildcard' + _common:Field: + description: Path to field or array of paths. Some API's support wildcards in the path to select multiple fields. + type: string + _common:FielddataStats: + type: object + properties: + evictions: + type: number + memory_size: + $ref: '#/components/schemas/_common:ByteSize' + memory_size_in_bytes: + type: number + fields: + type: object + additionalProperties: + $ref: '#/components/schemas/_common:FieldMemoryUsage' + required: + - memory_size_in_bytes + _common:FieldMemoryUsage: + type: object + properties: + memory_size: + $ref: '#/components/schemas/_common:ByteSize' + memory_size_in_bytes: + type: number + required: + - memory_size_in_bytes + _common:Fields: + oneOf: + - $ref: '#/components/schemas/_common:Field' + - type: array + items: + $ref: '#/components/schemas/_common:Field' + _common:FieldSizeUsage: + type: object + properties: + size: + $ref: '#/components/schemas/_common:ByteSize' + size_in_bytes: + type: number + required: + - size_in_bytes + _common:FieldValue: + description: A field value. + type: + - boolean + - 'null' + - number + - object + - string + _common:FlushStats: + type: object + properties: + periodic: + type: number + total: + type: number + total_time: + $ref: '#/components/schemas/_common:Duration' + total_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + required: + - periodic + - total + - total_time_in_millis + _common:Fuzziness: + oneOf: + - type: string + - type: number + _common:GeoBounds: + description: |- + A geo bounding box. It can be represented in various ways: + - as 4 top/bottom/left/right coordinates + - as 2 top_left / bottom_right points + - as 2 top_right / bottom_left points + - as a WKT bounding box. + oneOf: + - $ref: '#/components/schemas/_common:CoordsGeoBounds' + - $ref: '#/components/schemas/_common:TopLeftBottomRightGeoBounds' + - $ref: '#/components/schemas/_common:TopRightBottomLeftGeoBounds' + - $ref: '#/components/schemas/_common:WktGeoBounds' + _common:GeoDistanceSort: + type: object + properties: + mode: + $ref: '#/components/schemas/_common:SortMode' + distance_type: + $ref: '#/components/schemas/_common:GeoDistanceType' + ignore_unmapped: + type: boolean + order: + $ref: '#/components/schemas/_common:SortOrder' + unit: + $ref: '#/components/schemas/_common:DistanceUnit' + _common:GeoDistanceType: + type: string + enum: + - arc + - plane + _common:GeoHash: + type: string + _common:GeoHashLocation: + type: object + properties: + geohash: + $ref: '#/components/schemas/_common:GeoHash' + required: + - geohash + _common:GeoHashPrecision: + description: A precision that can be expressed as a geohash length between 1 and 12, or a distance measure like "1km", "10m". + oneOf: + - type: number + - type: string + _common:GeoHexCell: + description: A map hex cell (H3) reference. + type: string + _common:GeoLine: + type: object + properties: + type: + description: Always `"LineString"` + type: string + coordinates: + description: Array of `[lon, lat]` coordinates + type: array + items: + type: array + items: + type: number + required: + - coordinates + - type + _common:GeoLocation: + description: |- + A latitude/longitude as a 2 dimensional point. It can be represented in various ways: + - as a `{lat, long}` object + - as a geo hash value + - as a `[lon, lat]` array + - as a string in `", "` or WKT point formats. + oneOf: + - $ref: '#/components/schemas/_common:LatLonGeoLocation' + - $ref: '#/components/schemas/_common:GeoHashLocation' + - type: array + items: + type: number + - type: string + _common:GeoShapeRelation: + type: string + enum: + - contains + - disjoint + - intersects + - within + _common:GeoTile: + description: A map tile reference, represented as `{zoom}/{x}/{y}`. + type: string + _common:GeoTilePrecision: + type: number + _common:GetStats: + type: object + properties: + total: + type: number + time: + $ref: '#/components/schemas/_common:Duration' + time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + exists_total: + type: number + exists_time: + $ref: '#/components/schemas/_common:Duration' + exists_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + missing_total: + type: number + missing_time: + $ref: '#/components/schemas/_common:Duration' + missing_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + current: + type: number + required: + - current + - exists_time_in_millis + - exists_total + - missing_time_in_millis + - missing_total + - time_in_millis + - total + _common:HealthStatus: + type: string + enum: + - green + - red + - yellow + _common:HealthStatusCapitalized: + type: string + enum: + - GREEN + - RED + - YELLOW + _common:Host: + type: string + _common:HourAndMinute: + type: object + properties: + hour: + type: array + items: + type: number + minute: + type: array + items: + type: number + required: + - hour + - minute + _common:HttpHeaders: + type: object + additionalProperties: + oneOf: + - type: string + - type: array + items: + type: string + _common:IBDistribution: + type: string + enum: + - ll + - spl + _common:IBLambda: + type: string + enum: + - df + - ttf + _common:Id: + type: string + _common:Ids: + oneOf: + - $ref: '#/components/schemas/_common:Id' + - type: array + items: + $ref: '#/components/schemas/_common:Id' + _common:IndexAlias: + type: string + _common:IndexingStats: + type: object + properties: + index_total: + type: number + index_time: + $ref: '#/components/schemas/_common:Duration' + index_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + index_current: + type: number + index_failed: + type: number + delete_total: + type: number + delete_time: + $ref: '#/components/schemas/_common:Duration' + delete_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + delete_current: + type: number + noop_update_total: + type: number + is_throttled: + type: boolean + throttle_time: + $ref: '#/components/schemas/_common:Duration' + throttle_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + doc_status: + $ref: '#/components/schemas/_common:DocStatus' + types: + x-version-removed: '2.0' + type: object + additionalProperties: + $ref: '#/components/schemas/_common:IndexingStats' + required: + - delete_current + - delete_time_in_millis + - delete_total + - index_current + - index_failed + - index_time_in_millis + - index_total + - is_throttled + - noop_update_total + - throttle_time_in_millis + _common:IndexName: + type: string + _common:Indices: + oneOf: + - $ref: '#/components/schemas/_common:IndexName' + - type: array + items: + $ref: '#/components/schemas/_common:IndexName' + _common:IndicesResponseBase: + allOf: + - $ref: '#/components/schemas/_common:AcknowledgedResponseBase' + - type: object + properties: + _shards: + $ref: '#/components/schemas/_common:ShardStatistics' + _common:InlineGet: + type: object + properties: + fields: + type: object + additionalProperties: + type: object + found: + type: boolean + _seq_no: + $ref: '#/components/schemas/_common:SequenceNumber' + _primary_term: + type: number + _routing: + $ref: '#/components/schemas/_common:Routing' + _source: + type: object + required: + - found + _common:InlineGetDictUserDefined: + type: object + properties: + fields: + type: object + additionalProperties: + type: object + found: + type: boolean + _seq_no: + $ref: '#/components/schemas/_common:SequenceNumber' + _primary_term: + type: number + _routing: + $ref: '#/components/schemas/_common:Routing' + _source: + type: object + additionalProperties: true + required: + - found + _common:InlineScript: + allOf: + - $ref: '#/components/schemas/_common:ScriptBase' + - type: object + properties: + lang: + $ref: '#/components/schemas/_common:ScriptLanguage' + options: + type: object + additionalProperties: + type: string + source: + description: The script source. + type: string + required: + - source + _common:Ip: + type: string + _common:KnnQuery: + type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + query_vector: + $ref: '#/components/schemas/_common:QueryVector' + query_vector_builder: + $ref: '#/components/schemas/_common:QueryVectorBuilder' + k: + description: The final number of nearest neighbors to return as top hits + type: number + num_candidates: + description: The number of nearest neighbor candidates to consider per shard + type: number + boost: + description: Boost value to apply to kNN scores + type: number + filter: + description: Filters for the kNN search query + oneOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + - type: array + items: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + similarity: + description: The minimum similarity for a vector to be considered a match + type: number + required: + - field + - k + - num_candidates + _common:LatLonGeoLocation: + type: object + properties: + lat: + description: Latitude + type: number + lon: + description: Longitude + type: number + required: + - lat + - lon + _common:Level: + type: string + enum: + - cluster + - indices + - shards + _common:MergesStats: + type: object + properties: + current: + type: number + current_docs: + type: number + current_size: + type: string + current_size_in_bytes: + type: number + total: + type: number + total_auto_throttle: + type: string + total_auto_throttle_in_bytes: + type: number + total_docs: + type: number + total_size: + type: string + total_size_in_bytes: + type: number + total_stopped_time: + $ref: '#/components/schemas/_common:Duration' + total_stopped_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + total_throttled_time: + $ref: '#/components/schemas/_common:Duration' + total_throttled_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + total_time: + $ref: '#/components/schemas/_common:Duration' + total_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + unreferenced_file_cleanups_performed: + type: number + required: + - current + - current_docs + - current_size_in_bytes + - total + - total_auto_throttle_in_bytes + - total_docs + - total_size_in_bytes + - total_stopped_time_in_millis + - total_throttled_time_in_millis + - total_time_in_millis + _common:Metadata: + type: object + additionalProperties: true + _common:Metrics: + oneOf: + - type: string + - type: array + items: + type: string + _common:MinimumShouldMatch: + description: The minimum number of terms that should match as integer, percentage or range. + oneOf: + - type: number + - type: string + _common:MultiTermQueryRewrite: + type: string + _common:Name: + type: string + _common:Names: + oneOf: + - $ref: '#/components/schemas/_common:Name' + - type: array + items: + $ref: '#/components/schemas/_common:Name' + _common:NestedSortValue: + type: object + properties: + filter: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + max_children: + type: number + nested: + $ref: '#/components/schemas/_common:NestedSortValue' + path: + $ref: '#/components/schemas/_common:Field' + required: + - path + _common:NodeAttributes: + type: object + properties: + attributes: + description: Lists node attributes. + type: object + additionalProperties: + type: string + ephemeral_id: + $ref: '#/components/schemas/_common:Id' + id: + $ref: '#/components/schemas/_common:NodeId' + name: + $ref: '#/components/schemas/_common:NodeName' + transport_address: + $ref: '#/components/schemas/_common:TransportAddress' + roles: + $ref: '#/components/schemas/_common:NodeRoles' + external_id: + type: string + required: + - attributes + - ephemeral_id + - name + - transport_address + _common:NodeId: + type: string + _common:NodeIds: + oneOf: + - $ref: '#/components/schemas/_common:NodeId' + - type: array + items: + $ref: '#/components/schemas/_common:NodeId' + _common:NodeName: + type: string + _common:NodeRole: + type: string + enum: + - client + - cluster_manager + - coordinating_only + - data + - data_cold + - data_content + - data_frozen + - data_hot + - data_warm + - ingest + - master + - ml + - remote_cluster_client + - transform + - voting_only + _common:NodeRoles: + description: Node roles. + type: array + items: + $ref: '#/components/schemas/_common:NodeRole' + _common:NodeShard: + type: object + properties: + state: + $ref: '#/components/schemas/indices.stats:ShardRoutingState' + primary: + type: boolean + node: + $ref: '#/components/schemas/_common:NodeName' + shard: + type: number + index: + $ref: '#/components/schemas/_common:IndexName' + allocation_id: + type: object + additionalProperties: + $ref: '#/components/schemas/_common:Id' + recovery_source: + type: object + additionalProperties: + $ref: '#/components/schemas/_common:Id' + unassigned_info: + $ref: '#/components/schemas/cluster.allocation_explain:UnassignedInformation' + relocating_node: + oneOf: + - $ref: '#/components/schemas/_common:NodeId' + - type: 'null' + relocation_failure_info: + $ref: '#/components/schemas/_common:RelocationFailureInfo' + required: + - index + - primary + - shard + - state + _common:NodeStatistics: + type: object + properties: + failures: + type: array + items: + $ref: '#/components/schemas/_common:ErrorCause' + total: + description: Total number of nodes selected by the request. + type: number + successful: + description: Number of nodes that responded successfully to the request. + type: number + failed: + description: Number of nodes that rejected the request or failed to respond. If this value is not 0, a reason for the rejection or failure is included in the response. + type: number + required: + - failed + - successful + - total + _common:Normalization: + type: string + enum: + - h1 + - h2 + - h3 + - no + - z + _common:OpenSearchVersionInfo: + type: object + properties: + build_date: + $ref: '#/components/schemas/_common:DateTime' + build_flavor: + type: string + build_hash: + type: string + build_snapshot: + type: boolean + build_type: + type: string + distribution: + type: string + lucene_version: + $ref: '#/components/schemas/_common:VersionString' + minimum_index_compatibility_version: + $ref: '#/components/schemas/_common:VersionString' + minimum_wire_compatibility_version: + $ref: '#/components/schemas/_common:VersionString' + number: + type: string + required: + - build_date + - build_hash + - build_snapshot + - build_type + - distribution + - lucene_version + - minimum_index_compatibility_version + - minimum_wire_compatibility_version + - number + _common:OpType: + type: string + enum: + - create + - index + _common:Password: + type: string + _common:Percentage: + oneOf: + - type: string + - type: number + _common:PhaseTook: + type: object + properties: + dfs_pre_query: + $ref: '#/components/schemas/_common:uint' + query: + $ref: '#/components/schemas/_common:uint' + fetch: + $ref: '#/components/schemas/_common:uint' + dfs_query: + $ref: '#/components/schemas/_common:uint' + expand: + $ref: '#/components/schemas/_common:uint' + can_match: + $ref: '#/components/schemas/_common:uint' + required: + - can_match + - dfs_pre_query + - dfs_query + - expand + - fetch + - query + _common:PipelineName: + type: string + _common:PipeSeparatedFlagsSimpleQueryStringFlag: + description: |- + A set of flags that can be represented as a single enum value or a set of values that are encoded + as a pipe-separated string + + Depending on the target language, code generators can use this hint to generate language specific + flags enum constructs and the corresponding (de-)serialization code. + oneOf: + - $ref: '#/components/schemas/_common.query_dsl:SimpleQueryStringFlag' + - type: string + _common:PluginStats: + type: object + properties: + classname: + type: string + description: + type: string + extended_plugins: + type: array + items: + type: string + has_native_controller: + type: boolean + java_version: + $ref: '#/components/schemas/_common:VersionString' + name: + $ref: '#/components/schemas/_common:Name' + version: + $ref: '#/components/schemas/_common:VersionString' + licensed: + type: boolean + custom_foldername: + type: + - 'null' + - string + opensearch_version: + $ref: '#/components/schemas/_common:VersionString' + required: + - classname + - description + - extended_plugins + - has_native_controller + - java_version + - name + - opensearch_version + - version + _common:QueryCacheStats: + type: object + properties: + cache_count: + description: |- + Total number of entries added to the query cache across all shards assigned to selected nodes. + This number includes current and evicted entries. + type: number + cache_size: + description: Total number of entries currently in the query cache across all shards assigned to selected nodes. + type: number + evictions: + description: Total number of query cache evictions across all shards assigned to selected nodes. + type: number + hit_count: + description: Total count of query cache hits across all shards assigned to selected nodes. + type: number + memory_size: + $ref: '#/components/schemas/_common:ByteSize' + memory_size_in_bytes: + description: Total amount, in bytes, of memory used for the query cache across all shards assigned to selected nodes. + type: number + miss_count: + description: Total count of query cache misses across all shards assigned to selected nodes. + type: number + total_count: + description: Total count of hits and misses in the query cache across all shards assigned to selected nodes. + type: number + required: + - cache_count + - cache_size + - evictions + - hit_count + - memory_size_in_bytes + - miss_count + - total_count + _common:QueryVector: + type: array + items: + type: number + _common:QueryVectorBuilder: + type: object + properties: + text_embedding: + $ref: '#/components/schemas/_common:TextEmbedding' + minProperties: 1 + maxProperties: 1 + _common:RankBase: + type: object + _common:RankContainer: + type: object + properties: + rrf: + $ref: '#/components/schemas/_common:RrfRank' + minProperties: 1 + maxProperties: 1 + _common:RecoveryStats: + type: object + properties: + current_as_source: + type: number + current_as_target: + type: number + throttle_time: + $ref: '#/components/schemas/_common:Duration' + throttle_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + required: + - current_as_source + - current_as_target + - throttle_time_in_millis + _common:Refresh: + type: string + enum: + - 'false' + - 'true' + - wait_for + _common:RefreshStats: + type: object + properties: + external_total: + type: number + external_total_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + listeners: + type: number + total: + type: number + total_time: + $ref: '#/components/schemas/_common:Duration' + total_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + required: + - external_total + - external_total_time_in_millis + - listeners + - total + - total_time_in_millis + _common:RelationName: + type: string + _common:RelocationFailureInfo: + type: object + properties: + failed_attempts: + type: number + required: + - failed_attempts + _common:RemoteStoreDownloadStats: + type: object + description: Statistics related to downloads to the remote segment store. + properties: + total_download_size: + description: The total amount of data download from the remote segment store. + $ref: '#/components/schemas/_common:RemoteStoreUploadDownloadStats' + total_time_spent_in_millis: + description: The total duration, in milliseconds, spent on downloads from the remote segment store. + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + required: + - total_download_size + - total_time_spent_in_millis + _common:RemoteStoreStats: + type: object + description: Statistics about remote segment store operations. + properties: + upload: + $ref: '#/components/schemas/_common:RemoteStoreUploadStats' + download: + $ref: '#/components/schemas/_common:RemoteStoreDownloadStats' + required: + - download + - upload + _common:RemoteStoreTranslogStats: + type: object + properties: + upload: + $ref: '#/components/schemas/_common:RemoteStoreTranslogUploadStats' + required: + - upload + _common:RemoteStoreTranslogUploadStats: + type: object + description: Statistics related to uploads to the remote translog store. + properties: + total_uploads: + $ref: '#/components/schemas/_common:RemoteStoreTranslogUploadTotalUploadsStats' + total_upload_size: + $ref: '#/components/schemas/_common:RemoteStoreTranslogUploadTotalUploadSizeStats' + required: + - total_upload_size + - total_uploads + _common:RemoteStoreTranslogUploadTotalUploadSizeStats: + type: object + description: The total amount of data uploaded to the remote translog store. + properties: + failed_bytes: + description: The number of bytes that failed to upload to the remote translog store. + $ref: '#/components/schemas/_common:ByteSize' + started_bytes: + description: The number of bytes successfully uploaded to the remote translog store. + $ref: '#/components/schemas/_common:ByteSize' + succeeded_bytes: + description: The number of bytes successfully uploaded to the remote translog store. + $ref: '#/components/schemas/_common:ByteSize' + required: + - failed_bytes + - started_bytes + - succeeded_bytes + _common:RemoteStoreTranslogUploadTotalUploadsStats: + type: object + description: The number of syncs to the remote translog store. + properties: + failed: + description: The number of failed upload syncs to the remote translog store. + type: number + started: + description: The number of upload syncs to the remote translog store that have started. + type: number + succeeded: + description: The number of successful upload syncs to the remote translog store. + type: number + required: + - failed + - started + - succeeded + _common:RemoteStoreUploadDownloadStats: + type: object + description: The amount of data, in bytes, uploaded or downloaded to/from the remote segment store. + properties: + failed_bytes: + description: The number of bytes that failed to upload/upload to/from the remote segment store. + $ref: '#/components/schemas/_common:ByteSize' + started_bytes: + description: The number of bytes to upload/download to/from the remote segment store after the upload/download has started. + $ref: '#/components/schemas/_common:ByteSize' + succeeded_bytes: + description: The number of bytes successfully uploaded/downloaded to/from the remote segment store. + $ref: '#/components/schemas/_common:ByteSize' + required: + - failed_bytes + - started_bytes + - succeeded_bytes + _common:RemoteStoreUploadPressureStats: + type: object + description: Statistics related to segment store upload backpressure. + properties: + total_rejections: + description: The total number of requests rejected due to segment store upload backpressure. + type: number + required: + - total_rejections + _common:RemoteStoreUploadRefreshSizeLagStats: + type: object + description: The amount of lag during upload between the remote segment store and the local store. + properties: + max_bytes: + description: The maximum amount of lag, in bytes, during the upload refresh between the remote segment store and the local store. + $ref: '#/components/schemas/_common:ByteSize' + total_bytes: + description: The total number of bytes that lagged during the upload refresh between the remote segment store and the local store. + $ref: '#/components/schemas/_common:ByteSize' + required: + - max_bytes + - total_bytes + _common:RemoteStoreUploadStats: + type: object + description: Statistics related to uploads to the remote segment store. + properties: + max_refresh_time_lag_in_millis: + description: The maximum duration, in milliseconds, that the remote refresh is behind the local refresh. + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + pressure: + $ref: '#/components/schemas/_common:RemoteStoreUploadPressureStats' + refresh_size_lag: + $ref: '#/components/schemas/_common:RemoteStoreUploadRefreshSizeLagStats' + total_time_spent_in_millis: + description: The total amount of time, in milliseconds, spent on uploads to the remote segment store. + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + total_upload_size: + $ref: '#/components/schemas/_common:RemoteStoreUploadDownloadStats' + required: + - max_refresh_time_lag_in_millis + - pressure + - refresh_size_lag + - total_time_spent_in_millis + - total_upload_size + _common:RequestCacheStats: + type: object + properties: + evictions: + type: number + hit_count: + type: number + memory_size: + type: string + memory_size_in_bytes: + type: number + miss_count: + type: number + required: + - evictions + - hit_count + - memory_size_in_bytes + - miss_count + _common:RequestStats: + type: object + properties: + time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + current: + type: number + total: + type: number + _common:Result: + type: string + enum: + - created + - deleted + - noop + - not_found + - updated + _common:Retries: + type: object + properties: + bulk: + type: number + search: + type: number + required: + - bulk + - search + _common:Routing: + type: string + _common:RrfRank: + allOf: + - $ref: '#/components/schemas/_common:RankBase' + - type: object + properties: + rank_constant: + description: How much influence documents in individual result sets per query have over the final ranked result set + type: number + window_size: + description: Size of the individual result sets per query + type: number + _common:ScheduleTimeOfDay: + description: A time of day, expressed either as `hh:mm`, `noon`, `midnight`, or an hour/minutes structure. + oneOf: + - type: string + - $ref: '#/components/schemas/_common:HourAndMinute' + _common:ScoreSort: + type: object + properties: + order: + $ref: '#/components/schemas/_common:SortOrder' + _common:Script: + oneOf: + - $ref: '#/components/schemas/_common:InlineScript' + - $ref: '#/components/schemas/_common:StoredScriptId' + _common:ScriptBase: + type: object + properties: + params: + description: |- + Specifies any named parameters that are passed into the script as variables. + Use parameters instead of hard-coded values to decrease compile time. + type: object + additionalProperties: true + _common:ScriptField: + type: object + properties: + script: + $ref: '#/components/schemas/_common:Script' + ignore_failure: + type: boolean + required: + - script + _common:ScriptLanguage: + type: string + enum: + - expression + - java + - mustache + - painless + _common:ScriptSort: + type: object + properties: + order: + $ref: '#/components/schemas/_common:SortOrder' + script: + $ref: '#/components/schemas/_common:Script' + type: + $ref: '#/components/schemas/_common:ScriptSortType' + mode: + $ref: '#/components/schemas/_common:SortMode' + nested: + $ref: '#/components/schemas/_common:NestedSortValue' + required: + - script + _common:ScriptSortType: + type: string + enum: + - number + - string + - version + _common:ScrollId: + type: string + _common:ScrollIds: + oneOf: + - $ref: '#/components/schemas/_common:ScrollId' + - type: array + items: + $ref: '#/components/schemas/_common:ScrollId' + _common:SearchStats: + type: object + properties: + open_contexts: + description: The number of open search contexts. + type: number + query_current: + description: The number of shard query operations that are currently running. + type: number + query_time: + description: The total amount of time for all shard query operations. + $ref: '#/components/schemas/_common:Duration' + query_time_in_millis: + description: The total amount of time for all shard query operations, in milliseconds. + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + query_total: + description: The total number of shard query operations. + type: number + concurrent_query_total: + description: The total number of query operations that use concurrent segment search. + type: number + concurrent_query_time: + $ref: '#/components/schemas/_common:Duration' + concurrent_query_time_in_millis: + description: The total amount of time taken by all query operations that use concurrent segment search, in milliseconds. + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + concurrent_query_current: + description: The number of currently running query operations that use concurrent segment search. + type: number + concurrent_avg_slice_count: + description: The average slice count of all search requests. This is computed as the total slice count divided by the total number of concurrent search requests. + type: number + fetch_current: + description: The number of shard fetch operations that are currently running. + type: number + fetch_time: + description: The total amount of time for all shard fetch operations. + $ref: '#/components/schemas/_common:Duration' + fetch_time_in_millis: + description: The total amount of time for all shard fetch operations, in milliseconds. + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + fetch_total: + description: The total number of shard fetch operations. + type: number + scroll_current: + description: The number of shard scroll operations that are currently running. + type: number + scroll_time: + description: The total amount of time for all shard scroll operations. + $ref: '#/components/schemas/_common:Duration' + scroll_time_in_millis: + description: The total amount of time for all shard scroll operations, in milliseconds. + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + scroll_total: + description: The total number of shard scroll operations. + type: number + point_in_time_total: + description: The total number of shard Point in Time (PIT) contexts that have been created (completed and active) since the node last restarted. + type: number + point_in_time_time: + $ref: '#/components/schemas/_common:Duration' + point_in_time_time_in_millis: + description: The amount of time that shard PIT contexts have been held open since the node last restarted, in milliseconds. + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + point_in_time_current: + description: The number of shard PIT contexts currently open. + type: number + suggest_current: + description: The number of shard suggest operations that are currently running. + type: number + suggest_time: + description: The total amount of time for all shard suggest operations. + $ref: '#/components/schemas/_common:Duration' + suggest_time_in_millis: + description: The total amount of time for all shard suggest operations, in milliseconds. + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + suggest_total: + description: The total number of shard suggest operations. + type: number + search_idle_reactivate_count_total: + type: number + request: + type: object + description: Statistics about coordinator search operations for the node. + additionalProperties: + $ref: '#/components/schemas/_common:RequestStats' + groups: + type: object + additionalProperties: + $ref: '#/components/schemas/_common:SearchStats' + required: + - fetch_current + - fetch_time_in_millis + - fetch_total + - query_current + - query_time_in_millis + - query_total + - scroll_current + - scroll_time_in_millis + - scroll_total + - suggest_current + - suggest_time_in_millis + - suggest_total + _common:SearchType: + type: string + enum: + - dfs_query_then_fetch + - query_then_fetch + _common:SegmentReplicationStats: + type: object + properties: + max_bytes_behind: + $ref: '#/components/schemas/_common:ByteSize' + max_replication_lag: + $ref: '#/components/schemas/_common:ByteSize' + total_bytes_behind: + $ref: '#/components/schemas/_common:ByteSize' + required: + - max_bytes_behind + - max_replication_lag + - total_bytes_behind + _common:SegmentsStats: + type: object + properties: + count: + description: Total number of segments across all shards assigned to selected nodes. + type: number + doc_values_memory: + $ref: '#/components/schemas/_common:ByteSize' + doc_values_memory_in_bytes: + description: Total amount, in bytes, of memory used for doc values across all shards assigned to selected nodes. + type: number + file_sizes: + description: |- + This object is not populated by the cluster stats API. + To get information on segment files, use the node stats API. + type: object + additionalProperties: + $ref: '#/components/schemas/indices.stats:ShardFileSizeInfo' + fixed_bit_set: + $ref: '#/components/schemas/_common:ByteSize' + fixed_bit_set_memory_in_bytes: + description: Total amount of memory, in bytes, used by fixed bit sets across all shards assigned to selected nodes. + type: number + index_writer_memory: + $ref: '#/components/schemas/_common:ByteSize' + index_writer_max_memory_in_bytes: + type: number + index_writer_memory_in_bytes: + description: Total amount, in bytes, of memory used by all index writers across all shards assigned to selected nodes. + type: number + max_unsafe_auto_id_timestamp: + description: Unix timestamp, in milliseconds, of the most recently retried indexing request. + type: number + memory: + $ref: '#/components/schemas/_common:ByteSize' + memory_in_bytes: + description: Total amount, in bytes, of memory used for segments across all shards assigned to selected nodes. + type: number + norms_memory: + $ref: '#/components/schemas/_common:ByteSize' + norms_memory_in_bytes: + description: Total amount, in bytes, of memory used for normalization factors across all shards assigned to selected nodes. + type: number + points_memory: + $ref: '#/components/schemas/_common:ByteSize' + points_memory_in_bytes: + description: Total amount, in bytes, of memory used for points across all shards assigned to selected nodes. + type: number + stored_memory: + $ref: '#/components/schemas/_common:ByteSize' + stored_fields_memory_in_bytes: + description: Total amount, in bytes, of memory used for stored fields across all shards assigned to selected nodes. + type: number + terms_memory_in_bytes: + description: Total amount, in bytes, of memory used for terms across all shards assigned to selected nodes. + type: number + terms_memory: + $ref: '#/components/schemas/_common:ByteSize' + term_vectory_memory: + $ref: '#/components/schemas/_common:ByteSize' + term_vectors_memory_in_bytes: + description: Total amount, in bytes, of memory used for term vectors across all shards assigned to selected nodes. + type: number + version_map_memory: + $ref: '#/components/schemas/_common:ByteSize' + version_map_memory_in_bytes: + description: Total amount, in bytes, of memory used by all version maps across all shards assigned to selected nodes. + type: number + remote_store: + $ref: '#/components/schemas/_common:RemoteStoreStats' + segment_replication: + $ref: '#/components/schemas/_common:SegmentReplicationStats' + required: + - count + - doc_values_memory_in_bytes + - file_sizes + - fixed_bit_set_memory_in_bytes + - index_writer_memory_in_bytes + - max_unsafe_auto_id_timestamp + - memory_in_bytes + - norms_memory_in_bytes + - points_memory_in_bytes + - stored_fields_memory_in_bytes + - term_vectors_memory_in_bytes + - terms_memory_in_bytes + - version_map_memory_in_bytes + _common:SequenceNumber: + type: number + format: int64 + _common:ShardFailure: + type: object + properties: + index: + $ref: '#/components/schemas/_common:IndexName' + node: + type: string + reason: + $ref: '#/components/schemas/_common:ErrorCause' + shard: + type: number + status: + type: string + required: + - reason + - shard + _common:ShardsOperationResponseBase: + type: object + properties: + _shards: + $ref: '#/components/schemas/_common:ShardStatistics' + required: + - _shards + _common:ShardStatistics: + type: object + properties: + failed: + $ref: '#/components/schemas/_common:uint' + successful: + $ref: '#/components/schemas/_common:uint' + total: + $ref: '#/components/schemas/_common:uint' + failures: + type: array + items: + $ref: '#/components/schemas/_common:ShardFailure' + skipped: + $ref: '#/components/schemas/_common:uint' + required: + - failed + - successful + - total + _common:short: + type: number + _common:SlicedScroll: + type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + id: + $ref: '#/components/schemas/_common:Id' + max: + type: number + required: + - id + - max + _common:Slices: + description: Slices configuration used to parallelize a process. + oneOf: + - type: number + - $ref: '#/components/schemas/_common:SlicesCalculation' + _common:SlicesCalculation: + type: string + enum: + - auto + _common:Sort: + oneOf: + - $ref: '#/components/schemas/_common:SortCombinations' + - type: array + items: + $ref: '#/components/schemas/_common:SortCombinations' + _common:SortCombinations: + oneOf: + - $ref: '#/components/schemas/_common:Field' + - $ref: '#/components/schemas/_common:SortOptions' + _common:SortMode: + type: string + enum: + - avg + - max + - median + - min + - sum + _common:SortOptions: + type: object + properties: + _score: + $ref: '#/components/schemas/_common:ScoreSort' + _doc: + $ref: '#/components/schemas/_common:ScoreSort' + _geo_distance: + $ref: '#/components/schemas/_common:GeoDistanceSort' + _script: + $ref: '#/components/schemas/_common:ScriptSort' + minProperties: 1 + maxProperties: 1 + _common:SortOrder: + type: string + enum: + - asc + - desc + _common:SortResults: + type: array + items: + $ref: '#/components/schemas/_common:FieldValue' + _common:StoredScript: + type: object + properties: + lang: + $ref: '#/components/schemas/_common:ScriptLanguage' + options: + type: object + additionalProperties: + type: string + source: + description: The script source. + type: string + required: + - lang + - source + _common:StoredScriptId: + allOf: + - $ref: '#/components/schemas/_common:ScriptBase' + - type: object + properties: + id: + $ref: '#/components/schemas/_common:Id' + required: + - id + _common:StoreStats: + type: object + properties: + size: + $ref: '#/components/schemas/_common:ByteSize' + size_in_bytes: + description: Total size, in bytes, of all shards assigned to selected nodes. + type: number + reserved: + $ref: '#/components/schemas/_common:ByteSize' + reserved_in_bytes: + description: A prediction, in bytes, of how much larger the shard stores will eventually grow due to ongoing peer recoveries, restoring snapshots, and similar activities. + type: number + required: + - reserved_in_bytes + - size_in_bytes + _common:Stringifiedboolean: + description: |- + Some APIs will return values such as numbers also as a string (notably epoch timestamps). This behavior + is used to capture this behavior while keeping the semantics of the field type. + + Depending on the target language, code generators can keep the union or remove it and leniently parse + strings to the target type. + oneOf: + - type: boolean + - type: string + _common:StringifiedEpochTimeUnitMillis: + description: |- + Some APIs will return values such as numbers also as a string (notably epoch timestamps). This behavior + is used to capture this behavior while keeping the semantics of the field type. + + Depending on the target language, code generators can keep the union or remove it and leniently parse + strings to the target type. + oneOf: + - $ref: '#/components/schemas/_common:EpochTimeUnitMillis' + - type: string + _common:StringifiedEpochTimeUnitSeconds: + description: |- + Some APIs will return values such as numbers also as a string (notably epoch timestamps). This behavior + is used to capture this behavior while keeping the semantics of the field type. + + Depending on the target language, code generators can keep the union or remove it and leniently parse + strings to the target type. + oneOf: + - $ref: '#/components/schemas/_common:EpochTimeUnitSeconds' + - type: string + _common:Stringifiedinteger: + description: |- + Some APIs will return values such as numbers also as a string (notably epoch timestamps). This behavior + is used to capture this behavior while keeping the semantics of the field type. + + Depending on the target language, code generators can keep the union or remove it and leniently parse + strings to the target type. + oneOf: + - type: number + - type: string + _common:StringifiedVersionNumber: + description: |- + Some APIs will return values such as numbers also as a string (notably epoch timestamps). This behavior + is used to capture this behavior while keeping the semantics of the field type. + + Depending on the target language, code generators can keep the union or remove it and leniently parse + strings to the target type. + oneOf: + - $ref: '#/components/schemas/_common:VersionNumber' + - type: string + _common:SuggestMode: + type: string + enum: + - always + - missing + - popular + _common:TaskFailure: + type: object + properties: + task_id: + type: number + node_id: + $ref: '#/components/schemas/_common:NodeId' + status: + type: string + reason: + $ref: '#/components/schemas/_common:ErrorCause' + required: + - node_id + - reason + - status + - task_id + _common:TaskId: + oneOf: + - type: string + - type: number + _common:TextEmbedding: + type: object + properties: + model_id: + type: string + model_text: + type: string + required: + - model_id + - model_text + _common:TimeOfDay: + description: Time of day, expressed as HH:MM:SS. + type: string + _common:TimeUnit: + type: string + enum: + - d + - h + - m + - micros + - ms + - nanos + - s + _common:TimeZone: + type: string + _common:TopLeftBottomRightGeoBounds: + type: object + properties: + top_left: + $ref: '#/components/schemas/_common:GeoLocation' + bottom_right: + $ref: '#/components/schemas/_common:GeoLocation' + required: + - bottom_right + - top_left + _common:TopRightBottomLeftGeoBounds: + type: object + properties: + top_right: + $ref: '#/components/schemas/_common:GeoLocation' + bottom_left: + $ref: '#/components/schemas/_common:GeoLocation' + required: + - bottom_left + - top_right + _common:TranslogStats: + type: object + properties: + earliest_last_modified_age: + type: number + operations: + type: number + remote_store: + $ref: '#/components/schemas/_common:RemoteStoreTranslogStats' + size: + type: string + size_in_bytes: + type: number + uncommitted_operations: + type: number + uncommitted_size: + type: string + uncommitted_size_in_bytes: + type: number + required: + - earliest_last_modified_age + - operations + - size_in_bytes + - uncommitted_operations + - uncommitted_size_in_bytes + _common:TransportAddress: + type: string + _common:Type: + type: string + x-version-removed: '2.0' + _common:uint: + type: number + _common:ulong: + type: number + _common:UnitMillis: + description: Time unit for milliseconds. + type: number + format: int64 + _common:UnitNanos: + description: Time unit for nanoseconds. + type: number + _common:UnitSeconds: + description: Time unit for seconds. + type: number + _common:Username: + type: string + _common:Uuid: + type: string + _common:VersionNumber: + type: number + format: int64 + _common:VersionString: + type: string + _common:VersionType: + type: string + enum: + - external + - external_gte + - force + - internal + _common:Void: + description: |- + The absence of any type. This is commonly used in APIs that don't return a body. + + Although "void" is generally used for the unit type that has only one value, this is to be interpreted as + the bottom type that has no value at all. Most languages have a unit type, but few have a bottom type. + + See https://en.m.wikipedia.org/wiki/Unit_type and https://en.m.wikipedia.org/wiki/Bottom_type. + type: object + _common:WaitForActiveShardOptions: + type: string + enum: + - all + - index-setting + _common:WaitForActiveShards: + oneOf: + - type: number + - $ref: '#/components/schemas/_common:WaitForActiveShardOptions' + _common:WaitForEvents: + type: string + enum: + - high + - immediate + - languid + - low + - normal + - urgent + _common:WarmerStats: + type: object + properties: + current: + type: number + total: + type: number + total_time: + $ref: '#/components/schemas/_common:Duration' + total_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + required: + - current + - total + - total_time_in_millis + _common:WktGeoBounds: + type: object + properties: + wkt: + type: string + required: + - wkt + _common:WriteResponseBase: + type: object + properties: + _type: + $ref: '#/components/schemas/_common:Type' + _id: + $ref: '#/components/schemas/_common:Id' + _index: + $ref: '#/components/schemas/_common:IndexName' + _primary_term: + type: number + format: int64 + result: + $ref: '#/components/schemas/_common:Result' + _seq_no: + $ref: '#/components/schemas/_common:SequenceNumber' + _shards: + $ref: '#/components/schemas/_common:ShardStatistics' + _version: + $ref: '#/components/schemas/_common:VersionNumber' + forced_refresh: + type: boolean + required: + - _id + - _index + - _primary_term + - _seq_no + - _shards + - _version + - result + _common.aggregations:AdjacencyMatrixAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseAdjacencyMatrixBucket' + - type: object + _common.aggregations:AdjacencyMatrixAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + filters: + description: |- + Filters used to create buckets. + At least one filter is required. + type: object + additionalProperties: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + _common.aggregations:AdjacencyMatrixBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketBase' + - type: object + properties: + key: + type: string + required: + - key + _common.aggregations:Aggregate: + oneOf: + - $ref: '#/components/schemas/_common.aggregations:CardinalityAggregate' + - $ref: '#/components/schemas/_common.aggregations:HdrPercentilesAggregate' + - $ref: '#/components/schemas/_common.aggregations:HdrPercentileRanksAggregate' + - $ref: '#/components/schemas/_common.aggregations:TDigestPercentilesAggregate' + - $ref: '#/components/schemas/_common.aggregations:TDigestPercentileRanksAggregate' + - $ref: '#/components/schemas/_common.aggregations:PercentilesBucketAggregate' + - $ref: '#/components/schemas/_common.aggregations:MedianAbsoluteDeviationAggregate' + - $ref: '#/components/schemas/_common.aggregations:MinAggregate' + - $ref: '#/components/schemas/_common.aggregations:MaxAggregate' + - $ref: '#/components/schemas/_common.aggregations:SumAggregate' + - $ref: '#/components/schemas/_common.aggregations:AvgAggregate' + - $ref: '#/components/schemas/_common.aggregations:WeightedAvgAggregate' + - $ref: '#/components/schemas/_common.aggregations:ValueCountAggregate' + - $ref: '#/components/schemas/_common.aggregations:SimpleValueAggregate' + - $ref: '#/components/schemas/_common.aggregations:DerivativeAggregate' + - $ref: '#/components/schemas/_common.aggregations:BucketMetricValueAggregate' + - $ref: '#/components/schemas/_common.aggregations:StatsAggregate' + - $ref: '#/components/schemas/_common.aggregations:StatsBucketAggregate' + - $ref: '#/components/schemas/_common.aggregations:ExtendedStatsAggregate' + - $ref: '#/components/schemas/_common.aggregations:ExtendedStatsBucketAggregate' + - $ref: '#/components/schemas/_common.aggregations:GeoBoundsAggregate' + - $ref: '#/components/schemas/_common.aggregations:GeoCentroidAggregate' + - $ref: '#/components/schemas/_common.aggregations:HistogramAggregate' + - $ref: '#/components/schemas/_common.aggregations:DateHistogramAggregate' + - $ref: '#/components/schemas/_common.aggregations:AutoDateHistogramAggregate' + - $ref: '#/components/schemas/_common.aggregations:VariableWidthHistogramAggregate' + - $ref: '#/components/schemas/_common.aggregations:StringTermsAggregate' + - $ref: '#/components/schemas/_common.aggregations:LongTermsAggregate' + - $ref: '#/components/schemas/_common.aggregations:DoubleTermsAggregate' + - $ref: '#/components/schemas/_common.aggregations:UnmappedTermsAggregate' + - $ref: '#/components/schemas/_common.aggregations:LongRareTermsAggregate' + - $ref: '#/components/schemas/_common.aggregations:StringRareTermsAggregate' + - $ref: '#/components/schemas/_common.aggregations:UnmappedRareTermsAggregate' + - $ref: '#/components/schemas/_common.aggregations:MultiTermsAggregate' + - $ref: '#/components/schemas/_common.aggregations:MissingAggregate' + - $ref: '#/components/schemas/_common.aggregations:NestedAggregate' + - $ref: '#/components/schemas/_common.aggregations:ReverseNestedAggregate' + - $ref: '#/components/schemas/_common.aggregations:GlobalAggregate' + - $ref: '#/components/schemas/_common.aggregations:FilterAggregate' + - $ref: '#/components/schemas/_common.aggregations:ChildrenAggregate' + - $ref: '#/components/schemas/_common.aggregations:ParentAggregate' + - $ref: '#/components/schemas/_common.aggregations:SamplerAggregate' + - $ref: '#/components/schemas/_common.aggregations:UnmappedSamplerAggregate' + - $ref: '#/components/schemas/_common.aggregations:GeoHashGridAggregate' + - $ref: '#/components/schemas/_common.aggregations:GeoTileGridAggregate' + - $ref: '#/components/schemas/_common.aggregations:GeoHexGridAggregate' + - $ref: '#/components/schemas/_common.aggregations:RangeAggregate' + - $ref: '#/components/schemas/_common.aggregations:DateRangeAggregate' + - $ref: '#/components/schemas/_common.aggregations:GeoDistanceAggregate' + - $ref: '#/components/schemas/_common.aggregations:IpRangeAggregate' + - $ref: '#/components/schemas/_common.aggregations:IpPrefixAggregate' + - $ref: '#/components/schemas/_common.aggregations:FiltersAggregate' + - $ref: '#/components/schemas/_common.aggregations:AdjacencyMatrixAggregate' + - $ref: '#/components/schemas/_common.aggregations:SignificantLongTermsAggregate' + - $ref: '#/components/schemas/_common.aggregations:SignificantStringTermsAggregate' + - $ref: '#/components/schemas/_common.aggregations:UnmappedSignificantTermsAggregate' + - $ref: '#/components/schemas/_common.aggregations:CompositeAggregate' + - $ref: '#/components/schemas/_common.aggregations:FrequentItemSetsAggregate' + - $ref: '#/components/schemas/_common.aggregations:ScriptedMetricAggregate' + - $ref: '#/components/schemas/_common.aggregations:TopHitsAggregate' + - $ref: '#/components/schemas/_common.aggregations:InferenceAggregate' + - $ref: '#/components/schemas/_common.aggregations:StringStatsAggregate' + - $ref: '#/components/schemas/_common.aggregations:BoxPlotAggregate' + - $ref: '#/components/schemas/_common.aggregations:TopMetricsAggregate' + - $ref: '#/components/schemas/_common.aggregations:TTestAggregate' + - $ref: '#/components/schemas/_common.aggregations:RateAggregate' + - $ref: '#/components/schemas/_common.aggregations:CumulativeCardinalityAggregate' + - $ref: '#/components/schemas/_common.aggregations:MatrixStatsAggregate' + - $ref: '#/components/schemas/_common.aggregations:GeoLineAggregate' + _common.aggregations:AggregateBase: + type: object + properties: + meta: + $ref: '#/components/schemas/_common:Metadata' + _common.aggregations:AggregateOrder: + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common:SortOrder' + minProperties: 1 + maxProperties: 1 + - type: array + items: + type: object + additionalProperties: + $ref: '#/components/schemas/_common:SortOrder' + minProperties: 1 + maxProperties: 1 + _common.aggregations:Aggregation: + type: object + properties: + meta: + $ref: '#/components/schemas/_common:Metadata' + name: + type: string + _common.aggregations:AggregationContainer: + allOf: + - type: object + properties: + aggregations: + description: |- + Sub-aggregations for this aggregation. + Only applies to bucket aggregations. + type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:AggregationContainer' + meta: + $ref: '#/components/schemas/_common:Metadata' + - type: object + properties: + adjacency_matrix: + $ref: '#/components/schemas/_common.aggregations:AdjacencyMatrixAggregation' + auto_date_histogram: + $ref: '#/components/schemas/_common.aggregations:AutoDateHistogramAggregation' + avg: + $ref: '#/components/schemas/_common.aggregations:AverageAggregation' + avg_bucket: + $ref: '#/components/schemas/_common.aggregations:AverageBucketAggregation' + boxplot: + $ref: '#/components/schemas/_common.aggregations:BoxplotAggregation' + bucket_script: + $ref: '#/components/schemas/_common.aggregations:BucketScriptAggregation' + bucket_selector: + $ref: '#/components/schemas/_common.aggregations:BucketSelectorAggregation' + bucket_sort: + $ref: '#/components/schemas/_common.aggregations:BucketSortAggregation' + bucket_count_ks_test: + $ref: '#/components/schemas/_common.aggregations:BucketKsAggregation' + bucket_correlation: + $ref: '#/components/schemas/_common.aggregations:BucketCorrelationAggregation' + cardinality: + $ref: '#/components/schemas/_common.aggregations:CardinalityAggregation' + categorize_text: + $ref: '#/components/schemas/_common.aggregations:CategorizeTextAggregation' + children: + $ref: '#/components/schemas/_common.aggregations:ChildrenAggregation' + composite: + $ref: '#/components/schemas/_common.aggregations:CompositeAggregation' + cumulative_cardinality: + $ref: '#/components/schemas/_common.aggregations:CumulativeCardinalityAggregation' + cumulative_sum: + $ref: '#/components/schemas/_common.aggregations:CumulativeSumAggregation' + date_histogram: + $ref: '#/components/schemas/_common.aggregations:DateHistogramAggregation' + date_range: + $ref: '#/components/schemas/_common.aggregations:DateRangeAggregation' + derivative: + $ref: '#/components/schemas/_common.aggregations:DerivativeAggregation' + diversified_sampler: + $ref: '#/components/schemas/_common.aggregations:DiversifiedSamplerAggregation' + extended_stats: + $ref: '#/components/schemas/_common.aggregations:ExtendedStatsAggregation' + extended_stats_bucket: + $ref: '#/components/schemas/_common.aggregations:ExtendedStatsBucketAggregation' + frequent_item_sets: + $ref: '#/components/schemas/_common.aggregations:FrequentItemSetsAggregation' + filter: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + filters: + $ref: '#/components/schemas/_common.aggregations:FiltersAggregation' + geo_bounds: + $ref: '#/components/schemas/_common.aggregations:GeoBoundsAggregation' + geo_centroid: + $ref: '#/components/schemas/_common.aggregations:GeoCentroidAggregation' + geo_distance: + $ref: '#/components/schemas/_common.aggregations:GeoDistanceAggregation' + geohash_grid: + $ref: '#/components/schemas/_common.aggregations:GeoHashGridAggregation' + geo_line: + $ref: '#/components/schemas/_common.aggregations:GeoLineAggregation' + geotile_grid: + $ref: '#/components/schemas/_common.aggregations:GeoTileGridAggregation' + geohex_grid: + $ref: '#/components/schemas/_common.aggregations:GeohexGridAggregation' + global: + $ref: '#/components/schemas/_common.aggregations:GlobalAggregation' + histogram: + $ref: '#/components/schemas/_common.aggregations:HistogramAggregation' + ip_range: + $ref: '#/components/schemas/_common.aggregations:IpRangeAggregation' + ip_prefix: + $ref: '#/components/schemas/_common.aggregations:IpPrefixAggregation' + inference: + $ref: '#/components/schemas/_common.aggregations:InferenceAggregation' + line: + $ref: '#/components/schemas/_common.aggregations:GeoLineAggregation' + matrix_stats: + $ref: '#/components/schemas/_common.aggregations:MatrixStatsAggregation' + max: + $ref: '#/components/schemas/_common.aggregations:MaxAggregation' + max_bucket: + $ref: '#/components/schemas/_common.aggregations:MaxBucketAggregation' + median_absolute_deviation: + $ref: '#/components/schemas/_common.aggregations:MedianAbsoluteDeviationAggregation' + min: + $ref: '#/components/schemas/_common.aggregations:MinAggregation' + min_bucket: + $ref: '#/components/schemas/_common.aggregations:MinBucketAggregation' + missing: + $ref: '#/components/schemas/_common.aggregations:MissingAggregation' + moving_avg: + $ref: '#/components/schemas/_common.aggregations:MovingAverageAggregation' + moving_percentiles: + $ref: '#/components/schemas/_common.aggregations:MovingPercentilesAggregation' + moving_fn: + $ref: '#/components/schemas/_common.aggregations:MovingFunctionAggregation' + multi_terms: + $ref: '#/components/schemas/_common.aggregations:MultiTermsAggregation' + nested: + $ref: '#/components/schemas/_common.aggregations:NestedAggregation' + normalize: + $ref: '#/components/schemas/_common.aggregations:NormalizeAggregation' + parent: + $ref: '#/components/schemas/_common.aggregations:ParentAggregation' + percentile_ranks: + $ref: '#/components/schemas/_common.aggregations:PercentileRanksAggregation' + percentiles: + $ref: '#/components/schemas/_common.aggregations:PercentilesAggregation' + percentiles_bucket: + $ref: '#/components/schemas/_common.aggregations:PercentilesBucketAggregation' + range: + $ref: '#/components/schemas/_common.aggregations:RangeAggregation' + rare_terms: + $ref: '#/components/schemas/_common.aggregations:RareTermsAggregation' + rate: + $ref: '#/components/schemas/_common.aggregations:RateAggregation' + reverse_nested: + $ref: '#/components/schemas/_common.aggregations:ReverseNestedAggregation' + sampler: + $ref: '#/components/schemas/_common.aggregations:SamplerAggregation' + scripted_metric: + $ref: '#/components/schemas/_common.aggregations:ScriptedMetricAggregation' + serial_diff: + $ref: '#/components/schemas/_common.aggregations:SerialDifferencingAggregation' + significant_terms: + $ref: '#/components/schemas/_common.aggregations:SignificantTermsAggregation' + significant_text: + $ref: '#/components/schemas/_common.aggregations:SignificantTextAggregation' + stats: + $ref: '#/components/schemas/_common.aggregations:StatsAggregation' + stats_bucket: + $ref: '#/components/schemas/_common.aggregations:StatsBucketAggregation' + string_stats: + $ref: '#/components/schemas/_common.aggregations:StringStatsAggregation' + sum: + $ref: '#/components/schemas/_common.aggregations:SumAggregation' + sum_bucket: + $ref: '#/components/schemas/_common.aggregations:SumBucketAggregation' + terms: + $ref: '#/components/schemas/_common.aggregations:TermsAggregation' + top_hits: + $ref: '#/components/schemas/_common.aggregations:TopHitsAggregation' + t_test: + $ref: '#/components/schemas/_common.aggregations:TTestAggregation' + top_metrics: + $ref: '#/components/schemas/_common.aggregations:TopMetricsAggregation' + value_count: + $ref: '#/components/schemas/_common.aggregations:ValueCountAggregation' + weighted_avg: + $ref: '#/components/schemas/_common.aggregations:WeightedAverageAggregation' + variable_width_histogram: + $ref: '#/components/schemas/_common.aggregations:VariableWidthHistogramAggregation' + minProperties: 1 + maxProperties: 1 + _common.aggregations:AggregationRange: + type: object + properties: + from: + description: Start of the range (inclusive). + type: + - 'null' + - number + - string + key: + description: Custom key to return the range with. + type: string + to: + description: End of the range (exclusive). + type: + - 'null' + - number + - string + _common.aggregations:ArrayPercentilesItem: + type: object + properties: + key: + type: string + value: + type: + - 'null' + - number + - string + value_as_string: + type: string + required: + - key + - value + _common.aggregations:AutoDateHistogramAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseDateHistogramBucket' + - type: object + properties: + interval: + $ref: '#/components/schemas/_common:DurationLarge' + required: + - interval + _common.aggregations:AutoDateHistogramAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + buckets: + description: The target number of buckets. + type: number + field: + $ref: '#/components/schemas/_common:Field' + format: + description: |- + The date format used to format `key_as_string` in the response. + If no `format` is specified, the first date format specified in the field mapping is used. + type: string + minimum_interval: + $ref: '#/components/schemas/_common.aggregations:MinimumInterval' + missing: + $ref: '#/components/schemas/_common:DateTime' + offset: + description: Time zone specified as a ISO 8601 UTC offset. + type: string + params: + type: object + additionalProperties: + type: object + script: + $ref: '#/components/schemas/_common:Script' + time_zone: + $ref: '#/components/schemas/_common:TimeZone' + _common.aggregations:AverageAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:FormatMetricAggregationBase' + - type: object + _common.aggregations:AverageBucketAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:PipelineAggregationBase' + - type: object + _common.aggregations:AvgAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SingleMetricAggregateBase' + - type: object + _common.aggregations:BoxPlotAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + min: + type: number + max: + type: number + q1: + type: number + q2: + type: number + q3: + type: number + lower: + type: number + upper: + type: number + min_as_string: + type: string + max_as_string: + type: string + q1_as_string: + type: string + q2_as_string: + type: string + q3_as_string: + type: string + lower_as_string: + type: string + upper_as_string: + type: string + required: + - lower + - max + - min + - q1 + - q2 + - q3 + - upper + _common.aggregations:BoxplotAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MetricAggregationBase' + - type: object + properties: + compression: + description: Limits the maximum number of nodes used by the underlying TDigest algorithm to `20 * compression`, enabling control of memory usage and approximation error. + type: number + _common.aggregations:BucketAggregationBase: + allOf: + - $ref: '#/components/schemas/_common.aggregations:Aggregation' + - type: object + _common.aggregations:BucketCorrelationAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketPathAggregation' + - type: object + properties: + function: + $ref: '#/components/schemas/_common.aggregations:BucketCorrelationFunction' + required: + - function + _common.aggregations:BucketCorrelationFunction: + type: object + properties: + count_correlation: + $ref: '#/components/schemas/_common.aggregations:BucketCorrelationFunctionCountCorrelation' + required: + - count_correlation + _common.aggregations:BucketCorrelationFunctionCountCorrelation: + type: object + properties: + indicator: + $ref: '#/components/schemas/_common.aggregations:BucketCorrelationFunctionCountCorrelationIndicator' + required: + - indicator + _common.aggregations:BucketCorrelationFunctionCountCorrelationIndicator: + type: object + properties: + doc_count: + description: |- + The total number of documents that initially created the expectations. It's required to be greater + than or equal to the sum of all values in the buckets_path as this is the originating superset of data + to which the term values are correlated. + type: number + expectations: + description: |- + An array of numbers with which to correlate the configured `bucket_path` values. + The length of this value must always equal the number of buckets returned by the `bucket_path`. + type: array + items: + type: number + fractions: + description: |- + An array of fractions to use when averaging and calculating variance. This should be used if + the pre-calculated data and the buckets_path have known gaps. The length of fractions, if provided, + must equal expectations. + type: array + items: + type: number + required: + - doc_count + - expectations + _common.aggregations:BucketKsAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketPathAggregation' + - type: object + properties: + alternative: + description: |- + A list of string values indicating which K-S test alternative to calculate. The valid values + are: "greater", "less", "two_sided". This parameter is key for determining the K-S statistic used + when calculating the K-S test. Default value is all possible alternative hypotheses. + type: array + items: + type: string + fractions: + description: |- + A list of doubles indicating the distribution of the samples with which to compare to the `buckets_path` results. + In typical usage this is the overall proportion of documents in each bucket, which is compared with the actual + document proportions in each bucket from the sibling aggregation counts. The default is to assume that overall + documents are uniformly distributed on these buckets, which they would be if one used equal percentiles of a + metric to define the bucket end points. + type: array + items: + type: number + sampling_method: + description: |- + Indicates the sampling methodology when calculating the K-S test. Note, this is sampling of the returned values. + This determines the cumulative distribution function (CDF) points used comparing the two samples. Default is + `upper_tail`, which emphasizes the upper end of the CDF points. Valid options are: `upper_tail`, `uniform`, + and `lower_tail`. + type: string + _common.aggregations:BucketMetricValueAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SingleMetricAggregateBase' + - type: object + properties: + keys: + type: array + items: + type: string + required: + - keys + _common.aggregations:BucketPathAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:Aggregation' + - type: object + properties: + buckets_path: + $ref: '#/components/schemas/_common.aggregations:BucketsPath' + _common.aggregations:BucketsAdjacencyMatrixBucket: + description: |- + Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for + the different buckets, the result is a dictionary. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:AdjacencyMatrixBucket' + - type: array + items: + $ref: '#/components/schemas/_common.aggregations:AdjacencyMatrixBucket' + _common.aggregations:BucketsCompositeBucket: + description: |- + Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for + the different buckets, the result is a dictionary. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:CompositeBucket' + - type: array + items: + $ref: '#/components/schemas/_common.aggregations:CompositeBucket' + _common.aggregations:BucketScriptAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:PipelineAggregationBase' + - type: object + properties: + script: + $ref: '#/components/schemas/_common:Script' + _common.aggregations:BucketsDateHistogramBucket: + description: |- + Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for + the different buckets, the result is a dictionary. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:DateHistogramBucket' + - type: array + items: + $ref: '#/components/schemas/_common.aggregations:DateHistogramBucket' + _common.aggregations:BucketsDoubleTermsBucket: + description: |- + Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for + the different buckets, the result is a dictionary. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:DoubleTermsBucket' + - type: array + items: + $ref: '#/components/schemas/_common.aggregations:DoubleTermsBucket' + _common.aggregations:BucketSelectorAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:PipelineAggregationBase' + - type: object + properties: + script: + $ref: '#/components/schemas/_common:Script' + _common.aggregations:BucketsFiltersBucket: + description: |- + Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for + the different buckets, the result is a dictionary. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:FiltersBucket' + - type: array + items: + $ref: '#/components/schemas/_common.aggregations:FiltersBucket' + _common.aggregations:BucketsFrequentItemSetsBucket: + description: |- + Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for + the different buckets, the result is a dictionary. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:FrequentItemSetsBucket' + - type: array + items: + $ref: '#/components/schemas/_common.aggregations:FrequentItemSetsBucket' + _common.aggregations:BucketsGeoHashGridBucket: + description: |- + Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for + the different buckets, the result is a dictionary. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:GeoHashGridBucket' + - type: array + items: + $ref: '#/components/schemas/_common.aggregations:GeoHashGridBucket' + _common.aggregations:BucketsGeoHexGridBucket: + description: |- + Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for + the different buckets, the result is a dictionary. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:GeoHexGridBucket' + - type: array + items: + $ref: '#/components/schemas/_common.aggregations:GeoHexGridBucket' + _common.aggregations:BucketsGeoTileGridBucket: + description: |- + Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for + the different buckets, the result is a dictionary. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:GeoTileGridBucket' + - type: array + items: + $ref: '#/components/schemas/_common.aggregations:GeoTileGridBucket' + _common.aggregations:BucketsHistogramBucket: + description: |- + Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for + the different buckets, the result is a dictionary. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:HistogramBucket' + - type: array + items: + $ref: '#/components/schemas/_common.aggregations:HistogramBucket' + _common.aggregations:BucketsIpPrefixBucket: + description: |- + Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for + the different buckets, the result is a dictionary. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:IpPrefixBucket' + - type: array + items: + $ref: '#/components/schemas/_common.aggregations:IpPrefixBucket' + _common.aggregations:BucketsIpRangeBucket: + description: |- + Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for + the different buckets, the result is a dictionary. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:IpRangeBucket' + - type: array + items: + $ref: '#/components/schemas/_common.aggregations:IpRangeBucket' + _common.aggregations:BucketsLongRareTermsBucket: + description: |- + Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for + the different buckets, the result is a dictionary. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:LongRareTermsBucket' + - type: array + items: + $ref: '#/components/schemas/_common.aggregations:LongRareTermsBucket' + _common.aggregations:BucketsLongTermsBucket: + description: |- + Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for + the different buckets, the result is a dictionary. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:LongTermsBucket' + - type: array + items: + $ref: '#/components/schemas/_common.aggregations:LongTermsBucket' + _common.aggregations:BucketsMultiTermsBucket: + description: |- + Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for + the different buckets, the result is a dictionary. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:MultiTermsBucket' + - type: array + items: + $ref: '#/components/schemas/_common.aggregations:MultiTermsBucket' + _common.aggregations:BucketSortAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:Aggregation' + - type: object + properties: + from: + description: Buckets in positions prior to `from` will be truncated. + type: number + gap_policy: + $ref: '#/components/schemas/_common.aggregations:GapPolicy' + size: + description: |- + The number of buckets to return. + Defaults to all buckets of the parent aggregation. + type: number + sort: + $ref: '#/components/schemas/_common:Sort' + _common.aggregations:BucketsPath: + description: |- + Buckets path can be expressed in different ways, and an aggregation may accept some or all of these + forms depending on its type. Please refer to each aggregation's documentation to know what buckets + path forms they accept. + oneOf: + - type: string + - type: array + items: + type: string + - type: object + additionalProperties: + type: string + _common.aggregations:BucketsQueryContainer: + description: |- + Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for + the different buckets, the result is a dictionary. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + - type: array + items: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + _common.aggregations:BucketsRangeBucket: + description: |- + Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for + the different buckets, the result is a dictionary. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:RangeBucket' + - type: array + items: + $ref: '#/components/schemas/_common.aggregations:RangeBucket' + _common.aggregations:BucketsSignificantLongTermsBucket: + description: |- + Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for + the different buckets, the result is a dictionary. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:SignificantLongTermsBucket' + - type: array + items: + $ref: '#/components/schemas/_common.aggregations:SignificantLongTermsBucket' + _common.aggregations:BucketsSignificantStringTermsBucket: + description: |- + Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for + the different buckets, the result is a dictionary. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:SignificantStringTermsBucket' + - type: array + items: + $ref: '#/components/schemas/_common.aggregations:SignificantStringTermsBucket' + _common.aggregations:BucketsStringRareTermsBucket: + description: |- + Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for + the different buckets, the result is a dictionary. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:StringRareTermsBucket' + - type: array + items: + $ref: '#/components/schemas/_common.aggregations:StringRareTermsBucket' + _common.aggregations:BucketsStringTermsBucket: + description: |- + Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for + the different buckets, the result is a dictionary. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:StringTermsBucket' + - type: array + items: + $ref: '#/components/schemas/_common.aggregations:StringTermsBucket' + _common.aggregations:BucketsVariableWidthHistogramBucket: + description: |- + Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for + the different buckets, the result is a dictionary. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:VariableWidthHistogramBucket' + - type: array + items: + $ref: '#/components/schemas/_common.aggregations:VariableWidthHistogramBucket' + _common.aggregations:BucketsVoid: + description: |- + Aggregation buckets. By default they are returned as an array, but if the aggregation has keys configured for + the different buckets, the result is a dictionary. + oneOf: + - type: object + additionalProperties: + $ref: '#/components/schemas/_common:Void' + - type: array + items: + $ref: '#/components/schemas/_common:Void' + _common.aggregations:CalendarInterval: + type: string + enum: + - day + - hour + - minute + - month + - quarter + - second + - week + - year + _common.aggregations:CardinalityAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + value: + type: number + required: + - value + _common.aggregations:CardinalityAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MetricAggregationBase' + - type: object + properties: + precision_threshold: + description: |- + A unique count below which counts are expected to be close to accurate. + This allows to trade memory for accuracy. + type: number + rehash: + type: boolean + execution_hint: + $ref: '#/components/schemas/_common.aggregations:CardinalityExecutionMode' + _common.aggregations:CardinalityExecutionMode: + type: string + enum: + - direct + - global_ordinals + - save_memory_heuristic + - save_time_heuristic + - segment_ordinals + _common.aggregations:CategorizeTextAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:Aggregation' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + max_unique_tokens: + description: |- + The maximum number of unique tokens at any position up to max_matched_tokens. Must be larger than 1. + Smaller values use less memory and create fewer categories. Larger values will use more memory and + create narrower categories. Max allowed value is 100. + type: number + max_matched_tokens: + description: |- + The maximum number of token positions to match on before attempting to merge categories. Larger + values will use more memory and create narrower categories. Max allowed value is 100. + type: number + similarity_threshold: + description: |- + The minimum percentage of tokens that must match for text to be added to the category bucket. Must + be between 1 and 100. The larger the value the narrower the categories. Larger values will increase memory + usage and create narrower categories. + type: number + categorization_filters: + description: |- + This property expects an array of regular expressions. The expressions are used to filter out matching + sequences from the categorization field values. You can use this functionality to fine tune the categorization + by excluding sequences from consideration when categories are defined. For example, you can exclude SQL + statements that appear in your log files. This property cannot be used at the same time as categorization_analyzer. + If you only want to define simple regular expression filters that are applied prior to tokenization, setting + this property is the easiest method. If you also want to customize the tokenizer or post-tokenization filtering, + use the categorization_analyzer property instead and include the filters as pattern_replace character filters. + type: array + items: + type: string + categorization_analyzer: + $ref: '#/components/schemas/_common.aggregations:CategorizeTextAnalyzer' + shard_size: + description: The number of categorization buckets to return from each shard before merging all the results. + type: number + size: + description: The number of buckets to return. + type: number + min_doc_count: + description: The minimum number of documents in a bucket to be returned to the results. + type: number + shard_min_doc_count: + description: The minimum number of documents in a bucket to be returned from the shard before merging. + type: number + required: + - field + _common.aggregations:CategorizeTextAnalyzer: + oneOf: + - type: string + - $ref: '#/components/schemas/_common.aggregations:CustomCategorizeTextAnalyzer' + _common.aggregations:ChildrenAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SingleBucketAggregateBase' + - type: object + _common.aggregations:ChildrenAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + type: + $ref: '#/components/schemas/_common:RelationName' + _common.aggregations:ChiSquareHeuristic: + type: object + properties: + background_is_superset: + description: Set to `false` if you defined a custom background filter that represents a different set of documents that you want to compare to. + type: boolean + include_negatives: + description: Set to `false` to filter out the terms that appear less often in the subset than in documents outside the subset. + type: boolean + required: + - background_is_superset + - include_negatives + _common.aggregations:ClassificationInferenceOptions: + type: object + properties: + num_top_classes: + description: Specifies the number of top class predictions to return. Defaults to 0. + type: number + num_top_feature_importance_values: + description: Specifies the maximum number of feature importance values per document. + type: number + prediction_field_type: + description: 'Specifies the type of the predicted field to write. Acceptable values are: string, number, boolean. When boolean is provided 1.0 is transformed to true and 0.0 to false.' + type: string + results_field: + description: The field that is added to incoming documents to contain the inference prediction. Defaults to predicted_value. + type: string + top_classes_results_field: + description: Specifies the field to which the top classes are written. Defaults to top_classes. + type: string + _common.aggregations:CompositeAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseCompositeBucket' + - type: object + properties: + after_key: + $ref: '#/components/schemas/_common.aggregations:CompositeAggregateKey' + _common.aggregations:CompositeAggregateKey: + type: object + additionalProperties: + $ref: '#/components/schemas/_common:FieldValue' + _common.aggregations:CompositeAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + after: + $ref: '#/components/schemas/_common.aggregations:CompositeAggregateKey' + size: + description: The number of composite buckets that should be returned. + type: number + sources: + description: |- + The value sources used to build composite buckets. + Keys are returned in the order of the `sources` definition. + type: array + items: + type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:CompositeAggregationSource' + _common.aggregations:CompositeAggregationBase: + type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + missing_bucket: + type: boolean + missing_order: + $ref: '#/components/schemas/_common.aggregations:MissingOrder' + script: + $ref: '#/components/schemas/_common:Script' + value_type: + $ref: '#/components/schemas/_common.aggregations:ValueType' + order: + $ref: '#/components/schemas/_common:SortOrder' + _common.aggregations:CompositeAggregationSource: + type: object + properties: + terms: + $ref: '#/components/schemas/_common.aggregations:CompositeTermsAggregation' + histogram: + $ref: '#/components/schemas/_common.aggregations:CompositeHistogramAggregation' + date_histogram: + $ref: '#/components/schemas/_common.aggregations:CompositeDateHistogramAggregation' + geotile_grid: + $ref: '#/components/schemas/_common.aggregations:CompositeGeoTileGridAggregation' + _common.aggregations:CompositeBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketBase' + - type: object + properties: + key: + $ref: '#/components/schemas/_common.aggregations:CompositeAggregateKey' + required: + - key + _common.aggregations:CompositeDateHistogramAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:CompositeAggregationBase' + - type: object + properties: + format: + type: string + calendar_interval: + $ref: '#/components/schemas/_common:DurationLarge' + fixed_interval: + $ref: '#/components/schemas/_common:DurationLarge' + offset: + $ref: '#/components/schemas/_common:Duration' + time_zone: + $ref: '#/components/schemas/_common:TimeZone' + _common.aggregations:CompositeGeoTileGridAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:CompositeAggregationBase' + - type: object + properties: + precision: + type: number + bounds: + $ref: '#/components/schemas/_common:GeoBounds' + _common.aggregations:CompositeHistogramAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:CompositeAggregationBase' + - type: object + properties: + interval: + type: number + required: + - interval + _common.aggregations:CompositeTermsAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:CompositeAggregationBase' + - type: object + _common.aggregations:CumulativeCardinalityAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + value: + type: number + value_as_string: + type: string + required: + - value + _common.aggregations:CumulativeCardinalityAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:PipelineAggregationBase' + - type: object + _common.aggregations:CumulativeSumAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:PipelineAggregationBase' + - type: object + _common.aggregations:CustomCategorizeTextAnalyzer: + type: object + properties: + char_filter: + type: array + items: + type: string + tokenizer: + type: string + filter: + type: array + items: + type: string + _common.aggregations:DateHistogramAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseDateHistogramBucket' + - type: object + _common.aggregations:DateHistogramAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + calendar_interval: + $ref: '#/components/schemas/_common.aggregations:CalendarInterval' + extended_bounds: + $ref: '#/components/schemas/_common.aggregations:ExtendedBoundsFieldDateMath' + hard_bounds: + $ref: '#/components/schemas/_common.aggregations:ExtendedBoundsFieldDateMath' + field: + $ref: '#/components/schemas/_common:Field' + fixed_interval: + $ref: '#/components/schemas/_common:Duration' + format: + description: |- + The date format used to format `key_as_string` in the response. + If no `format` is specified, the first date format specified in the field mapping is used. + type: string + interval: + $ref: '#/components/schemas/_common:Duration' + min_doc_count: + description: |- + Only returns buckets that have `min_doc_count` number of documents. + By default, all buckets between the first bucket that matches documents and the last one are returned. + type: number + missing: + $ref: '#/components/schemas/_common:DateTime' + offset: + $ref: '#/components/schemas/_common:Duration' + order: + $ref: '#/components/schemas/_common.aggregations:AggregateOrder' + params: + type: object + additionalProperties: + type: object + script: + $ref: '#/components/schemas/_common:Script' + time_zone: + $ref: '#/components/schemas/_common:TimeZone' + keyed: + description: Set to `true` to associate a unique string key with each bucket and return the ranges as a hash rather than an array. + type: boolean + _common.aggregations:DateHistogramBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketBase' + - type: object + properties: + key_as_string: + type: string + key: + $ref: '#/components/schemas/_common:EpochTimeUnitMillis' + required: + - key + _common.aggregations:DateRangeAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:RangeAggregate' + - type: object + _common.aggregations:DateRangeAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + format: + description: The date format used to format `from` and `to` in the response. + type: string + missing: + $ref: '#/components/schemas/_common.aggregations:Missing' + ranges: + description: Array of date ranges. + type: array + items: + $ref: '#/components/schemas/_common.aggregations:DateRangeExpression' + time_zone: + $ref: '#/components/schemas/_common:TimeZone' + keyed: + description: Set to `true` to associate a unique string key with each bucket and returns the ranges as a hash rather than an array. + type: boolean + _common.aggregations:DateRangeExpression: + type: object + properties: + from: + $ref: '#/components/schemas/_common.aggregations:FieldDateMath' + key: + description: Custom key to return the range with. + type: string + to: + $ref: '#/components/schemas/_common.aggregations:FieldDateMath' + _common.aggregations:DerivativeAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SingleMetricAggregateBase' + - type: object + properties: + normalized_value: + type: number + normalized_value_as_string: + type: string + _common.aggregations:DerivativeAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:PipelineAggregationBase' + - type: object + _common.aggregations:DiversifiedSamplerAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + execution_hint: + $ref: '#/components/schemas/_common.aggregations:SamplerAggregationExecutionHint' + max_docs_per_value: + description: Limits how many documents are permitted per choice of de-duplicating value. + type: number + script: + $ref: '#/components/schemas/_common:Script' + shard_size: + description: Limits how many top-scoring documents are collected in the sample processed on each shard. + type: number + field: + $ref: '#/components/schemas/_common:Field' + _common.aggregations:DoubleTermsAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:TermsAggregateBaseDoubleTermsBucket' + - type: object + _common.aggregations:DoubleTermsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:TermsBucketBase' + - type: object + properties: + key: + type: number + key_as_string: + type: string + required: + - key + _common.aggregations:EwmaModelSettings: + type: object + properties: + alpha: + type: number + _common.aggregations:EwmaMovingAverageAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MovingAverageAggregationBase' + - type: object + properties: + model: + type: string + enum: + - ewma + settings: + $ref: '#/components/schemas/_common.aggregations:EwmaModelSettings' + required: + - model + - settings + _common.aggregations:ExtendedBoundsdouble: + type: object + properties: + max: + description: Maximum value for the bound. + type: number + min: + description: Minimum value for the bound. + type: number + required: + - max + - min + _common.aggregations:ExtendedBoundsFieldDateMath: + type: object + properties: + max: + $ref: '#/components/schemas/_common.aggregations:FieldDateMath' + min: + $ref: '#/components/schemas/_common.aggregations:FieldDateMath' + required: + - max + - min + _common.aggregations:ExtendedStatsAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:StatsAggregate' + - type: object + properties: + sum_of_squares: + type: + - 'null' + - number + - string + variance: + type: + - 'null' + - number + - string + variance_population: + type: + - 'null' + - number + - string + variance_sampling: + type: + - 'null' + - number + - string + std_deviation: + type: + - 'null' + - number + - string + std_deviation_population: + type: + - 'null' + - number + - string + std_deviation_sampling: + type: + - 'null' + - number + - string + std_deviation_bounds: + $ref: '#/components/schemas/_common.aggregations:StandardDeviationBounds' + sum_of_squares_as_string: + type: string + variance_as_string: + type: string + variance_population_as_string: + type: string + variance_sampling_as_string: + type: string + std_deviation_as_string: + type: string + std_deviation_bounds_as_string: + $ref: '#/components/schemas/_common.aggregations:StandardDeviationBoundsAsString' + required: + - std_deviation + - std_deviation_population + - std_deviation_sampling + - sum_of_squares + - variance + - variance_population + - variance_sampling + _common.aggregations:ExtendedStatsAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:FormatMetricAggregationBase' + - type: object + properties: + sigma: + description: The number of standard deviations above/below the mean to display. + type: number + _common.aggregations:ExtendedStatsBucketAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:ExtendedStatsAggregate' + - type: object + _common.aggregations:ExtendedStatsBucketAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:PipelineAggregationBase' + - type: object + properties: + sigma: + description: The number of standard deviations above/below the mean to display. + type: number + _common.aggregations:FieldDateMath: + description: |- + A date range limit, represented either as a DateMath expression or a number expressed + according to the target field's precision. + oneOf: + - $ref: '#/components/schemas/_common:DateMath' + - type: number + _common.aggregations:FilterAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SingleBucketAggregateBase' + - type: object + _common.aggregations:FiltersAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseFiltersBucket' + - type: object + _common.aggregations:FiltersAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + filters: + $ref: '#/components/schemas/_common.aggregations:BucketsQueryContainer' + other_bucket: + description: Set to `true` to add a bucket to the response which will contain all documents that do not match any of the given filters. + type: boolean + other_bucket_key: + description: The key with which the other bucket is returned. + type: string + keyed: + description: |- + By default, the named filters aggregation returns the buckets as an object. + Set to `false` to return the buckets as an array of objects. + type: boolean + _common.aggregations:FiltersBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketBase' + - type: object + _common.aggregations:FormatMetricAggregationBase: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MetricAggregationBase' + - type: object + properties: + format: + type: string + _common.aggregations:FormattableMetricAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MetricAggregationBase' + - type: object + properties: + format: + type: string + _common.aggregations:FrequentItemSetsAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseFrequentItemSetsBucket' + - type: object + _common.aggregations:FrequentItemSetsAggregation: + type: object + properties: + fields: + description: Fields to analyze. + type: array + items: + $ref: '#/components/schemas/_common.aggregations:FrequentItemSetsField' + minimum_set_size: + description: The minimum size of one item set. + type: number + minimum_support: + description: The minimum support of one item set. + type: number + size: + description: The number of top item sets to return. + type: number + filter: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + required: + - fields + _common.aggregations:FrequentItemSetsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketBase' + - type: object + properties: + key: + type: object + additionalProperties: + type: array + items: + type: string + support: + type: number + required: + - key + - support + _common.aggregations:FrequentItemSetsField: + type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + exclude: + $ref: '#/components/schemas/_common.aggregations:TermsExclude' + include: + $ref: '#/components/schemas/_common.aggregations:TermsInclude' + required: + - field + _common.aggregations:GapPolicy: + type: string + enum: + - insert_zeros + - keep_values + - skip + _common.aggregations:GeoBoundsAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + bounds: + $ref: '#/components/schemas/_common:GeoBounds' + _common.aggregations:GeoBoundsAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MetricAggregationBase' + - type: object + properties: + wrap_longitude: + description: Specifies whether the bounding box should be allowed to overlap the international date line. + type: boolean + _common.aggregations:GeoCentroidAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + count: + type: number + location: + $ref: '#/components/schemas/_common:GeoLocation' + required: + - count + _common.aggregations:GeoCentroidAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MetricAggregationBase' + - type: object + properties: + count: + type: number + location: + $ref: '#/components/schemas/_common:GeoLocation' + _common.aggregations:GeoDistanceAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:RangeAggregate' + - type: object + _common.aggregations:GeoDistanceAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + distance_type: + $ref: '#/components/schemas/_common:GeoDistanceType' + field: + $ref: '#/components/schemas/_common:Field' + origin: + $ref: '#/components/schemas/_common:GeoLocation' + ranges: + description: An array of ranges used to bucket documents. + type: array + items: + $ref: '#/components/schemas/_common.aggregations:AggregationRange' + unit: + $ref: '#/components/schemas/_common:DistanceUnit' + _common.aggregations:GeoHashGridAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseGeoHashGridBucket' + - type: object + _common.aggregations:GeoHashGridAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + bounds: + $ref: '#/components/schemas/_common:GeoBounds' + field: + $ref: '#/components/schemas/_common:Field' + precision: + $ref: '#/components/schemas/_common:GeoHashPrecision' + shard_size: + description: |- + Allows for more accurate counting of the top cells returned in the final result the aggregation. + Defaults to returning `max(10,(size x number-of-shards))` buckets from each shard. + type: number + size: + description: The maximum number of geohash buckets to return. + type: number + _common.aggregations:GeoHashGridBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketBase' + - type: object + properties: + key: + $ref: '#/components/schemas/_common:GeoHash' + required: + - key + _common.aggregations:GeoHexGridAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseGeoHexGridBucket' + - type: object + _common.aggregations:GeohexGridAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + precision: + description: |- + Integer zoom of the key used to defined cells or buckets + in the results. Value should be between 0-15. + type: number + bounds: + $ref: '#/components/schemas/_common:GeoBounds' + size: + description: Maximum number of buckets to return. + type: number + shard_size: + description: Number of buckets returned from each shard. + type: number + required: + - field + _common.aggregations:GeoHexGridBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketBase' + - type: object + properties: + key: + $ref: '#/components/schemas/_common:GeoHexCell' + required: + - key + _common.aggregations:GeoLineAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + type: + type: string + geometry: + $ref: '#/components/schemas/_common:GeoLine' + properties: + type: object + required: + - geometry + - properties + - type + _common.aggregations:GeoLineAggregation: + type: object + properties: + point: + $ref: '#/components/schemas/_common.aggregations:GeoLinePoint' + sort: + $ref: '#/components/schemas/_common.aggregations:GeoLineSort' + include_sort: + description: When `true`, returns an additional array of the sort values in the feature properties. + type: boolean + sort_order: + $ref: '#/components/schemas/_common:SortOrder' + size: + description: |- + The maximum length of the line represented in the aggregation. + Valid sizes are between 1 and 10000. + type: number + required: + - point + - sort + _common.aggregations:GeoLinePoint: + type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + required: + - field + _common.aggregations:GeoLineSort: + type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + required: + - field + _common.aggregations:GeoTileGridAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseGeoTileGridBucket' + - type: object + _common.aggregations:GeoTileGridAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + precision: + $ref: '#/components/schemas/_common:GeoTilePrecision' + shard_size: + description: |- + Allows for more accurate counting of the top cells returned in the final result the aggregation. + Defaults to returning `max(10,(size x number-of-shards))` buckets from each shard. + type: number + size: + description: The maximum number of buckets to return. + type: number + bounds: + $ref: '#/components/schemas/_common:GeoBounds' + _common.aggregations:GeoTileGridBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketBase' + - type: object + properties: + key: + $ref: '#/components/schemas/_common:GeoTile' + required: + - key + _common.aggregations:GlobalAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SingleBucketAggregateBase' + - type: object + _common.aggregations:GlobalAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + _common.aggregations:GoogleNormalizedDistanceHeuristic: + type: object + properties: + background_is_superset: + description: Set to `false` if you defined a custom background filter that represents a different set of documents that you want to compare to. + type: boolean + _common.aggregations:HdrMethod: + type: object + properties: + number_of_significant_value_digits: + description: Specifies the resolution of values for the histogram in number of significant digits. + type: number + _common.aggregations:HdrPercentileRanksAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:PercentilesAggregateBase' + - type: object + _common.aggregations:HdrPercentilesAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:PercentilesAggregateBase' + - type: object + _common.aggregations:HistogramAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseHistogramBucket' + - type: object + _common.aggregations:HistogramAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + extended_bounds: + $ref: '#/components/schemas/_common.aggregations:ExtendedBoundsdouble' + hard_bounds: + $ref: '#/components/schemas/_common.aggregations:ExtendedBoundsdouble' + field: + $ref: '#/components/schemas/_common:Field' + interval: + description: |- + The interval for the buckets. + Must be a positive decimal. + type: number + min_doc_count: + description: |- + Only returns buckets that have `min_doc_count` number of documents. + By default, the response will fill gaps in the histogram with empty buckets. + type: number + missing: + description: |- + The value to apply to documents that do not have a value. + By default, documents without a value are ignored. + type: number + offset: + description: |- + By default, the bucket keys start with 0 and then continue in even spaced steps of `interval`. + The bucket boundaries can be shifted by using the `offset` option. + type: number + order: + $ref: '#/components/schemas/_common.aggregations:AggregateOrder' + script: + $ref: '#/components/schemas/_common:Script' + format: + type: string + keyed: + description: If `true`, returns buckets as a hash instead of an array, keyed by the bucket keys. + type: boolean + _common.aggregations:HistogramBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketBase' + - type: object + properties: + key_as_string: + type: string + key: + type: number + required: + - key + _common.aggregations:HoltLinearModelSettings: + type: object + properties: + alpha: + type: number + beta: + type: number + _common.aggregations:HoltMovingAverageAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MovingAverageAggregationBase' + - type: object + properties: + model: + type: string + enum: + - holt + settings: + $ref: '#/components/schemas/_common.aggregations:HoltLinearModelSettings' + required: + - model + - settings + _common.aggregations:HoltWintersModelSettings: + type: object + properties: + alpha: + type: number + beta: + type: number + gamma: + type: number + pad: + type: boolean + period: + type: number + type: + $ref: '#/components/schemas/_common.aggregations:HoltWintersType' + _common.aggregations:HoltWintersMovingAverageAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MovingAverageAggregationBase' + - type: object + properties: + model: + type: string + enum: + - holt_winters + settings: + $ref: '#/components/schemas/_common.aggregations:HoltWintersModelSettings' + required: + - model + - settings + _common.aggregations:HoltWintersType: + type: string + enum: + - add + - mult + _common.aggregations:InferenceAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + value: + $ref: '#/components/schemas/_common:FieldValue' + feature_importance: + type: array + items: + $ref: '#/components/schemas/_common.aggregations:InferenceFeatureImportance' + top_classes: + type: array + items: + $ref: '#/components/schemas/_common.aggregations:InferenceTopClassEntry' + warning: + type: string + _common.aggregations:InferenceAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:PipelineAggregationBase' + - type: object + properties: + model_id: + $ref: '#/components/schemas/_common:Name' + inference_config: + $ref: '#/components/schemas/_common.aggregations:InferenceConfigContainer' + required: + - model_id + _common.aggregations:InferenceClassImportance: + type: object + properties: + class_name: + type: string + importance: + type: number + required: + - class_name + - importance + _common.aggregations:InferenceConfigContainer: + type: object + properties: + regression: + $ref: '#/components/schemas/_common.aggregations:RegressionInferenceOptions' + classification: + $ref: '#/components/schemas/_common.aggregations:ClassificationInferenceOptions' + minProperties: 1 + maxProperties: 1 + _common.aggregations:InferenceFeatureImportance: + type: object + properties: + feature_name: + type: string + importance: + type: number + classes: + type: array + items: + $ref: '#/components/schemas/_common.aggregations:InferenceClassImportance' + required: + - feature_name + _common.aggregations:InferenceTopClassEntry: + type: object + properties: + class_name: + $ref: '#/components/schemas/_common:FieldValue' + class_probability: + type: number + class_score: + type: number + required: + - class_name + - class_probability + - class_score + _common.aggregations:IpPrefixAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseIpPrefixBucket' + - type: object + _common.aggregations:IpPrefixAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + prefix_length: + description: |- + Length of the network prefix. For IPv4 addresses the accepted range is [0, 32]. + For IPv6 addresses the accepted range is [0, 128]. + type: number + is_ipv6: + description: Defines whether the prefix applies to IPv6 addresses. + type: boolean + append_prefix_length: + description: Defines whether the prefix length is appended to IP address keys in the response. + type: boolean + keyed: + description: Defines whether buckets are returned as a hash rather than an array in the response. + type: boolean + min_doc_count: + description: Minimum number of documents in a bucket for it to be included in the response. + type: number + required: + - field + - prefix_length + _common.aggregations:IpPrefixBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketBase' + - type: object + properties: + is_ipv6: + type: boolean + key: + type: string + prefix_length: + type: number + netmask: + type: string + required: + - is_ipv6 + - key + - prefix_length + _common.aggregations:IpRangeAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseIpRangeBucket' + - type: object + _common.aggregations:IpRangeAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + ranges: + description: Array of IP ranges. + type: array + items: + $ref: '#/components/schemas/_common.aggregations:IpRangeAggregationRange' + _common.aggregations:IpRangeAggregationRange: + type: object + properties: + from: + description: Start of the range. + type: + - 'null' + - string + mask: + description: IP range defined as a CIDR mask. + type: string + to: + description: End of the range. + type: + - 'null' + - string + _common.aggregations:IpRangeBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketBase' + - type: object + properties: + key: + type: string + from: + type: string + to: + type: string + _common.aggregations:KeyedPercentiles: + type: object + additionalProperties: + type: + - 'null' + - number + - string + _common.aggregations:LinearMovingAverageAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MovingAverageAggregationBase' + - type: object + properties: + model: + type: string + enum: + - linear + settings: + $ref: '#/components/schemas/_common:EmptyObject' + required: + - model + - settings + _common.aggregations:LongRareTermsAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseLongRareTermsBucket' + - type: object + _common.aggregations:LongRareTermsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketBase' + - type: object + properties: + key: + type: number + key_as_string: + type: string + required: + - key + _common.aggregations:LongTermsAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:TermsAggregateBaseLongTermsBucket' + - type: object + _common.aggregations:LongTermsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:TermsBucketBase' + - type: object + properties: + key: + type: number + key_as_string: + type: string + required: + - key + _common.aggregations:MatrixAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:Aggregation' + - type: object + properties: + fields: + $ref: '#/components/schemas/_common:Fields' + missing: + description: |- + The value to apply to documents that do not have a value. + By default, documents without a value are ignored. + type: object + additionalProperties: + type: number + _common.aggregations:MatrixStatsAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + doc_count: + type: number + fields: + type: array + items: + $ref: '#/components/schemas/_common.aggregations:MatrixStatsFields' + required: + - doc_count + _common.aggregations:MatrixStatsAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MatrixAggregation' + - type: object + properties: + mode: + $ref: '#/components/schemas/_common:SortMode' + _common.aggregations:MatrixStatsFields: + type: object + properties: + name: + $ref: '#/components/schemas/_common:Field' + count: + type: number + mean: + type: number + variance: + type: number + skewness: + type: number + kurtosis: + type: number + covariance: + type: object + additionalProperties: + type: number + correlation: + type: object + additionalProperties: + type: number + required: + - correlation + - count + - covariance + - kurtosis + - mean + - name + - skewness + - variance + _common.aggregations:MaxAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SingleMetricAggregateBase' + - type: object + _common.aggregations:MaxAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:FormatMetricAggregationBase' + - type: object + _common.aggregations:MaxBucketAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:PipelineAggregationBase' + - type: object + _common.aggregations:MedianAbsoluteDeviationAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SingleMetricAggregateBase' + - type: object + _common.aggregations:MedianAbsoluteDeviationAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:FormatMetricAggregationBase' + - type: object + properties: + compression: + description: Limits the maximum number of nodes used by the underlying TDigest algorithm to `20 * compression`, enabling control of memory usage and approximation error. + type: number + _common.aggregations:MetricAggregationBase: + type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + missing: + $ref: '#/components/schemas/_common.aggregations:Missing' + script: + $ref: '#/components/schemas/_common:Script' + _common.aggregations:MinAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SingleMetricAggregateBase' + - type: object + _common.aggregations:MinAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:FormatMetricAggregationBase' + - type: object + _common.aggregations:MinBucketAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:PipelineAggregationBase' + - type: object + _common.aggregations:MinimumInterval: + type: string + enum: + - day + - hour + - minute + - month + - second + - year + _common.aggregations:Missing: + oneOf: + - type: string + - type: number + - type: number + - type: boolean + _common.aggregations:MissingAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SingleBucketAggregateBase' + - type: object + _common.aggregations:MissingAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + missing: + $ref: '#/components/schemas/_common.aggregations:Missing' + _common.aggregations:MissingOrder: + type: string + enum: + - default + - first + - last + _common.aggregations:MovingAverageAggregation: + type: object + discriminator: + propertyName: model + oneOf: + - $ref: '#/components/schemas/_common.aggregations:LinearMovingAverageAggregation' + - $ref: '#/components/schemas/_common.aggregations:SimpleMovingAverageAggregation' + - $ref: '#/components/schemas/_common.aggregations:EwmaMovingAverageAggregation' + - $ref: '#/components/schemas/_common.aggregations:HoltMovingAverageAggregation' + - $ref: '#/components/schemas/_common.aggregations:HoltWintersMovingAverageAggregation' + _common.aggregations:MovingAverageAggregationBase: + allOf: + - $ref: '#/components/schemas/_common.aggregations:PipelineAggregationBase' + - type: object + properties: + minimize: + type: boolean + predict: + type: number + window: + type: number + _common.aggregations:MovingFunctionAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:PipelineAggregationBase' + - type: object + properties: + script: + description: The script that should be executed on each window of data. + type: string + shift: + description: |- + By default, the window consists of the last n values excluding the current bucket. + Increasing `shift` by 1, moves the starting window position by 1 to the right. + type: number + window: + description: The size of window to "slide" across the histogram. + type: number + _common.aggregations:MovingPercentilesAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:PipelineAggregationBase' + - type: object + properties: + window: + description: The size of window to "slide" across the histogram. + type: number + shift: + description: |- + By default, the window consists of the last n values excluding the current bucket. + Increasing `shift` by 1, moves the starting window position by 1 to the right. + type: number + keyed: + type: boolean + _common.aggregations:MultiBucketAggregateBaseAdjacencyMatrixBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + buckets: + $ref: '#/components/schemas/_common.aggregations:BucketsAdjacencyMatrixBucket' + required: + - buckets + _common.aggregations:MultiBucketAggregateBaseCompositeBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + buckets: + $ref: '#/components/schemas/_common.aggregations:BucketsCompositeBucket' + required: + - buckets + _common.aggregations:MultiBucketAggregateBaseDateHistogramBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + buckets: + $ref: '#/components/schemas/_common.aggregations:BucketsDateHistogramBucket' + required: + - buckets + _common.aggregations:MultiBucketAggregateBaseDoubleTermsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + buckets: + $ref: '#/components/schemas/_common.aggregations:BucketsDoubleTermsBucket' + required: + - buckets + _common.aggregations:MultiBucketAggregateBaseFiltersBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + buckets: + $ref: '#/components/schemas/_common.aggregations:BucketsFiltersBucket' + required: + - buckets + _common.aggregations:MultiBucketAggregateBaseFrequentItemSetsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + buckets: + $ref: '#/components/schemas/_common.aggregations:BucketsFrequentItemSetsBucket' + required: + - buckets + _common.aggregations:MultiBucketAggregateBaseGeoHashGridBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + buckets: + $ref: '#/components/schemas/_common.aggregations:BucketsGeoHashGridBucket' + required: + - buckets + _common.aggregations:MultiBucketAggregateBaseGeoHexGridBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + buckets: + $ref: '#/components/schemas/_common.aggregations:BucketsGeoHexGridBucket' + required: + - buckets + _common.aggregations:MultiBucketAggregateBaseGeoTileGridBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + buckets: + $ref: '#/components/schemas/_common.aggregations:BucketsGeoTileGridBucket' + required: + - buckets + _common.aggregations:MultiBucketAggregateBaseHistogramBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + buckets: + $ref: '#/components/schemas/_common.aggregations:BucketsHistogramBucket' + required: + - buckets + _common.aggregations:MultiBucketAggregateBaseIpPrefixBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + buckets: + $ref: '#/components/schemas/_common.aggregations:BucketsIpPrefixBucket' + required: + - buckets + _common.aggregations:MultiBucketAggregateBaseIpRangeBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + buckets: + $ref: '#/components/schemas/_common.aggregations:BucketsIpRangeBucket' + required: + - buckets + _common.aggregations:MultiBucketAggregateBaseLongRareTermsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + buckets: + $ref: '#/components/schemas/_common.aggregations:BucketsLongRareTermsBucket' + required: + - buckets + _common.aggregations:MultiBucketAggregateBaseLongTermsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + buckets: + $ref: '#/components/schemas/_common.aggregations:BucketsLongTermsBucket' + required: + - buckets + _common.aggregations:MultiBucketAggregateBaseMultiTermsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + buckets: + $ref: '#/components/schemas/_common.aggregations:BucketsMultiTermsBucket' + required: + - buckets + _common.aggregations:MultiBucketAggregateBaseRangeBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + buckets: + $ref: '#/components/schemas/_common.aggregations:BucketsRangeBucket' + required: + - buckets + _common.aggregations:MultiBucketAggregateBaseSignificantLongTermsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + buckets: + $ref: '#/components/schemas/_common.aggregations:BucketsSignificantLongTermsBucket' + required: + - buckets + _common.aggregations:MultiBucketAggregateBaseSignificantStringTermsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + buckets: + $ref: '#/components/schemas/_common.aggregations:BucketsSignificantStringTermsBucket' + required: + - buckets + _common.aggregations:MultiBucketAggregateBaseStringRareTermsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + buckets: + $ref: '#/components/schemas/_common.aggregations:BucketsStringRareTermsBucket' + required: + - buckets + _common.aggregations:MultiBucketAggregateBaseStringTermsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + buckets: + $ref: '#/components/schemas/_common.aggregations:BucketsStringTermsBucket' + required: + - buckets + _common.aggregations:MultiBucketAggregateBaseVariableWidthHistogramBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + buckets: + $ref: '#/components/schemas/_common.aggregations:BucketsVariableWidthHistogramBucket' + required: + - buckets + _common.aggregations:MultiBucketAggregateBaseVoid: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + buckets: + $ref: '#/components/schemas/_common.aggregations:BucketsVoid' + required: + - buckets + _common.aggregations:MultiBucketBase: + type: object + properties: + doc_count: + type: number + required: + - doc_count + _common.aggregations:MultiTermLookup: + type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + missing: + $ref: '#/components/schemas/_common.aggregations:Missing' + required: + - field + _common.aggregations:MultiTermsAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:TermsAggregateBaseMultiTermsBucket' + - type: object + _common.aggregations:MultiTermsAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + collect_mode: + $ref: '#/components/schemas/_common.aggregations:TermsAggregationCollectMode' + order: + $ref: '#/components/schemas/_common.aggregations:AggregateOrder' + min_doc_count: + description: The minimum number of documents in a bucket for it to be returned. + type: number + shard_min_doc_count: + description: The minimum number of documents in a bucket on each shard for it to be returned. + type: number + shard_size: + description: |- + The number of candidate terms produced by each shard. + By default, `shard_size` will be automatically estimated based on the number of shards and the `size` parameter. + type: number + show_term_doc_count_error: + description: Calculates the doc count error on per term basis. + type: boolean + size: + description: The number of term buckets should be returned out of the overall terms list. + type: number + terms: + description: The field from which to generate sets of terms. + type: array + items: + $ref: '#/components/schemas/_common.aggregations:MultiTermLookup' + required: + - terms + _common.aggregations:MultiTermsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketBase' + - type: object + properties: + key: + type: array + items: + $ref: '#/components/schemas/_common:FieldValue' + key_as_string: + type: string + doc_count_error_upper_bound: + type: number + required: + - key + _common.aggregations:MutualInformationHeuristic: + type: object + properties: + background_is_superset: + description: Set to `false` if you defined a custom background filter that represents a different set of documents that you want to compare to. + type: boolean + include_negatives: + description: Set to `false` to filter out the terms that appear less often in the subset than in documents outside the subset. + type: boolean + _common.aggregations:NestedAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SingleBucketAggregateBase' + - type: object + _common.aggregations:NestedAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + path: + $ref: '#/components/schemas/_common:Field' + _common.aggregations:NormalizeAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:PipelineAggregationBase' + - type: object + properties: + method: + $ref: '#/components/schemas/_common.aggregations:NormalizeMethod' + _common.aggregations:NormalizeMethod: + type: string + enum: + - mean + - percent_of_sum + - rescale_0_1 + - rescale_0_100 + - softmax + - z-score + _common.aggregations:ParentAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SingleBucketAggregateBase' + - type: object + _common.aggregations:ParentAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + type: + $ref: '#/components/schemas/_common:RelationName' + _common.aggregations:PercentageScoreHeuristic: + type: object + _common.aggregations:PercentileRanksAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:FormatMetricAggregationBase' + - type: object + properties: + keyed: + description: |- + By default, the aggregation associates a unique string key with each bucket and returns the ranges as a hash rather than an array. + Set to `false` to disable this behavior. + type: boolean + values: + description: An array of values for which to calculate the percentile ranks. + oneOf: + - type: array + items: + type: number + - type: 'null' + - type: string + hdr: + $ref: '#/components/schemas/_common.aggregations:HdrMethod' + tdigest: + $ref: '#/components/schemas/_common.aggregations:TDigest' + _common.aggregations:Percentiles: + oneOf: + - $ref: '#/components/schemas/_common.aggregations:KeyedPercentiles' + - type: array + items: + $ref: '#/components/schemas/_common.aggregations:ArrayPercentilesItem' + _common.aggregations:PercentilesAggregateBase: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + values: + $ref: '#/components/schemas/_common.aggregations:Percentiles' + required: + - values + _common.aggregations:PercentilesAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:FormatMetricAggregationBase' + - type: object + properties: + keyed: + description: |- + By default, the aggregation associates a unique string key with each bucket and returns the ranges as a hash rather than an array. + Set to `false` to disable this behavior. + type: boolean + percents: + description: The percentiles to calculate. + type: array + items: + type: number + hdr: + $ref: '#/components/schemas/_common.aggregations:HdrMethod' + tdigest: + $ref: '#/components/schemas/_common.aggregations:TDigest' + _common.aggregations:PercentilesBucketAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:PercentilesAggregateBase' + - type: object + _common.aggregations:PercentilesBucketAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:PipelineAggregationBase' + - type: object + properties: + percents: + description: The list of percentiles to calculate. + type: array + items: + type: number + _common.aggregations:PipelineAggregationBase: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketPathAggregation' + - type: object + properties: + format: + description: |- + `DecimalFormat` pattern for the output value. + If specified, the formatted value is returned in the aggregation's `value_as_string` property. + type: string + gap_policy: + $ref: '#/components/schemas/_common.aggregations:GapPolicy' + _common.aggregations:RangeAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseRangeBucket' + - type: object + _common.aggregations:RangeAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + missing: + description: |- + The value to apply to documents that do not have a value. + By default, documents without a value are ignored. + type: number + ranges: + description: An array of ranges used to bucket documents. + type: array + items: + $ref: '#/components/schemas/_common.aggregations:AggregationRange' + script: + $ref: '#/components/schemas/_common:Script' + keyed: + description: Set to `true` to associate a unique string key with each bucket and return the ranges as a hash rather than an array. + type: boolean + format: + type: string + _common.aggregations:RangeBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketBase' + - type: object + properties: + from: + type: number + to: + type: number + from_as_string: + type: string + to_as_string: + type: string + key: + description: The bucket key. Present if the aggregation is _not_ keyed + type: string + _common.aggregations:RareTermsAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + exclude: + $ref: '#/components/schemas/_common.aggregations:TermsExclude' + field: + $ref: '#/components/schemas/_common:Field' + include: + $ref: '#/components/schemas/_common.aggregations:TermsInclude' + max_doc_count: + description: The maximum number of documents a term should appear in. + type: number + missing: + $ref: '#/components/schemas/_common.aggregations:Missing' + precision: + description: |- + The precision of the internal CuckooFilters. + Smaller precision leads to better approximation, but higher memory usage. + type: number + value_type: + type: string + _common.aggregations:RateAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + value: + type: number + value_as_string: + type: string + required: + - value + _common.aggregations:RateAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:FormatMetricAggregationBase' + - type: object + properties: + unit: + $ref: '#/components/schemas/_common.aggregations:CalendarInterval' + mode: + $ref: '#/components/schemas/_common.aggregations:RateMode' + _common.aggregations:RateMode: + type: string + enum: + - sum + - value_count + _common.aggregations:RegressionInferenceOptions: + type: object + properties: + results_field: + $ref: '#/components/schemas/_common:Field' + num_top_feature_importance_values: + description: Specifies the maximum number of feature importance values per document. + type: number + _common.aggregations:ReverseNestedAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SingleBucketAggregateBase' + - type: object + _common.aggregations:ReverseNestedAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + path: + $ref: '#/components/schemas/_common:Field' + _common.aggregations:SamplerAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SingleBucketAggregateBase' + - type: object + _common.aggregations:SamplerAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + shard_size: + description: Limits how many top-scoring documents are collected in the sample processed on each shard. + type: number + _common.aggregations:SamplerAggregationExecutionHint: + type: string + enum: + - bytes_hash + - global_ordinals + - map + _common.aggregations:ScriptedHeuristic: + type: object + properties: + script: + $ref: '#/components/schemas/_common:Script' + required: + - script + _common.aggregations:ScriptedMetricAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + value: + type: object + required: + - value + _common.aggregations:ScriptedMetricAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MetricAggregationBase' + - type: object + properties: + combine_script: + $ref: '#/components/schemas/_common:Script' + init_script: + $ref: '#/components/schemas/_common:Script' + map_script: + $ref: '#/components/schemas/_common:Script' + params: + description: |- + A global object with script parameters for `init`, `map` and `combine` scripts. + It is shared between the scripts. + type: object + additionalProperties: + type: object + reduce_script: + $ref: '#/components/schemas/_common:Script' + _common.aggregations:SerialDifferencingAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:PipelineAggregationBase' + - type: object + properties: + lag: + description: |- + The historical bucket to subtract from the current value. + Must be a positive, non-zero integer. + type: number + _common.aggregations:SignificantLongTermsAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SignificantTermsAggregateBaseSignificantLongTermsBucket' + - type: object + _common.aggregations:SignificantLongTermsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SignificantTermsBucketBase' + - type: object + properties: + key: + type: number + key_as_string: + type: string + required: + - key + _common.aggregations:SignificantStringTermsAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SignificantTermsAggregateBaseSignificantStringTermsBucket' + - type: object + _common.aggregations:SignificantStringTermsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SignificantTermsBucketBase' + - type: object + properties: + key: + type: string + required: + - key + _common.aggregations:SignificantTermsAggregateBaseSignificantLongTermsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseSignificantLongTermsBucket' + - type: object + properties: + bg_count: + type: number + doc_count: + type: number + _common.aggregations:SignificantTermsAggregateBaseSignificantStringTermsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseSignificantStringTermsBucket' + - type: object + properties: + bg_count: + type: number + doc_count: + type: number + _common.aggregations:SignificantTermsAggregateBaseVoid: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseVoid' + - type: object + properties: + bg_count: + type: number + doc_count: + type: number + _common.aggregations:SignificantTermsAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + background_filter: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + chi_square: + $ref: '#/components/schemas/_common.aggregations:ChiSquareHeuristic' + exclude: + $ref: '#/components/schemas/_common.aggregations:TermsExclude' + execution_hint: + $ref: '#/components/schemas/_common.aggregations:TermsAggregationExecutionHint' + field: + $ref: '#/components/schemas/_common:Field' + gnd: + $ref: '#/components/schemas/_common.aggregations:GoogleNormalizedDistanceHeuristic' + include: + $ref: '#/components/schemas/_common.aggregations:TermsInclude' + jlh: + $ref: '#/components/schemas/_common:EmptyObject' + min_doc_count: + description: Only return terms that are found in more than `min_doc_count` hits. + type: number + mutual_information: + $ref: '#/components/schemas/_common.aggregations:MutualInformationHeuristic' + percentage: + $ref: '#/components/schemas/_common.aggregations:PercentageScoreHeuristic' + script_heuristic: + $ref: '#/components/schemas/_common.aggregations:ScriptedHeuristic' + shard_min_doc_count: + description: |- + Regulates the certainty a shard has if the term should actually be added to the candidate list or not with respect to the `min_doc_count`. + Terms will only be considered if their local shard frequency within the set is higher than the `shard_min_doc_count`. + type: number + shard_size: + description: |- + Can be used to control the volumes of candidate terms produced by each shard. + By default, `shard_size` will be automatically estimated based on the number of shards and the `size` parameter. + type: number + size: + description: The number of buckets returned out of the overall terms list. + type: number + _common.aggregations:SignificantTermsBucketBase: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketBase' + - type: object + properties: + score: + type: number + bg_count: + type: number + required: + - bg_count + - score + _common.aggregations:SignificantTextAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + background_filter: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + chi_square: + $ref: '#/components/schemas/_common.aggregations:ChiSquareHeuristic' + exclude: + $ref: '#/components/schemas/_common.aggregations:TermsExclude' + execution_hint: + $ref: '#/components/schemas/_common.aggregations:TermsAggregationExecutionHint' + field: + $ref: '#/components/schemas/_common:Field' + filter_duplicate_text: + description: Whether to out duplicate text to deal with noisy data. + type: boolean + gnd: + $ref: '#/components/schemas/_common.aggregations:GoogleNormalizedDistanceHeuristic' + include: + $ref: '#/components/schemas/_common.aggregations:TermsInclude' + jlh: + $ref: '#/components/schemas/_common:EmptyObject' + min_doc_count: + description: Only return values that are found in more than `min_doc_count` hits. + type: number + mutual_information: + $ref: '#/components/schemas/_common.aggregations:MutualInformationHeuristic' + percentage: + $ref: '#/components/schemas/_common.aggregations:PercentageScoreHeuristic' + script_heuristic: + $ref: '#/components/schemas/_common.aggregations:ScriptedHeuristic' + shard_min_doc_count: + description: |- + Regulates the certainty a shard has if the values should actually be added to the candidate list or not with respect to the min_doc_count. + Values will only be considered if their local shard frequency within the set is higher than the `shard_min_doc_count`. + type: number + shard_size: + description: |- + The number of candidate terms produced by each shard. + By default, `shard_size` will be automatically estimated based on the number of shards and the `size` parameter. + type: number + size: + description: The number of buckets returned out of the overall terms list. + type: number + source_fields: + $ref: '#/components/schemas/_common:Fields' + _common.aggregations:SimpleMovingAverageAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MovingAverageAggregationBase' + - type: object + properties: + model: + type: string + enum: + - simple + settings: + $ref: '#/components/schemas/_common:EmptyObject' + required: + - model + - settings + _common.aggregations:SimpleValueAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SingleMetricAggregateBase' + - type: object + _common.aggregations:SingleBucketAggregateBase: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + doc_count: + type: number + required: + - doc_count + _common.aggregations:SingleMetricAggregateBase: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + value: + description: |- + The metric value. A missing value generally means that there was no data to aggregate, + unless specified otherwise. + type: + - 'null' + - number + - string + value_as_string: + type: string + required: + - value + _common.aggregations:StandardDeviationBounds: + type: object + properties: + upper: + type: + - 'null' + - number + - string + lower: + type: + - 'null' + - number + - string + upper_population: + type: + - 'null' + - number + - string + lower_population: + type: + - 'null' + - number + - string + upper_sampling: + type: + - 'null' + - number + - string + lower_sampling: + type: + - 'null' + - number + - string + required: + - lower + - lower_population + - lower_sampling + - upper + - upper_population + - upper_sampling + _common.aggregations:StandardDeviationBoundsAsString: + type: object + properties: + upper: + type: string + lower: + type: string + upper_population: + type: string + lower_population: + type: string + upper_sampling: + type: string + lower_sampling: + type: string + required: + - lower + - lower_population + - lower_sampling + - upper + - upper_population + - upper_sampling + _common.aggregations:StatsAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + count: + type: number + min: + type: + - 'null' + - number + - string + max: + type: + - 'null' + - number + - string + avg: + type: + - 'null' + - number + - string + sum: + type: number + min_as_string: + type: string + max_as_string: + type: string + avg_as_string: + type: string + sum_as_string: + type: string + required: + - avg + - count + - max + - min + - sum + _common.aggregations:StatsAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:FormatMetricAggregationBase' + - type: object + _common.aggregations:StatsBucketAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:StatsAggregate' + - type: object + _common.aggregations:StatsBucketAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:PipelineAggregationBase' + - type: object + _common.aggregations:StringRareTermsAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseStringRareTermsBucket' + - type: object + _common.aggregations:StringRareTermsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketBase' + - type: object + properties: + key: + type: string + required: + - key + _common.aggregations:StringStatsAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + count: + type: number + min_length: + type: + - 'null' + - number + - string + max_length: + type: + - 'null' + - number + - string + avg_length: + type: + - 'null' + - number + - string + entropy: + type: + - 'null' + - number + - string + distribution: + oneOf: + - type: 'null' + - type: object + additionalProperties: + type: number + - type: string + min_length_as_string: + type: string + max_length_as_string: + type: string + avg_length_as_string: + type: string + required: + - avg_length + - count + - entropy + - max_length + - min_length + _common.aggregations:StringStatsAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MetricAggregationBase' + - type: object + properties: + show_distribution: + description: Shows the probability distribution for all characters. + type: boolean + _common.aggregations:StringTermsAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:TermsAggregateBaseStringTermsBucket' + - type: object + _common.aggregations:StringTermsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:TermsBucketBase' + - type: object + properties: + key: + $ref: '#/components/schemas/_common:FieldValue' + required: + - key + _common.aggregations:SumAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SingleMetricAggregateBase' + - type: object + _common.aggregations:SumAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:FormatMetricAggregationBase' + - type: object + _common.aggregations:SumBucketAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:PipelineAggregationBase' + - type: object + _common.aggregations:TDigest: + type: object + properties: + compression: + description: Limits the maximum number of nodes used by the underlying TDigest algorithm to `20 * compression`, enabling control of memory usage and approximation error. + type: number + _common.aggregations:TDigestPercentileRanksAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:PercentilesAggregateBase' + - type: object + _common.aggregations:TDigestPercentilesAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:PercentilesAggregateBase' + - type: object + _common.aggregations:TermsAggregateBaseDoubleTermsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseDoubleTermsBucket' + - type: object + properties: + doc_count_error_upper_bound: + type: number + sum_other_doc_count: + type: number + _common.aggregations:TermsAggregateBaseLongTermsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseLongTermsBucket' + - type: object + properties: + doc_count_error_upper_bound: + type: number + sum_other_doc_count: + type: number + _common.aggregations:TermsAggregateBaseMultiTermsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseMultiTermsBucket' + - type: object + properties: + doc_count_error_upper_bound: + type: number + sum_other_doc_count: + type: number + _common.aggregations:TermsAggregateBaseStringTermsBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseStringTermsBucket' + - type: object + properties: + doc_count_error_upper_bound: + type: number + sum_other_doc_count: + type: number + _common.aggregations:TermsAggregateBaseVoid: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseVoid' + - type: object + properties: + doc_count_error_upper_bound: + type: number + sum_other_doc_count: + type: number + _common.aggregations:TermsAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:BucketAggregationBase' + - type: object + properties: + collect_mode: + $ref: '#/components/schemas/_common.aggregations:TermsAggregationCollectMode' + exclude: + $ref: '#/components/schemas/_common.aggregations:TermsExclude' + execution_hint: + $ref: '#/components/schemas/_common.aggregations:TermsAggregationExecutionHint' + field: + $ref: '#/components/schemas/_common:Field' + include: + $ref: '#/components/schemas/_common.aggregations:TermsInclude' + min_doc_count: + description: Only return values that are found in more than `min_doc_count` hits. + type: number + missing: + $ref: '#/components/schemas/_common.aggregations:Missing' + missing_order: + $ref: '#/components/schemas/_common.aggregations:MissingOrder' + missing_bucket: + type: boolean + value_type: + description: Coerced unmapped fields into the specified type. + type: string + order: + $ref: '#/components/schemas/_common.aggregations:AggregateOrder' + script: + $ref: '#/components/schemas/_common:Script' + shard_size: + description: |- + The number of candidate terms produced by each shard. + By default, `shard_size` will be automatically estimated based on the number of shards and the `size` parameter. + type: number + show_term_doc_count_error: + description: Set to `true` to return the `doc_count_error_upper_bound`, which is an upper bound to the error on the `doc_count` returned by each shard. + type: boolean + size: + description: The number of buckets returned out of the overall terms list. + type: number + format: + type: string + _common.aggregations:TermsAggregationCollectMode: + type: string + enum: + - breadth_first + - depth_first + _common.aggregations:TermsAggregationExecutionHint: + type: string + enum: + - global_ordinals + - global_ordinals_hash + - global_ordinals_low_cardinality + - map + _common.aggregations:TermsBucketBase: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketBase' + - type: object + properties: + doc_count_error: + type: number + _common.aggregations:TermsExclude: + oneOf: + - type: string + - type: array + items: + type: string + _common.aggregations:TermsInclude: + oneOf: + - type: string + - type: array + items: + type: string + - $ref: '#/components/schemas/_common.aggregations:TermsPartition' + _common.aggregations:TermsPartition: + type: object + properties: + num_partitions: + description: The number of partitions. + type: number + partition: + description: The partition number for this request. + type: number + required: + - num_partitions + - partition + _common.aggregations:TestPopulation: + type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + script: + $ref: '#/components/schemas/_common:Script' + filter: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + required: + - field + _common.aggregations:TopHitsAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + hits: + $ref: '#/components/schemas/_core.search:HitsMetadata' + required: + - hits + _common.aggregations:TopHitsAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MetricAggregationBase' + - type: object + properties: + docvalue_fields: + $ref: '#/components/schemas/_common:Fields' + explain: + description: If `true`, returns detailed information about score computation as part of a hit. + type: boolean + from: + description: Starting document offset. + type: number + highlight: + $ref: '#/components/schemas/_core.search:Highlight' + script_fields: + description: Returns the result of one or more script evaluations for each hit. + type: object + additionalProperties: + $ref: '#/components/schemas/_common:ScriptField' + size: + description: The maximum number of top matching hits to return per bucket. + type: number + sort: + $ref: '#/components/schemas/_common:Sort' + _source: + $ref: '#/components/schemas/_core.search:SourceConfig' + stored_fields: + $ref: '#/components/schemas/_common:Fields' + track_scores: + description: If `true`, calculates and returns document scores, even if the scores are not used for sorting. + type: boolean + version: + description: If `true`, returns document version as part of a hit. + type: boolean + seq_no_primary_term: + description: If `true`, returns sequence number and primary term of the last modification of each hit. + type: boolean + _common.aggregations:TopMetrics: + type: object + properties: + sort: + type: array + items: + $ref: '#/components/schemas/_common:FieldValue' + metrics: + type: object + additionalProperties: + $ref: '#/components/schemas/_common:FieldValue' + required: + - metrics + - sort + _common.aggregations:TopMetricsAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + top: + type: array + items: + $ref: '#/components/schemas/_common.aggregations:TopMetrics' + required: + - top + _common.aggregations:TopMetricsAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MetricAggregationBase' + - type: object + properties: + metrics: + description: The fields of the top document to return. + oneOf: + - $ref: '#/components/schemas/_common.aggregations:TopMetricsValue' + - type: array + items: + $ref: '#/components/schemas/_common.aggregations:TopMetricsValue' + size: + description: The number of top documents from which to return metrics. + type: number + sort: + $ref: '#/components/schemas/_common:Sort' + _common.aggregations:TopMetricsValue: + type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + required: + - field + _common.aggregations:TTestAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:AggregateBase' + - type: object + properties: + value: + type: + - 'null' + - number + - string + value_as_string: + type: string + required: + - value + _common.aggregations:TTestAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:Aggregation' + - type: object + properties: + a: + $ref: '#/components/schemas/_common.aggregations:TestPopulation' + b: + $ref: '#/components/schemas/_common.aggregations:TestPopulation' + type: + $ref: '#/components/schemas/_common.aggregations:TTestType' + _common.aggregations:TTestType: + type: string + enum: + - heteroscedastic + - homoscedastic + - paired + _common.aggregations:UnmappedRareTermsAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseVoid' + - type: object + _common.aggregations:UnmappedSamplerAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SingleBucketAggregateBase' + - type: object + _common.aggregations:UnmappedSignificantTermsAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SignificantTermsAggregateBaseVoid' + - type: object + _common.aggregations:UnmappedTermsAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:TermsAggregateBaseVoid' + - type: object + _common.aggregations:ValueCountAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SingleMetricAggregateBase' + - type: object + _common.aggregations:ValueCountAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:FormattableMetricAggregation' + - type: object + _common.aggregations:ValueType: + type: string + enum: + - boolean + - date + - date_nanos + - double + - geo_point + - ip + - long + - number + - numeric + - string + _common.aggregations:VariableWidthHistogramAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketAggregateBaseVariableWidthHistogramBucket' + - type: object + _common.aggregations:VariableWidthHistogramAggregation: + type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + buckets: + description: The target number of buckets. + type: number + shard_size: + description: |- + The number of buckets that the coordinating node will request from each shard. + Defaults to `buckets * 50`. + type: number + initial_buffer: + description: |- + Specifies the number of individual documents that will be stored in memory on a shard before the initial bucketing algorithm is run. + Defaults to `min(10 * shard_size, 50000)`. + type: number + _common.aggregations:VariableWidthHistogramBucket: + allOf: + - $ref: '#/components/schemas/_common.aggregations:MultiBucketBase' + - type: object + properties: + min: + type: number + key: + type: number + max: + type: number + min_as_string: + type: string + key_as_string: + type: string + max_as_string: + type: string + required: + - key + - max + - min + _common.aggregations:WeightedAverageAggregation: + allOf: + - $ref: '#/components/schemas/_common.aggregations:Aggregation' + - type: object + properties: + format: + description: A numeric response formatter. + type: string + value: + $ref: '#/components/schemas/_common.aggregations:WeightedAverageValue' + value_type: + $ref: '#/components/schemas/_common.aggregations:ValueType' + weight: + $ref: '#/components/schemas/_common.aggregations:WeightedAverageValue' + _common.aggregations:WeightedAverageValue: + type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + missing: + description: A value or weight to use if the field is missing. + type: number + script: + $ref: '#/components/schemas/_common:Script' + _common.aggregations:WeightedAvgAggregate: + allOf: + - $ref: '#/components/schemas/_common.aggregations:SingleMetricAggregateBase' + - type: object + _common.analysis:Analyzer: + type: object + discriminator: + propertyName: type + oneOf: + - $ref: '#/components/schemas/_common.analysis:CustomAnalyzer' + - $ref: '#/components/schemas/_common.analysis:FingerprintAnalyzer' + - $ref: '#/components/schemas/_common.analysis:KeywordAnalyzer' + - $ref: '#/components/schemas/_common.analysis:LanguageAnalyzer' + - $ref: '#/components/schemas/_common.analysis:NoriAnalyzer' + - $ref: '#/components/schemas/_common.analysis:PatternAnalyzer' + - $ref: '#/components/schemas/_common.analysis:SimpleAnalyzer' + - $ref: '#/components/schemas/_common.analysis:StandardAnalyzer' + - $ref: '#/components/schemas/_common.analysis:StopAnalyzer' + - $ref: '#/components/schemas/_common.analysis:WhitespaceAnalyzer' + - $ref: '#/components/schemas/_common.analysis:IcuAnalyzer' + - $ref: '#/components/schemas/_common.analysis:KuromojiAnalyzer' + - $ref: '#/components/schemas/_common.analysis:SnowballAnalyzer' + - $ref: '#/components/schemas/_common.analysis:DutchAnalyzer' + _common.analysis:AsciiFoldingTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - asciifolding + preserve_original: + $ref: '#/components/schemas/_common:Stringifiedboolean' + required: + - type + _common.analysis:CharFilter: + oneOf: + - type: string + - $ref: '#/components/schemas/_common.analysis:CharFilterDefinition' + _common.analysis:CharFilterBase: + type: object + properties: + version: + $ref: '#/components/schemas/_common:VersionString' + _common.analysis:CharFilterDefinition: + type: object + discriminator: + propertyName: type + oneOf: + - $ref: '#/components/schemas/_common.analysis:HtmlStripCharFilter' + - $ref: '#/components/schemas/_common.analysis:MappingCharFilter' + - $ref: '#/components/schemas/_common.analysis:PatternReplaceCharFilter' + - $ref: '#/components/schemas/_common.analysis:IcuNormalizationCharFilter' + - $ref: '#/components/schemas/_common.analysis:KuromojiIterationMarkCharFilter' + _common.analysis:CharGroupTokenizer: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenizerBase' + - type: object + properties: + type: + type: string + enum: + - char_group + tokenize_on_chars: + type: array + items: + type: string + max_token_length: + type: number + required: + - tokenize_on_chars + - type + _common.analysis:CommonGramsTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - common_grams + common_words: + type: array + items: + type: string + common_words_path: + type: string + ignore_case: + type: boolean + query_mode: + type: boolean + required: + - type + _common.analysis:CompoundWordTokenFilterBase: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + hyphenation_patterns_path: + type: string + max_subword_size: + type: number + min_subword_size: + type: number + min_word_size: + type: number + only_longest_match: + type: boolean + word_list: + type: array + items: + type: string + word_list_path: + type: string + _common.analysis:ConditionTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - condition + filter: + type: array + items: + type: string + script: + $ref: '#/components/schemas/_common:Script' + required: + - filter + - script + - type + _common.analysis:CustomAnalyzer: + type: object + properties: + type: + type: string + enum: + - custom + char_filter: + type: array + items: + type: string + filter: + type: array + items: + type: string + position_increment_gap: + type: number + position_offset_gap: + type: number + tokenizer: + type: string + required: + - tokenizer + - type + _common.analysis:CustomNormalizer: + type: object + properties: + type: + type: string + enum: + - custom + char_filter: + type: array + items: + type: string + filter: + type: array + items: + type: string + required: + - type + _common.analysis:DelimitedPayloadEncoding: + type: string + enum: + - float + - identity + - int + _common.analysis:DelimitedPayloadTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - delimited_payload + delimiter: + type: string + encoding: + $ref: '#/components/schemas/_common.analysis:DelimitedPayloadEncoding' + required: + - type + _common.analysis:DictionaryDecompounderTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:CompoundWordTokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - dictionary_decompounder + required: + - type + _common.analysis:DutchAnalyzer: + type: object + properties: + type: + type: string + enum: + - dutch + stopwords: + $ref: '#/components/schemas/_common.analysis:StopWords' + required: + - type + _common.analysis:EdgeNGramSide: + type: string + enum: + - back + - front + _common.analysis:EdgeNGramTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - edge_ngram + max_gram: + type: number + min_gram: + type: number + side: + $ref: '#/components/schemas/_common.analysis:EdgeNGramSide' + preserve_original: + $ref: '#/components/schemas/_common:Stringifiedboolean' + required: + - type + _common.analysis:EdgeNGramTokenizer: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenizerBase' + - type: object + properties: + type: + type: string + enum: + - edge_ngram + custom_token_chars: + type: string + max_gram: + type: number + min_gram: + type: number + token_chars: + type: array + items: + $ref: '#/components/schemas/_common.analysis:TokenChar' + required: + - max_gram + - min_gram + - token_chars + - type + _common.analysis:ElisionTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - elision + articles: + type: array + items: + type: string + articles_path: + type: string + articles_case: + $ref: '#/components/schemas/_common:Stringifiedboolean' + required: + - type + _common.analysis:FingerprintAnalyzer: + type: object + properties: + type: + type: string + enum: + - fingerprint + version: + $ref: '#/components/schemas/_common:VersionString' + max_output_size: + type: number + preserve_original: + type: boolean + separator: + type: string + stopwords: + $ref: '#/components/schemas/_common.analysis:StopWords' + stopwords_path: + type: string + required: + - max_output_size + - preserve_original + - separator + - type + _common.analysis:FingerprintTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - fingerprint + max_output_size: + type: number + separator: + type: string + required: + - type + _common.analysis:HtmlStripCharFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:CharFilterBase' + - type: object + properties: + type: + type: string + enum: + - html_strip + required: + - type + _common.analysis:HunspellTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - hunspell + dedup: + type: boolean + dictionary: + type: string + locale: + type: string + longest_only: + type: boolean + required: + - locale + - type + _common.analysis:HyphenationDecompounderTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:CompoundWordTokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - hyphenation_decompounder + required: + - type + _common.analysis:IcuAnalyzer: + type: object + properties: + type: + type: string + enum: + - icu_analyzer + method: + $ref: '#/components/schemas/_common.analysis:IcuNormalizationType' + mode: + $ref: '#/components/schemas/_common.analysis:IcuNormalizationMode' + required: + - method + - mode + - type + _common.analysis:IcuCollationAlternate: + type: string + enum: + - non-ignorable + - shifted + _common.analysis:IcuCollationCaseFirst: + type: string + enum: + - lower + - upper + _common.analysis:IcuCollationDecomposition: + type: string + enum: + - identical + - no + _common.analysis:IcuCollationStrength: + type: string + enum: + - identical + - primary + - quaternary + - secondary + - tertiary + _common.analysis:IcuCollationTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - icu_collation + alternate: + $ref: '#/components/schemas/_common.analysis:IcuCollationAlternate' + caseFirst: + $ref: '#/components/schemas/_common.analysis:IcuCollationCaseFirst' + caseLevel: + type: boolean + country: + type: string + decomposition: + $ref: '#/components/schemas/_common.analysis:IcuCollationDecomposition' + hiraganaQuaternaryMode: + type: boolean + language: + type: string + numeric: + type: boolean + rules: + type: string + strength: + $ref: '#/components/schemas/_common.analysis:IcuCollationStrength' + variableTop: + type: string + variant: + type: string + required: + - type + _common.analysis:IcuFoldingTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - icu_folding + unicode_set_filter: + type: string + required: + - type + - unicode_set_filter + _common.analysis:IcuNormalizationCharFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:CharFilterBase' + - type: object + properties: + type: + type: string + enum: + - icu_normalizer + mode: + $ref: '#/components/schemas/_common.analysis:IcuNormalizationMode' + name: + $ref: '#/components/schemas/_common.analysis:IcuNormalizationType' + required: + - type + _common.analysis:IcuNormalizationMode: + type: string + enum: + - compose + - decompose + _common.analysis:IcuNormalizationTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - icu_normalizer + name: + $ref: '#/components/schemas/_common.analysis:IcuNormalizationType' + required: + - name + - type + _common.analysis:IcuNormalizationType: + type: string + enum: + - nfc + - nfkc + - nfkc_cf + _common.analysis:IcuTokenizer: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenizerBase' + - type: object + properties: + type: + type: string + enum: + - icu_tokenizer + rule_files: + type: string + required: + - rule_files + - type + _common.analysis:IcuTransformDirection: + type: string + enum: + - forward + - reverse + _common.analysis:IcuTransformTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - icu_transform + dir: + $ref: '#/components/schemas/_common.analysis:IcuTransformDirection' + id: + type: string + required: + - id + - type + _common.analysis:KeepTypesMode: + type: string + enum: + - exclude + - include + _common.analysis:KeepTypesTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - keep_types + mode: + $ref: '#/components/schemas/_common.analysis:KeepTypesMode' + types: + type: array + items: + type: string + required: + - type + _common.analysis:KeepWordsTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - keep + keep_words: + type: array + items: + type: string + keep_words_case: + type: boolean + keep_words_path: + type: string + required: + - type + _common.analysis:KeywordAnalyzer: + type: object + properties: + type: + type: string + enum: + - keyword + version: + $ref: '#/components/schemas/_common:VersionString' + required: + - type + _common.analysis:KeywordMarkerTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - keyword_marker + ignore_case: + type: boolean + keywords: + type: array + items: + type: string + keywords_path: + type: string + keywords_pattern: + type: string + required: + - type + _common.analysis:KeywordTokenizer: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenizerBase' + - type: object + properties: + type: + type: string + enum: + - keyword + buffer_size: + type: number + required: + - buffer_size + - type + _common.analysis:KStemTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - kstem + required: + - type + _common.analysis:KuromojiAnalyzer: + type: object + properties: + type: + type: string + enum: + - kuromoji + mode: + $ref: '#/components/schemas/_common.analysis:KuromojiTokenizationMode' + user_dictionary: + type: string + required: + - mode + - type + _common.analysis:KuromojiIterationMarkCharFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:CharFilterBase' + - type: object + properties: + type: + type: string + enum: + - kuromoji_iteration_mark + normalize_kana: + type: boolean + normalize_kanji: + type: boolean + required: + - normalize_kana + - normalize_kanji + - type + _common.analysis:KuromojiPartOfSpeechTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - kuromoji_part_of_speech + stoptags: + type: array + items: + type: string + required: + - stoptags + - type + _common.analysis:KuromojiReadingFormTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - kuromoji_readingform + use_romaji: + type: boolean + required: + - type + - use_romaji + _common.analysis:KuromojiStemmerTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - kuromoji_stemmer + minimum_length: + type: number + required: + - minimum_length + - type + _common.analysis:KuromojiTokenizationMode: + type: string + enum: + - extended + - normal + - search + _common.analysis:KuromojiTokenizer: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenizerBase' + - type: object + properties: + type: + type: string + enum: + - kuromoji_tokenizer + discard_punctuation: + type: boolean + mode: + $ref: '#/components/schemas/_common.analysis:KuromojiTokenizationMode' + nbest_cost: + type: number + nbest_examples: + type: string + user_dictionary: + type: string + user_dictionary_rules: + type: array + items: + type: string + discard_compound_token: + type: boolean + required: + - mode + - type + _common.analysis:Language: + type: string + enum: + - Arabic + - Armenian + - Basque + - Brazilian + - Bulgarian + - Catalan + - Chinese + - Cjk + - Czech + - Danish + - Dutch + - English + - Estonian + - Finnish + - French + - Galician + - German + - Greek + - Hindi + - Hungarian + - Indonesian + - Irish + - Italian + - Latvian + - Norwegian + - Persian + - Portuguese + - Romanian + - Russian + - Sorani + - Spanish + - Swedish + - Thai + - Turkish + _common.analysis:LanguageAnalyzer: + type: object + properties: + type: + type: string + enum: + - language + version: + $ref: '#/components/schemas/_common:VersionString' + language: + $ref: '#/components/schemas/_common.analysis:Language' + stem_exclusion: + type: array + items: + type: string + stopwords: + $ref: '#/components/schemas/_common.analysis:StopWords' + stopwords_path: + type: string + required: + - language + - stem_exclusion + - type + _common.analysis:LengthTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - length + max: + type: number + min: + type: number + required: + - type + _common.analysis:LetterTokenizer: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenizerBase' + - type: object + properties: + type: + type: string + enum: + - letter + required: + - type + _common.analysis:LimitTokenCountTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - limit + consume_all_tokens: + type: boolean + max_token_count: + $ref: '#/components/schemas/_common:Stringifiedinteger' + required: + - type + _common.analysis:LowercaseNormalizer: + type: object + properties: + type: + type: string + enum: + - lowercase + required: + - type + _common.analysis:LowercaseTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - lowercase + language: + type: string + required: + - type + _common.analysis:LowercaseTokenizer: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenizerBase' + - type: object + properties: + type: + type: string + enum: + - lowercase + required: + - type + _common.analysis:MappingCharFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:CharFilterBase' + - type: object + properties: + type: + type: string + enum: + - mapping + mappings: + type: array + items: + type: string + mappings_path: + type: string + required: + - type + _common.analysis:MultiplexerTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - multiplexer + filters: + type: array + items: + type: string + preserve_original: + $ref: '#/components/schemas/_common:Stringifiedboolean' + required: + - filters + - type + _common.analysis:NGramTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - ngram + max_gram: + type: number + min_gram: + type: number + preserve_original: + $ref: '#/components/schemas/_common:Stringifiedboolean' + required: + - type + _common.analysis:NGramTokenizer: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenizerBase' + - type: object + properties: + type: + type: string + enum: + - ngram + custom_token_chars: + type: string + max_gram: + type: number + min_gram: + type: number + token_chars: + type: array + items: + $ref: '#/components/schemas/_common.analysis:TokenChar' + required: + - max_gram + - min_gram + - token_chars + - type + _common.analysis:NoriAnalyzer: + type: object + properties: + type: + type: string + enum: + - nori + version: + $ref: '#/components/schemas/_common:VersionString' + decompound_mode: + $ref: '#/components/schemas/_common.analysis:NoriDecompoundMode' + stoptags: + type: array + items: + type: string + user_dictionary: + type: string + required: + - type + _common.analysis:NoriDecompoundMode: + type: string + enum: + - discard + - mixed + - none + _common.analysis:NoriPartOfSpeechTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - nori_part_of_speech + stoptags: + type: array + items: + type: string + required: + - type + _common.analysis:NoriTokenizer: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenizerBase' + - type: object + properties: + type: + type: string + enum: + - nori_tokenizer + decompound_mode: + $ref: '#/components/schemas/_common.analysis:NoriDecompoundMode' + discard_punctuation: + type: boolean + user_dictionary: + type: string + user_dictionary_rules: + type: array + items: + type: string + required: + - type + _common.analysis:Normalizer: + type: object + discriminator: + propertyName: type + oneOf: + - $ref: '#/components/schemas/_common.analysis:LowercaseNormalizer' + - $ref: '#/components/schemas/_common.analysis:CustomNormalizer' + _common.analysis:PathHierarchyTokenizer: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenizerBase' + - type: object + properties: + type: + type: string + enum: + - path_hierarchy + buffer_size: + $ref: '#/components/schemas/_common:Stringifiedinteger' + delimiter: + type: string + replacement: + type: string + reverse: + $ref: '#/components/schemas/_common:Stringifiedboolean' + skip: + $ref: '#/components/schemas/_common:Stringifiedinteger' + required: + - buffer_size + - delimiter + - reverse + - skip + - type + _common.analysis:PatternAnalyzer: + type: object + properties: + type: + type: string + enum: + - pattern + version: + $ref: '#/components/schemas/_common:VersionString' + flags: + type: string + lowercase: + type: boolean + pattern: + type: string + stopwords: + $ref: '#/components/schemas/_common.analysis:StopWords' + required: + - pattern + - type + _common.analysis:PatternCaptureTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - pattern_capture + patterns: + type: array + items: + type: string + preserve_original: + $ref: '#/components/schemas/_common:Stringifiedboolean' + required: + - patterns + - type + _common.analysis:PatternReplaceCharFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:CharFilterBase' + - type: object + properties: + type: + type: string + enum: + - pattern_replace + flags: + type: string + pattern: + type: string + replacement: + type: string + required: + - pattern + - type + _common.analysis:PatternReplaceTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - pattern_replace + all: + type: boolean + flags: + type: string + pattern: + type: string + replacement: + type: string + required: + - pattern + - type + _common.analysis:PatternTokenizer: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenizerBase' + - type: object + properties: + type: + type: string + enum: + - pattern + flags: + type: string + group: + type: number + pattern: + type: string + required: + - type + _common.analysis:PhoneticEncoder: + type: string + enum: + - beider_morse + - caverphone1 + - caverphone2 + - cologne + - daitch_mokotoff + - double_metaphone + - haasephonetik + - koelnerphonetik + - metaphone + - nysiis + - refined_soundex + - soundex + _common.analysis:PhoneticLanguage: + type: string + enum: + - any + - common + - cyrillic + - english + - french + - german + - hebrew + - hungarian + - polish + - romanian + - russian + - spanish + _common.analysis:PhoneticNameType: + type: string + enum: + - ashkenazi + - generic + - sephardic + _common.analysis:PhoneticRuleType: + type: string + enum: + - approx + - exact + _common.analysis:PhoneticTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - phonetic + encoder: + $ref: '#/components/schemas/_common.analysis:PhoneticEncoder' + languageset: + type: array + items: + $ref: '#/components/schemas/_common.analysis:PhoneticLanguage' + max_code_len: + type: number + name_type: + $ref: '#/components/schemas/_common.analysis:PhoneticNameType' + replace: + type: boolean + rule_type: + $ref: '#/components/schemas/_common.analysis:PhoneticRuleType' + required: + - encoder + - languageset + - name_type + - rule_type + - type + _common.analysis:PorterStemTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - porter_stem + required: + - type + _common.analysis:PredicateTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - predicate_token_filter + script: + $ref: '#/components/schemas/_common:Script' + required: + - script + - type + _common.analysis:RemoveDuplicatesTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - remove_duplicates + required: + - type + _common.analysis:ReverseTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - reverse + required: + - type + _common.analysis:ShingleTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - shingle + filler_token: + type: string + max_shingle_size: + oneOf: + - type: number + - type: string + min_shingle_size: + oneOf: + - type: number + - type: string + output_unigrams: + type: boolean + output_unigrams_if_no_shingles: + type: boolean + token_separator: + type: string + required: + - type + _common.analysis:SimpleAnalyzer: + type: object + properties: + type: + type: string + enum: + - simple + version: + $ref: '#/components/schemas/_common:VersionString' + required: + - type + _common.analysis:SnowballAnalyzer: + type: object + properties: + type: + type: string + enum: + - snowball + version: + $ref: '#/components/schemas/_common:VersionString' + language: + $ref: '#/components/schemas/_common.analysis:SnowballLanguage' + stopwords: + $ref: '#/components/schemas/_common.analysis:StopWords' + required: + - language + - type + _common.analysis:SnowballLanguage: + type: string + enum: + - Armenian + - Basque + - Catalan + - Danish + - Dutch + - English + - Finnish + - French + - German + - German2 + - Hungarian + - Italian + - Kp + - Lovins + - Norwegian + - Porter + - Portuguese + - Romanian + - Russian + - Spanish + - Swedish + - Turkish + _common.analysis:SnowballTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - snowball + language: + $ref: '#/components/schemas/_common.analysis:SnowballLanguage' + required: + - language + - type + _common.analysis:StandardAnalyzer: + type: object + properties: + type: + type: string + enum: + - standard + max_token_length: + type: number + stopwords: + $ref: '#/components/schemas/_common.analysis:StopWords' + required: + - type + _common.analysis:StandardTokenizer: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenizerBase' + - type: object + properties: + type: + type: string + enum: + - standard + max_token_length: + type: number + required: + - type + _common.analysis:StemmerOverrideTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - stemmer_override + rules: + type: array + items: + type: string + rules_path: + type: string + required: + - type + _common.analysis:StemmerTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - stemmer + language: + type: string + required: + - type + _common.analysis:StopAnalyzer: + type: object + properties: + type: + type: string + enum: + - stop + version: + $ref: '#/components/schemas/_common:VersionString' + stopwords: + $ref: '#/components/schemas/_common.analysis:StopWords' + stopwords_path: + type: string + required: + - type + _common.analysis:StopTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - stop + ignore_case: + type: boolean + remove_trailing: + type: boolean + stopwords: + $ref: '#/components/schemas/_common.analysis:StopWords' + stopwords_path: + type: string + required: + - type + _common.analysis:StopWords: + description: |- + Language value, such as _arabic_ or _thai_. Defaults to _english_. + Each language value corresponds to a predefined list of stop words in Lucene. See Stop words by language for supported language values and their stop words. + Also accepts an array of stop words. + oneOf: + - type: string + - type: array + items: + type: string + _common.analysis:SynonymFormat: + type: string + enum: + - solr + - wordnet + _common.analysis:SynonymGraphTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - synonym_graph + expand: + type: boolean + format: + $ref: '#/components/schemas/_common.analysis:SynonymFormat' + lenient: + type: boolean + synonyms: + type: array + items: + type: string + synonyms_path: + type: string + tokenizer: + type: string + updateable: + type: boolean + required: + - type + _common.analysis:SynonymTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - synonym + expand: + type: boolean + format: + $ref: '#/components/schemas/_common.analysis:SynonymFormat' + lenient: + type: boolean + synonyms: + type: array + items: + type: string + synonyms_path: + type: string + tokenizer: + type: string + updateable: + type: boolean + required: + - type + _common.analysis:TokenChar: + type: string + enum: + - custom + - digit + - letter + - punctuation + - symbol + - whitespace + _common.analysis:TokenFilter: + oneOf: + - type: string + - $ref: '#/components/schemas/_common.analysis:TokenFilterDefinition' + _common.analysis:TokenFilterBase: + type: object + properties: + version: + $ref: '#/components/schemas/_common:VersionString' + _common.analysis:TokenFilterDefinition: + type: object + discriminator: + propertyName: type + oneOf: + - $ref: '#/components/schemas/_common.analysis:AsciiFoldingTokenFilter' + - $ref: '#/components/schemas/_common.analysis:CommonGramsTokenFilter' + - $ref: '#/components/schemas/_common.analysis:ConditionTokenFilter' + - $ref: '#/components/schemas/_common.analysis:DelimitedPayloadTokenFilter' + - $ref: '#/components/schemas/_common.analysis:EdgeNGramTokenFilter' + - $ref: '#/components/schemas/_common.analysis:ElisionTokenFilter' + - $ref: '#/components/schemas/_common.analysis:FingerprintTokenFilter' + - $ref: '#/components/schemas/_common.analysis:HunspellTokenFilter' + - $ref: '#/components/schemas/_common.analysis:HyphenationDecompounderTokenFilter' + - $ref: '#/components/schemas/_common.analysis:KeepTypesTokenFilter' + - $ref: '#/components/schemas/_common.analysis:KeepWordsTokenFilter' + - $ref: '#/components/schemas/_common.analysis:KeywordMarkerTokenFilter' + - $ref: '#/components/schemas/_common.analysis:KStemTokenFilter' + - $ref: '#/components/schemas/_common.analysis:LengthTokenFilter' + - $ref: '#/components/schemas/_common.analysis:LimitTokenCountTokenFilter' + - $ref: '#/components/schemas/_common.analysis:LowercaseTokenFilter' + - $ref: '#/components/schemas/_common.analysis:MultiplexerTokenFilter' + - $ref: '#/components/schemas/_common.analysis:NGramTokenFilter' + - $ref: '#/components/schemas/_common.analysis:NoriPartOfSpeechTokenFilter' + - $ref: '#/components/schemas/_common.analysis:PatternCaptureTokenFilter' + - $ref: '#/components/schemas/_common.analysis:PatternReplaceTokenFilter' + - $ref: '#/components/schemas/_common.analysis:PorterStemTokenFilter' + - $ref: '#/components/schemas/_common.analysis:PredicateTokenFilter' + - $ref: '#/components/schemas/_common.analysis:RemoveDuplicatesTokenFilter' + - $ref: '#/components/schemas/_common.analysis:ReverseTokenFilter' + - $ref: '#/components/schemas/_common.analysis:ShingleTokenFilter' + - $ref: '#/components/schemas/_common.analysis:SnowballTokenFilter' + - $ref: '#/components/schemas/_common.analysis:StemmerOverrideTokenFilter' + - $ref: '#/components/schemas/_common.analysis:StemmerTokenFilter' + - $ref: '#/components/schemas/_common.analysis:StopTokenFilter' + - $ref: '#/components/schemas/_common.analysis:SynonymGraphTokenFilter' + - $ref: '#/components/schemas/_common.analysis:SynonymTokenFilter' + - $ref: '#/components/schemas/_common.analysis:TrimTokenFilter' + - $ref: '#/components/schemas/_common.analysis:TruncateTokenFilter' + - $ref: '#/components/schemas/_common.analysis:UniqueTokenFilter' + - $ref: '#/components/schemas/_common.analysis:UppercaseTokenFilter' + - $ref: '#/components/schemas/_common.analysis:WordDelimiterGraphTokenFilter' + - $ref: '#/components/schemas/_common.analysis:WordDelimiterTokenFilter' + - $ref: '#/components/schemas/_common.analysis:KuromojiStemmerTokenFilter' + - $ref: '#/components/schemas/_common.analysis:KuromojiReadingFormTokenFilter' + - $ref: '#/components/schemas/_common.analysis:KuromojiPartOfSpeechTokenFilter' + - $ref: '#/components/schemas/_common.analysis:IcuTokenizer' + - $ref: '#/components/schemas/_common.analysis:IcuCollationTokenFilter' + - $ref: '#/components/schemas/_common.analysis:IcuFoldingTokenFilter' + - $ref: '#/components/schemas/_common.analysis:IcuNormalizationTokenFilter' + - $ref: '#/components/schemas/_common.analysis:IcuTransformTokenFilter' + - $ref: '#/components/schemas/_common.analysis:PhoneticTokenFilter' + - $ref: '#/components/schemas/_common.analysis:DictionaryDecompounderTokenFilter' + _common.analysis:Tokenizer: + oneOf: + - type: string + - $ref: '#/components/schemas/_common.analysis:TokenizerDefinition' + _common.analysis:TokenizerBase: + type: object + properties: + version: + $ref: '#/components/schemas/_common:VersionString' + _common.analysis:TokenizerDefinition: + type: object + discriminator: + propertyName: type + oneOf: + - $ref: '#/components/schemas/_common.analysis:CharGroupTokenizer' + - $ref: '#/components/schemas/_common.analysis:EdgeNGramTokenizer' + - $ref: '#/components/schemas/_common.analysis:KeywordTokenizer' + - $ref: '#/components/schemas/_common.analysis:LetterTokenizer' + - $ref: '#/components/schemas/_common.analysis:LowercaseTokenizer' + - $ref: '#/components/schemas/_common.analysis:NGramTokenizer' + - $ref: '#/components/schemas/_common.analysis:NoriTokenizer' + - $ref: '#/components/schemas/_common.analysis:PathHierarchyTokenizer' + - $ref: '#/components/schemas/_common.analysis:StandardTokenizer' + - $ref: '#/components/schemas/_common.analysis:UaxEmailUrlTokenizer' + - $ref: '#/components/schemas/_common.analysis:WhitespaceTokenizer' + - $ref: '#/components/schemas/_common.analysis:KuromojiTokenizer' + - $ref: '#/components/schemas/_common.analysis:PatternTokenizer' + - $ref: '#/components/schemas/_common.analysis:IcuTokenizer' + _common.analysis:TrimTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - trim + required: + - type + _common.analysis:TruncateTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - truncate + length: + type: number + required: + - type + _common.analysis:UaxEmailUrlTokenizer: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenizerBase' + - type: object + properties: + type: + type: string + enum: + - uax_url_email + max_token_length: + type: number + required: + - type + _common.analysis:UniqueTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - unique + only_on_same_position: + type: boolean + required: + - type + _common.analysis:UppercaseTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - uppercase + required: + - type + _common.analysis:WhitespaceAnalyzer: + type: object + properties: + type: + type: string + enum: + - whitespace + version: + $ref: '#/components/schemas/_common:VersionString' + required: + - type + _common.analysis:WhitespaceTokenizer: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenizerBase' + - type: object + properties: + type: + type: string + enum: + - whitespace + max_token_length: + type: number + required: + - type + _common.analysis:WordDelimiterGraphTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - word_delimiter_graph + adjust_offsets: + type: boolean + catenate_all: + type: boolean + catenate_numbers: + type: boolean + catenate_words: + type: boolean + generate_number_parts: + type: boolean + generate_word_parts: + type: boolean + ignore_keywords: + type: boolean + preserve_original: + $ref: '#/components/schemas/_common:Stringifiedboolean' + protected_words: + type: array + items: + type: string + protected_words_path: + type: string + split_on_case_change: + type: boolean + split_on_numerics: + type: boolean + stem_english_possessive: + type: boolean + type_table: + type: array + items: + type: string + type_table_path: + type: string + required: + - type + _common.analysis:WordDelimiterTokenFilter: + allOf: + - $ref: '#/components/schemas/_common.analysis:TokenFilterBase' + - type: object + properties: + type: + type: string + enum: + - word_delimiter + catenate_all: + type: boolean + catenate_numbers: + type: boolean + catenate_words: + type: boolean + generate_number_parts: + type: boolean + generate_word_parts: + type: boolean + preserve_original: + $ref: '#/components/schemas/_common:Stringifiedboolean' + protected_words: + type: array + items: + type: string + protected_words_path: + type: string + split_on_case_change: + type: boolean + split_on_numerics: + type: boolean + stem_english_possessive: + type: boolean + type_table: + type: array + items: + type: string + type_table_path: + type: string + required: + - type + _common.mapping:AggregateMetricDoubleProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:PropertyBase' + - type: object + properties: + type: + type: string + enum: + - aggregate_metric_double + default_metric: + type: string + metrics: + type: array + items: + type: string + time_series_metric: + $ref: '#/components/schemas/_common.mapping:TimeSeriesMetricType' + required: + - default_metric + - metrics + - type + _common.mapping:AllField: + type: object + properties: + analyzer: + type: string + enabled: + type: boolean + omit_norms: + type: boolean + search_analyzer: + type: string + similarity: + type: string + store: + type: boolean + store_term_vector_offsets: + type: boolean + store_term_vector_payloads: + type: boolean + store_term_vector_positions: + type: boolean + store_term_vectors: + type: boolean + required: + - analyzer + - enabled + - omit_norms + - search_analyzer + - similarity + - store + - store_term_vector_offsets + - store_term_vector_payloads + - store_term_vector_positions + - store_term_vectors + _common.mapping:BinaryProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:DocValuesPropertyBase' + - type: object + properties: + type: + type: string + enum: + - binary + required: + - type + _common.mapping:BooleanProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:DocValuesPropertyBase' + - type: object + properties: + boost: + type: number + fielddata: + $ref: '#/components/schemas/indices._common:NumericFielddata' + index: + type: boolean + null_value: + type: boolean + type: + type: string + enum: + - boolean + required: + - type + _common.mapping:ByteNumberProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:NumberPropertyBase' + - type: object + properties: + type: + type: string + enum: + - byte + null_value: + $ref: '#/components/schemas/_common:byte' + required: + - type + _common.mapping:CompletionProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:DocValuesPropertyBase' + - type: object + properties: + analyzer: + type: string + contexts: + type: array + items: + $ref: '#/components/schemas/_common.mapping:SuggestContext' + max_input_length: + type: number + preserve_position_increments: + type: boolean + preserve_separators: + type: boolean + search_analyzer: + type: string + type: + type: string + enum: + - completion + required: + - type + _common.mapping:ConstantKeywordProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:PropertyBase' + - type: object + properties: + value: + type: object + type: + type: string + enum: + - constant_keyword + required: + - type + _common.mapping:CorePropertyBase: + allOf: + - $ref: '#/components/schemas/_common.mapping:PropertyBase' + - type: object + properties: + copy_to: + $ref: '#/components/schemas/_common:Fields' + similarity: + type: string + store: + type: boolean + _common.mapping:DataStreamTimestamp: + type: object + properties: + enabled: + type: boolean + required: + - enabled + _common.mapping:DateNanosProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:DocValuesPropertyBase' + - type: object + properties: + boost: + type: number + format: + type: string + ignore_malformed: + type: boolean + index: + type: boolean + null_value: + $ref: '#/components/schemas/_common:DateTime' + precision_step: + type: number + type: + type: string + enum: + - date_nanos + required: + - type + _common.mapping:DateProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:DocValuesPropertyBase' + - type: object + properties: + boost: + type: number + fielddata: + $ref: '#/components/schemas/indices._common:NumericFielddata' + format: + type: string + ignore_malformed: + type: boolean + index: + type: boolean + null_value: + $ref: '#/components/schemas/_common:DateTime' + precision_step: + type: number + locale: + type: string + type: + type: string + enum: + - date + required: + - type + _common.mapping:DateRangeProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:RangePropertyBase' + - type: object + properties: + format: + type: string + type: + type: string + enum: + - date_range + required: + - type + _common.mapping:DenseVectorIndexOptions: + type: object + properties: + type: + type: string + m: + type: number + ef_construction: + type: number + required: + - ef_construction + - m + - type + _common.mapping:DenseVectorProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:PropertyBase' + - type: object + properties: + type: + type: string + enum: + - dense_vector + dims: + type: number + similarity: + type: string + index: + type: boolean + index_options: + $ref: '#/components/schemas/_common.mapping:DenseVectorIndexOptions' + required: + - dims + - type + _common.mapping:DocValuesPropertyBase: + allOf: + - $ref: '#/components/schemas/_common.mapping:CorePropertyBase' + - type: object + properties: + doc_values: + type: boolean + _common.mapping:DoubleNumberProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:NumberPropertyBase' + - type: object + properties: + type: + type: string + enum: + - double + null_value: + type: number + required: + - type + _common.mapping:DoubleRangeProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:RangePropertyBase' + - type: object + properties: + type: + type: string + enum: + - double_range + required: + - type + _common.mapping:DynamicMapping: + type: string + enum: + - 'false' + - strict + - strict_allow_templates + - 'true' + _common.mapping:DynamicProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:DocValuesPropertyBase' + - type: object + properties: + type: + type: string + enum: + - '{dynamic_property}' + enabled: + type: boolean + null_value: + $ref: '#/components/schemas/_common:FieldValue' + boost: + type: number + coerce: + type: boolean + script: + $ref: '#/components/schemas/_common:Script' + on_script_error: + $ref: '#/components/schemas/_common.mapping:OnScriptError' + ignore_malformed: + type: boolean + time_series_metric: + $ref: '#/components/schemas/_common.mapping:TimeSeriesMetricType' + analyzer: + type: string + eager_global_ordinals: + type: boolean + index: + type: boolean + index_options: + $ref: '#/components/schemas/_common.mapping:IndexOptions' + index_phrases: + type: boolean + index_prefixes: + $ref: '#/components/schemas/_common.mapping:TextIndexPrefixes' + norms: + type: boolean + position_increment_gap: + type: number + search_analyzer: + type: string + search_quote_analyzer: + type: string + term_vector: + $ref: '#/components/schemas/_common.mapping:TermVectorOption' + format: + type: string + precision_step: + type: number + locale: + type: string + required: + - type + _common.mapping:DynamicTemplate: + type: object + properties: + mapping: + $ref: '#/components/schemas/_common.mapping:Property' + match: + type: string + match_mapping_type: + type: string + match_pattern: + $ref: '#/components/schemas/_common.mapping:MatchType' + path_match: + type: string + path_unmatch: + type: string + unmatch: + type: string + _common.mapping:FieldAliasProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:PropertyBase' + - type: object + properties: + path: + $ref: '#/components/schemas/_common:Field' + type: + type: string + enum: + - alias + required: + - type + _common.mapping:FieldMapping: + type: object + properties: + full_name: + type: string + mapping: + type: object + additionalProperties: + $ref: '#/components/schemas/_common.mapping:Property' + minProperties: 1 + maxProperties: 1 + required: + - full_name + - mapping + _common.mapping:FieldNamesField: + type: object + properties: + enabled: + type: boolean + required: + - enabled + _common.mapping:FlattenedProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:PropertyBase' + - type: object + properties: + boost: + type: number + depth_limit: + type: number + doc_values: + type: boolean + eager_global_ordinals: + type: boolean + index: + type: boolean + index_options: + $ref: '#/components/schemas/_common.mapping:IndexOptions' + null_value: + type: string + similarity: + type: string + split_queries_on_whitespace: + type: boolean + type: + type: string + enum: + - flattened + required: + - type + _common.mapping:FloatNumberProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:NumberPropertyBase' + - type: object + properties: + type: + type: string + enum: + - float + null_value: + type: number + required: + - type + _common.mapping:FloatRangeProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:RangePropertyBase' + - type: object + properties: + type: + type: string + enum: + - float_range + required: + - type + _common.mapping:GeoOrientation: + type: string + enum: + - left + - right + _common.mapping:GeoPointProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:DocValuesPropertyBase' + - type: object + properties: + ignore_malformed: + type: boolean + ignore_z_value: + type: boolean + null_value: + $ref: '#/components/schemas/_common:GeoLocation' + type: + type: string + enum: + - geo_point + required: + - type + _common.mapping:GeoShapeProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:DocValuesPropertyBase' + - type: object + properties: + coerce: + type: boolean + ignore_malformed: + type: boolean + ignore_z_value: + type: boolean + orientation: + $ref: '#/components/schemas/_common.mapping:GeoOrientation' + strategy: + $ref: '#/components/schemas/_common.mapping:GeoStrategy' + type: + type: string + enum: + - geo_shape + required: + - type + _common.mapping:GeoStrategy: + type: string + enum: + - recursive + - term + _common.mapping:HalfFloatNumberProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:NumberPropertyBase' + - type: object + properties: + type: + type: string + enum: + - half_float + null_value: + type: number + required: + - type + _common.mapping:HistogramProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:PropertyBase' + - type: object + properties: + ignore_malformed: + type: boolean + type: + type: string + enum: + - histogram + required: + - type + _common.mapping:IndexField: + type: object + properties: + enabled: + type: boolean + required: + - enabled + _common.mapping:IndexOptions: + type: string + enum: + - docs + - freqs + - offsets + - positions + _common.mapping:IntegerNumberProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:NumberPropertyBase' + - type: object + properties: + type: + type: string + enum: + - integer + null_value: + type: number + required: + - type + _common.mapping:IntegerRangeProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:RangePropertyBase' + - type: object + properties: + type: + type: string + enum: + - integer_range + required: + - type + _common.mapping:IpProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:DocValuesPropertyBase' + - type: object + properties: + boost: + type: number + index: + type: boolean + ignore_malformed: + type: boolean + null_value: + type: string + on_script_error: + $ref: '#/components/schemas/_common.mapping:OnScriptError' + script: + $ref: '#/components/schemas/_common:Script' + time_series_dimension: + description: For internal use by OpenSearch only. Marks the field as a time series dimension. Defaults to false. + type: boolean + type: + type: string + enum: + - ip + required: + - type + _common.mapping:IpRangeProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:RangePropertyBase' + - type: object + properties: + type: + type: string + enum: + - ip_range + required: + - type + _common.mapping:JoinProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:PropertyBase' + - type: object + properties: + relations: + type: object + additionalProperties: + oneOf: + - $ref: '#/components/schemas/_common:RelationName' + - type: array + items: + $ref: '#/components/schemas/_common:RelationName' + eager_global_ordinals: + type: boolean + type: + type: string + enum: + - join + required: + - type + _common.mapping:KeywordProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:DocValuesPropertyBase' + - type: object + properties: + boost: + type: number + eager_global_ordinals: + type: boolean + index: + type: boolean + index_options: + $ref: '#/components/schemas/_common.mapping:IndexOptions' + normalizer: + type: string + norms: + type: boolean + null_value: + type: string + split_queries_on_whitespace: + type: boolean + time_series_dimension: + description: For internal use by OpenSearch only. Marks the field as a time series dimension. Defaults to false. + type: boolean + type: + type: string + enum: + - keyword + required: + - type + _common.mapping:KnnVectorMethod: + type: object + properties: + name: + type: string + space_type: + type: string + engine: + type: string + parameters: + type: object + additionalProperties: + type: object + required: + - name + _common.mapping:KnnVectorProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:KnnVectorPropertyBase' + - type: object + properties: + type: + type: string + enum: + - knn_vector + required: + - type + _common.mapping:KnnVectorPropertyBase: + type: object + properties: + dimension: + type: number + method: + $ref: '#/components/schemas/_common.mapping:KnnVectorMethod' + required: + - dimension + _common.mapping:LongNumberProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:NumberPropertyBase' + - type: object + properties: + type: + type: string + enum: + - long + null_value: + type: number + required: + - type + _common.mapping:LongRangeProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:RangePropertyBase' + - type: object + properties: + type: + type: string + enum: + - long_range + required: + - type + _common.mapping:MatchOnlyTextProperty: + type: object + properties: + type: + type: string + enum: + - match_only_text + fields: + description: |- + Multi-fields allow the same string value to be indexed in multiple ways for different purposes, such as one + field for search and a multi-field for sorting and aggregations, or the same string value analyzed by different analyzers. + type: object + additionalProperties: + $ref: '#/components/schemas/_common.mapping:Property' + meta: + description: Metadata about the field. + type: object + additionalProperties: + type: string + copy_to: + $ref: '#/components/schemas/_common:Fields' + required: + - type + _common.mapping:MatchType: + type: string + enum: + - regex + - simple + _common.mapping:Murmur3HashProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:DocValuesPropertyBase' + - type: object + properties: + type: + type: string + enum: + - murmur3 + required: + - type + _common.mapping:NestedProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:CorePropertyBase' + - type: object + properties: + enabled: + type: boolean + include_in_parent: + type: boolean + include_in_root: + type: boolean + type: + type: string + enum: + - nested + required: + - type + _common.mapping:NumberPropertyBase: + allOf: + - $ref: '#/components/schemas/_common.mapping:DocValuesPropertyBase' + - type: object + properties: + boost: + type: number + coerce: + type: boolean + ignore_malformed: + type: boolean + index: + type: boolean + on_script_error: + $ref: '#/components/schemas/_common.mapping:OnScriptError' + script: + $ref: '#/components/schemas/_common:Script' + time_series_metric: + $ref: '#/components/schemas/_common.mapping:TimeSeriesMetricType' + time_series_dimension: + description: For internal use by OpenSearch only. Marks the field as a time series dimension. Defaults to false. + type: boolean + _common.mapping:ObjectProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:CorePropertyBase' + - type: object + properties: + enabled: + type: boolean + type: + type: string + enum: + - object + _common.mapping:OnScriptError: + type: string + enum: + - continue + - fail + _common.mapping:PercolatorProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:PropertyBase' + - type: object + properties: + type: + type: string + enum: + - percolator + required: + - type + _common.mapping:PointProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:DocValuesPropertyBase' + - type: object + properties: + ignore_malformed: + type: boolean + ignore_z_value: + type: boolean + null_value: + type: string + type: + type: string + enum: + - point + required: + - type + _common.mapping:Property: + type: object + discriminator: + propertyName: type + oneOf: + - $ref: '#/components/schemas/_common.mapping:BinaryProperty' + - $ref: '#/components/schemas/_common.mapping:BooleanProperty' + - $ref: '#/components/schemas/_common.mapping:DynamicProperty' + - $ref: '#/components/schemas/_common.mapping:JoinProperty' + - $ref: '#/components/schemas/_common.mapping:KeywordProperty' + - $ref: '#/components/schemas/_common.mapping:MatchOnlyTextProperty' + - $ref: '#/components/schemas/_common.mapping:PercolatorProperty' + - $ref: '#/components/schemas/_common.mapping:RankFeatureProperty' + - $ref: '#/components/schemas/_common.mapping:RankFeaturesProperty' + - $ref: '#/components/schemas/_common.mapping:SearchAsYouTypeProperty' + - $ref: '#/components/schemas/_common.mapping:TextProperty' + - $ref: '#/components/schemas/_common.mapping:VersionProperty' + - $ref: '#/components/schemas/_common.mapping:WildcardProperty' + - $ref: '#/components/schemas/_common.mapping:DateNanosProperty' + - $ref: '#/components/schemas/_common.mapping:DateProperty' + - $ref: '#/components/schemas/_common.mapping:AggregateMetricDoubleProperty' + - $ref: '#/components/schemas/_common.mapping:DenseVectorProperty' + - $ref: '#/components/schemas/_common.mapping:SparseVectorProperty' + - $ref: '#/components/schemas/_common.mapping:FlattenedProperty' + - $ref: '#/components/schemas/_common.mapping:NestedProperty' + - $ref: '#/components/schemas/_common.mapping:ObjectProperty' + - $ref: '#/components/schemas/_common.mapping:CompletionProperty' + - $ref: '#/components/schemas/_common.mapping:ConstantKeywordProperty' + - $ref: '#/components/schemas/_common.mapping:FieldAliasProperty' + - $ref: '#/components/schemas/_common.mapping:HistogramProperty' + - $ref: '#/components/schemas/_common.mapping:IpProperty' + - $ref: '#/components/schemas/_common.mapping:Murmur3HashProperty' + - $ref: '#/components/schemas/_common.mapping:TokenCountProperty' + - $ref: '#/components/schemas/_common.mapping:GeoPointProperty' + - $ref: '#/components/schemas/_common.mapping:GeoShapeProperty' + - $ref: '#/components/schemas/_common.mapping:PointProperty' + - $ref: '#/components/schemas/_common.mapping:ShapeProperty' + - $ref: '#/components/schemas/_common.mapping:ByteNumberProperty' + - $ref: '#/components/schemas/_common.mapping:DoubleNumberProperty' + - $ref: '#/components/schemas/_common.mapping:FloatNumberProperty' + - $ref: '#/components/schemas/_common.mapping:HalfFloatNumberProperty' + - $ref: '#/components/schemas/_common.mapping:IntegerNumberProperty' + - $ref: '#/components/schemas/_common.mapping:LongNumberProperty' + - $ref: '#/components/schemas/_common.mapping:ScaledFloatNumberProperty' + - $ref: '#/components/schemas/_common.mapping:ShortNumberProperty' + - $ref: '#/components/schemas/_common.mapping:UnsignedLongNumberProperty' + - $ref: '#/components/schemas/_common.mapping:DateRangeProperty' + - $ref: '#/components/schemas/_common.mapping:DoubleRangeProperty' + - $ref: '#/components/schemas/_common.mapping:FloatRangeProperty' + - $ref: '#/components/schemas/_common.mapping:IntegerRangeProperty' + - $ref: '#/components/schemas/_common.mapping:IpRangeProperty' + - $ref: '#/components/schemas/_common.mapping:LongRangeProperty' + - $ref: '#/components/schemas/_common.mapping:KnnVectorProperty' + _common.mapping:PropertyBase: + type: object + properties: + meta: + description: Metadata about the field. + type: object + additionalProperties: + type: string + properties: + type: object + additionalProperties: + $ref: '#/components/schemas/_common.mapping:Property' + ignore_above: + type: number + dynamic: + $ref: '#/components/schemas/_common.mapping:DynamicMapping' + fields: + type: object + additionalProperties: + $ref: '#/components/schemas/_common.mapping:Property' + _common.mapping:RangePropertyBase: + allOf: + - $ref: '#/components/schemas/_common.mapping:DocValuesPropertyBase' + - type: object + properties: + boost: + type: number + coerce: + type: boolean + index: + type: boolean + _common.mapping:RankFeatureProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:PropertyBase' + - type: object + properties: + positive_score_impact: + type: boolean + type: + type: string + enum: + - rank_feature + required: + - type + _common.mapping:RankFeaturesProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:PropertyBase' + - type: object + properties: + type: + type: string + enum: + - rank_features + required: + - type + _common.mapping:RoutingField: + type: object + properties: + required: + type: boolean + required: + - required + _common.mapping:RuntimeField: + type: object + properties: + fetch_fields: + description: For type `lookup` + type: array + items: + $ref: '#/components/schemas/_common.mapping:RuntimeFieldFetchFields' + format: + description: A custom format for `date` type runtime fields. + type: string + input_field: + $ref: '#/components/schemas/_common:Field' + target_field: + $ref: '#/components/schemas/_common:Field' + target_index: + $ref: '#/components/schemas/_common:IndexName' + script: + $ref: '#/components/schemas/_common:Script' + type: + $ref: '#/components/schemas/_common.mapping:RuntimeFieldType' + required: + - type + _common.mapping:RuntimeFieldFetchFields: + type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + format: + type: string + required: + - field + _common.mapping:RuntimeFields: + type: object + additionalProperties: + $ref: '#/components/schemas/_common.mapping:RuntimeField' + _common.mapping:RuntimeFieldType: + type: string + enum: + - boolean + - date + - double + - geo_point + - ip + - keyword + - long + - lookup + _common.mapping:ScaledFloatNumberProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:NumberPropertyBase' + - type: object + properties: + type: + type: string + enum: + - scaled_float + null_value: + type: number + scaling_factor: + type: number + required: + - type + _common.mapping:SearchAsYouTypeProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:CorePropertyBase' + - type: object + properties: + analyzer: + type: string + index: + type: boolean + index_options: + $ref: '#/components/schemas/_common.mapping:IndexOptions' + max_shingle_size: + type: number + norms: + type: boolean + search_analyzer: + type: string + search_quote_analyzer: + type: string + term_vector: + $ref: '#/components/schemas/_common.mapping:TermVectorOption' + type: + type: string + enum: + - search_as_you_type + required: + - type + _common.mapping:ShapeProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:DocValuesPropertyBase' + - type: object + properties: + coerce: + type: boolean + ignore_malformed: + type: boolean + ignore_z_value: + type: boolean + orientation: + $ref: '#/components/schemas/_common.mapping:GeoOrientation' + type: + type: string + enum: + - shape + required: + - type + _common.mapping:ShortNumberProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:NumberPropertyBase' + - type: object + properties: + type: + type: string + enum: + - short + null_value: + $ref: '#/components/schemas/_common:short' + required: + - type + _common.mapping:SizeField: + type: object + properties: + enabled: + type: boolean + required: + - enabled + _common.mapping:SourceField: + type: object + properties: + compress: + type: boolean + compress_threshold: + type: string + enabled: + type: boolean + excludes: + type: array + items: + type: string + includes: + type: array + items: + type: string + mode: + $ref: '#/components/schemas/_common.mapping:SourceFieldMode' + _common.mapping:SourceFieldMode: + type: string + enum: + - disabled + - stored + - synthetic + _common.mapping:SparseVectorProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:PropertyBase' + - type: object + properties: + type: + type: string + enum: + - sparse_vector + required: + - type + _common.mapping:SuggestContext: + type: object + properties: + name: + $ref: '#/components/schemas/_common:Name' + path: + $ref: '#/components/schemas/_common:Field' + type: + type: string + precision: + oneOf: + - type: number + - type: string + required: + - name + - type + _common.mapping:TermVectorOption: + type: string + enum: + - no + - with_offsets + - with_positions + - with_positions_offsets + - with_positions_offsets_payloads + - with_positions_payloads + - yes + _common.mapping:TextIndexPrefixes: + type: object + properties: + max_chars: + type: number + min_chars: + type: number + required: + - max_chars + - min_chars + _common.mapping:TextProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:CorePropertyBase' + - type: object + properties: + analyzer: + type: string + boost: + type: number + eager_global_ordinals: + type: boolean + fielddata: + type: boolean + fielddata_frequency_filter: + $ref: '#/components/schemas/indices._common:FielddataFrequencyFilter' + index: + type: boolean + index_options: + $ref: '#/components/schemas/_common.mapping:IndexOptions' + index_phrases: + type: boolean + index_prefixes: + $ref: '#/components/schemas/_common.mapping:TextIndexPrefixes' + norms: + type: boolean + position_increment_gap: + type: number + search_analyzer: + type: string + search_quote_analyzer: + type: string + term_vector: + $ref: '#/components/schemas/_common.mapping:TermVectorOption' + type: + type: string + enum: + - text + required: + - type + _common.mapping:TimeSeriesMetricType: + type: string + enum: + - counter + - gauge + - histogram + - position + - summary + _common.mapping:TokenCountProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:DocValuesPropertyBase' + - type: object + properties: + analyzer: + type: string + boost: + type: number + index: + type: boolean + null_value: + type: number + enable_position_increments: + type: boolean + type: + type: string + enum: + - token_count + required: + - type + _common.mapping:TypeMapping: + type: object + properties: + all_field: + $ref: '#/components/schemas/_common.mapping:AllField' + date_detection: + type: boolean + dynamic: + $ref: '#/components/schemas/_common.mapping:DynamicMapping' + dynamic_date_formats: + type: array + items: + type: string + dynamic_templates: + type: array + items: + type: object + additionalProperties: + $ref: '#/components/schemas/_common.mapping:DynamicTemplate' + _field_names: + $ref: '#/components/schemas/_common.mapping:FieldNamesField' + index_field: + $ref: '#/components/schemas/_common.mapping:IndexField' + _meta: + $ref: '#/components/schemas/_common:Metadata' + numeric_detection: + type: boolean + properties: + type: object + additionalProperties: + $ref: '#/components/schemas/_common.mapping:Property' + _routing: + $ref: '#/components/schemas/_common.mapping:RoutingField' + _size: + $ref: '#/components/schemas/_common.mapping:SizeField' + _source: + $ref: '#/components/schemas/_common.mapping:SourceField' + runtime: + type: object + additionalProperties: + $ref: '#/components/schemas/_common.mapping:RuntimeField' + enabled: + type: boolean + _data_stream_timestamp: + $ref: '#/components/schemas/_common.mapping:DataStreamTimestamp' + _common.mapping:UnsignedLongNumberProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:NumberPropertyBase' + - type: object + properties: + type: + type: string + enum: + - unsigned_long + null_value: + $ref: '#/components/schemas/_common:ulong' + required: + - type + _common.mapping:VersionProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:DocValuesPropertyBase' + - type: object + properties: + type: + type: string + enum: + - version + required: + - type + _common.mapping:WildcardProperty: + allOf: + - $ref: '#/components/schemas/_common.mapping:DocValuesPropertyBase' + - type: object + properties: + type: + type: string + enum: + - wildcard + null_value: + type: string + required: + - type + _common.query_dsl:BoolQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + filter: + description: |- + The clause (query) must appear in matching documents. + However, unlike `must`, the score of the query will be ignored. + oneOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + - type: array + items: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + minimum_should_match: + $ref: '#/components/schemas/_common:MinimumShouldMatch' + must: + description: The clause (query) must appear in matching documents and will contribute to the score. + oneOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + - type: array + items: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + must_not: + description: |- + The clause (query) must not appear in the matching documents. + Because scoring is ignored, a score of `0` is returned for all documents. + oneOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + - type: array + items: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + should: + description: The clause (query) should appear in the matching document. + oneOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + - type: array + items: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + _common.query_dsl:BoostingQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + negative_boost: + description: Floating point number between 0 and 1.0 used to decrease the relevance scores of documents matching the `negative` query. + type: number + negative: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + positive: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + required: + - negative + - negative_boost + - positive + _common.query_dsl:ChildScoreMode: + type: string + enum: + - avg + - max + - min + - none + - sum + _common.query_dsl:CombinedFieldsOperator: + type: string + enum: + - and + - or + _common.query_dsl:CombinedFieldsQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + fields: + description: List of fields to search. Field wildcard patterns are allowed. Only `text` fields are supported, and they must all have the same search `analyzer`. + type: array + items: + $ref: '#/components/schemas/_common:Field' + query: + description: |- + Text to search for in the provided `fields`. + The `combined_fields` query analyzes the provided text before performing a search. + type: string + auto_generate_synonyms_phrase_query: + description: If true, match phrase queries are automatically created for multi-term synonyms. + type: boolean + operator: + $ref: '#/components/schemas/_common.query_dsl:CombinedFieldsOperator' + minimum_should_match: + $ref: '#/components/schemas/_common:MinimumShouldMatch' + zero_terms_query: + $ref: '#/components/schemas/_common.query_dsl:CombinedFieldsZeroTerms' + required: + - fields + - query + _common.query_dsl:CombinedFieldsZeroTerms: + type: string + enum: + - all + - none + _common.query_dsl:CommonTermsQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + analyzer: + type: string + cutoff_frequency: + type: number + high_freq_operator: + $ref: '#/components/schemas/_common.query_dsl:Operator' + low_freq_operator: + $ref: '#/components/schemas/_common.query_dsl:Operator' + minimum_should_match: + $ref: '#/components/schemas/_common:MinimumShouldMatch' + query: + type: string + required: + - query + _common.query_dsl:ConstantScoreQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + filter: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + required: + - filter + _common.query_dsl:DateDecayFunction: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:DecayFunctionBase' + - type: object + _common.query_dsl:DateDistanceFeatureQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:DistanceFeatureQueryBaseDateMathDuration' + - type: object + _common.query_dsl:DateRangeQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:RangeQueryBase' + - type: object + properties: + gt: + $ref: '#/components/schemas/_common:DateMath' + gte: + $ref: '#/components/schemas/_common:DateMath' + lt: + $ref: '#/components/schemas/_common:DateMath' + lte: + $ref: '#/components/schemas/_common:DateMath' + from: + oneOf: + - $ref: '#/components/schemas/_common:DateMath' + - type: 'null' + to: + oneOf: + - $ref: '#/components/schemas/_common:DateMath' + - type: 'null' + format: + $ref: '#/components/schemas/_common:DateFormat' + time_zone: + $ref: '#/components/schemas/_common:TimeZone' + _common.query_dsl:DecayFunction: + oneOf: + - $ref: '#/components/schemas/_common.query_dsl:DateDecayFunction' + - $ref: '#/components/schemas/_common.query_dsl:NumericDecayFunction' + - $ref: '#/components/schemas/_common.query_dsl:GeoDecayFunction' + _common.query_dsl:DecayFunctionBase: + type: object + properties: + multi_value_mode: + $ref: '#/components/schemas/_common.query_dsl:MultiValueMode' + _common.query_dsl:DisMaxQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + queries: + description: |- + One or more query clauses. + Returned documents must match one or more of these queries. + If a document matches multiple queries, OpenSearch uses the highest relevance score. + type: array + items: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + tie_breaker: + description: Floating point number between 0 and 1.0 used to increase the relevance scores of documents matching multiple query clauses. + type: number + required: + - queries + _common.query_dsl:DistanceFeatureQuery: + oneOf: + - $ref: '#/components/schemas/_common.query_dsl:GeoDistanceFeatureQuery' + - $ref: '#/components/schemas/_common.query_dsl:DateDistanceFeatureQuery' + _common.query_dsl:DistanceFeatureQueryBaseDateMathDuration: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + origin: + $ref: '#/components/schemas/_common:DateMath' + pivot: + $ref: '#/components/schemas/_common:Duration' + field: + $ref: '#/components/schemas/_common:Field' + required: + - field + - origin + - pivot + _common.query_dsl:DistanceFeatureQueryBaseGeoLocationDistance: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + origin: + $ref: '#/components/schemas/_common:GeoLocation' + pivot: + $ref: '#/components/schemas/_common:Distance' + field: + $ref: '#/components/schemas/_common:Field' + required: + - field + - origin + - pivot + _common.query_dsl:ExistsQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + required: + - field + _common.query_dsl:FieldAndFormat: + type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + format: + description: Format in which the values are returned. + type: string + include_unmapped: + type: boolean + required: + - field + _common.query_dsl:FieldValueFactorModifier: + type: string + enum: + - ln + - ln1p + - ln2p + - log + - log1p + - log2p + - none + - reciprocal + - sqrt + - square + _common.query_dsl:FieldValueFactorScoreFunction: + type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + factor: + description: Optional factor to multiply the field value with. + type: number + missing: + description: |- + Value used if the document doesn't have that field. + The modifier and factor are still applied to it as though it were read from the document. + type: number + modifier: + $ref: '#/components/schemas/_common.query_dsl:FieldValueFactorModifier' + required: + - field + _common.query_dsl:FunctionBoostMode: + type: string + enum: + - avg + - max + - min + - multiply + - replace + - sum + _common.query_dsl:FunctionScoreContainer: + allOf: + - type: object + properties: + filter: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + weight: + type: number + - type: object + properties: + exp: + $ref: '#/components/schemas/_common.query_dsl:DecayFunction' + gauss: + $ref: '#/components/schemas/_common.query_dsl:DecayFunction' + linear: + $ref: '#/components/schemas/_common.query_dsl:DecayFunction' + field_value_factor: + $ref: '#/components/schemas/_common.query_dsl:FieldValueFactorScoreFunction' + random_score: + $ref: '#/components/schemas/_common.query_dsl:RandomScoreFunction' + script_score: + $ref: '#/components/schemas/_common.query_dsl:ScriptScoreFunction' + minProperties: 1 + maxProperties: 1 + _common.query_dsl:FunctionScoreMode: + type: string + enum: + - avg + - first + - max + - min + - multiply + - sum + _common.query_dsl:FunctionScoreQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + boost_mode: + $ref: '#/components/schemas/_common.query_dsl:FunctionBoostMode' + functions: + description: One or more functions that compute a new score for each document returned by the query. + type: array + items: + $ref: '#/components/schemas/_common.query_dsl:FunctionScoreContainer' + max_boost: + description: Restricts the new score to not exceed the provided limit. + type: number + min_score: + description: Excludes documents that do not meet the provided score threshold. + type: number + query: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + score_mode: + $ref: '#/components/schemas/_common.query_dsl:FunctionScoreMode' + _common.query_dsl:FuzzyQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + max_expansions: + description: Maximum number of variations created. + type: number + prefix_length: + description: Number of beginning characters left unchanged when creating expansions. + type: number + rewrite: + $ref: '#/components/schemas/_common:MultiTermQueryRewrite' + transpositions: + description: Indicates whether edits include transpositions of two adjacent characters (for example `ab` to `ba`). + type: boolean + fuzziness: + $ref: '#/components/schemas/_common:Fuzziness' + value: + description: Term you wish to find in the provided field. + oneOf: + - type: string + - type: number + - type: boolean + required: + - value + _common.query_dsl:GeoBoundingBoxQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + type: + $ref: '#/components/schemas/_common.query_dsl:GeoExecution' + validation_method: + $ref: '#/components/schemas/_common.query_dsl:GeoValidationMethod' + ignore_unmapped: + $ref: '#/components/schemas/_common.query_dsl:IgnoreUnmapped' + _common.query_dsl:GeoDecayFunction: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:DecayFunctionBase' + - type: object + _common.query_dsl:GeoDistanceFeatureQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:DistanceFeatureQueryBaseGeoLocationDistance' + - type: object + _common.query_dsl:GeoDistanceQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + distance: + $ref: '#/components/schemas/_common:Distance' + distance_type: + $ref: '#/components/schemas/_common:GeoDistanceType' + validation_method: + $ref: '#/components/schemas/_common.query_dsl:GeoValidationMethod' + ignore_unmapped: + $ref: '#/components/schemas/_common.query_dsl:IgnoreUnmapped' + field: + type: object + required: + - distance + - field + _common.query_dsl:GeoExecution: + type: string + enum: + - indexed + - memory + _common.query_dsl:GeoPolygonQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + validation_method: + $ref: '#/components/schemas/_common.query_dsl:GeoValidationMethod' + ignore_unmapped: + $ref: '#/components/schemas/_common.query_dsl:IgnoreUnmapped' + _common.query_dsl:GeoShapeQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + ignore_unmapped: + $ref: '#/components/schemas/_common.query_dsl:IgnoreUnmapped' + _common.query_dsl:GeoValidationMethod: + type: string + enum: + - coerce + - ignore_malformed + - strict + _common.query_dsl:HasChildQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + ignore_unmapped: + $ref: '#/components/schemas/_common.query_dsl:IgnoreUnmapped' + description: Indicates whether to ignore an unmapped `type` and not return any documents instead of an error. + inner_hits: + $ref: '#/components/schemas/_core.search:InnerHits' + max_children: + description: |- + Maximum number of child documents that match the query allowed for a returned parent document. + If the parent document exceeds this limit, it is excluded from the search results. + type: number + min_children: + description: |- + Minimum number of child documents that match the query required to match the query for a returned parent document. + If the parent document does not meet this limit, it is excluded from the search results. + type: number + query: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + score_mode: + $ref: '#/components/schemas/_common.query_dsl:ChildScoreMode' + type: + $ref: '#/components/schemas/_common:RelationName' + required: + - query + - type + _common.query_dsl:HasParentQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + ignore_unmapped: + $ref: '#/components/schemas/_common.query_dsl:IgnoreUnmapped' + description: |- + Indicates whether to ignore an unmapped `parent_type` and not return any documents instead of an error. + You can use this parameter to query multiple indices that may not contain the `parent_type`. + inner_hits: + $ref: '#/components/schemas/_core.search:InnerHits' + parent_type: + $ref: '#/components/schemas/_common:RelationName' + query: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + score: + description: Indicates whether the relevance score of a matching parent document is aggregated into its child documents. + type: boolean + required: + - parent_type + - query + _common.query_dsl:IdsQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + values: + $ref: '#/components/schemas/_common:Ids' + _common.query_dsl:IgnoreUnmapped: + type: boolean + default: false + description: |- + Set to `true` to ignore an unmapped field and not match any documents for this query. + Set to `false` to throw an exception if the field is not mapped. + _common.query_dsl:IntervalsAllOf: + type: object + properties: + intervals: + description: An array of rules to combine. All rules must produce a match in a document for the overall source to match. + type: array + items: + $ref: '#/components/schemas/_common.query_dsl:IntervalsContainer' + max_gaps: + description: |- + Maximum number of positions between the matching terms. + Intervals produced by the rules further apart than this are not considered matches. + type: number + ordered: + description: If `true`, intervals produced by the rules should appear in the order in which they are specified. + type: boolean + filter: + $ref: '#/components/schemas/_common.query_dsl:IntervalsFilter' + required: + - intervals + _common.query_dsl:IntervalsAnyOf: + type: object + properties: + intervals: + description: An array of rules to match. + type: array + items: + $ref: '#/components/schemas/_common.query_dsl:IntervalsContainer' + filter: + $ref: '#/components/schemas/_common.query_dsl:IntervalsFilter' + required: + - intervals + _common.query_dsl:IntervalsContainer: + type: object + properties: + all_of: + $ref: '#/components/schemas/_common.query_dsl:IntervalsAllOf' + any_of: + $ref: '#/components/schemas/_common.query_dsl:IntervalsAnyOf' + fuzzy: + $ref: '#/components/schemas/_common.query_dsl:IntervalsFuzzy' + match: + $ref: '#/components/schemas/_common.query_dsl:IntervalsMatch' + prefix: + $ref: '#/components/schemas/_common.query_dsl:IntervalsPrefix' + wildcard: + $ref: '#/components/schemas/_common.query_dsl:IntervalsWildcard' + minProperties: 1 + maxProperties: 1 + _common.query_dsl:IntervalsFilter: + type: object + properties: + after: + $ref: '#/components/schemas/_common.query_dsl:IntervalsContainer' + before: + $ref: '#/components/schemas/_common.query_dsl:IntervalsContainer' + contained_by: + $ref: '#/components/schemas/_common.query_dsl:IntervalsContainer' + containing: + $ref: '#/components/schemas/_common.query_dsl:IntervalsContainer' + not_contained_by: + $ref: '#/components/schemas/_common.query_dsl:IntervalsContainer' + not_containing: + $ref: '#/components/schemas/_common.query_dsl:IntervalsContainer' + not_overlapping: + $ref: '#/components/schemas/_common.query_dsl:IntervalsContainer' + overlapping: + $ref: '#/components/schemas/_common.query_dsl:IntervalsContainer' + script: + $ref: '#/components/schemas/_common:Script' + minProperties: 1 + maxProperties: 1 + _common.query_dsl:IntervalsFuzzy: + type: object + properties: + analyzer: + description: Analyzer used to normalize the term. + type: string + fuzziness: + $ref: '#/components/schemas/_common:Fuzziness' + prefix_length: + description: Number of beginning characters left unchanged when creating expansions. + type: number + term: + description: The term to match. + type: string + transpositions: + description: Indicates whether edits include transpositions of two adjacent characters (for example, `ab` to `ba`). + type: boolean + use_field: + $ref: '#/components/schemas/_common:Field' + required: + - term + _common.query_dsl:IntervalsMatch: + type: object + properties: + analyzer: + description: Analyzer used to analyze terms in the query. + type: string + max_gaps: + description: |- + Maximum number of positions between the matching terms. + Terms further apart than this are not considered matches. + type: number + ordered: + description: If `true`, matching terms must appear in their specified order. + type: boolean + query: + description: Text you wish to find in the provided field. + type: string + use_field: + $ref: '#/components/schemas/_common:Field' + filter: + $ref: '#/components/schemas/_common.query_dsl:IntervalsFilter' + required: + - query + _common.query_dsl:IntervalsPrefix: + type: object + properties: + analyzer: + description: Analyzer used to analyze the `prefix`. + type: string + prefix: + description: Beginning characters of terms you wish to find in the top-level field. + type: string + use_field: + $ref: '#/components/schemas/_common:Field' + required: + - prefix + _common.query_dsl:IntervalsQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + all_of: + $ref: '#/components/schemas/_common.query_dsl:IntervalsAllOf' + any_of: + $ref: '#/components/schemas/_common.query_dsl:IntervalsAnyOf' + fuzzy: + $ref: '#/components/schemas/_common.query_dsl:IntervalsFuzzy' + match: + $ref: '#/components/schemas/_common.query_dsl:IntervalsMatch' + prefix: + $ref: '#/components/schemas/_common.query_dsl:IntervalsPrefix' + wildcard: + $ref: '#/components/schemas/_common.query_dsl:IntervalsWildcard' + minProperties: 1 + maxProperties: 1 + _common.query_dsl:IntervalsWildcard: + type: object + properties: + analyzer: + description: |- + Analyzer used to analyze the `pattern`. + Defaults to the top-level field's analyzer. + type: string + pattern: + description: Wildcard pattern used to find matching terms. + type: string + use_field: + $ref: '#/components/schemas/_common:Field' + required: + - pattern + _common.query_dsl:Like: + description: Text that we want similar documents for or a lookup to a document's field for the text. + oneOf: + - type: string + - $ref: '#/components/schemas/_common.query_dsl:LikeDocument' + _common.query_dsl:LikeDocument: + type: object + properties: + doc: + description: A document not present in the index. + type: object + fields: + type: array + items: + $ref: '#/components/schemas/_common:Field' + _id: + $ref: '#/components/schemas/_common:Id' + _index: + $ref: '#/components/schemas/_common:IndexName' + per_field_analyzer: + type: object + additionalProperties: + type: string + routing: + $ref: '#/components/schemas/_common:Routing' + version: + $ref: '#/components/schemas/_common:VersionNumber' + version_type: + $ref: '#/components/schemas/_common:VersionType' + _common.query_dsl:MatchAllQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + _common.query_dsl:MatchBoolPrefixQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + analyzer: + description: Analyzer used to convert the text in the query value into tokens. + type: string + fuzziness: + $ref: '#/components/schemas/_common:Fuzziness' + fuzzy_rewrite: + $ref: '#/components/schemas/_common:MultiTermQueryRewrite' + fuzzy_transpositions: + description: |- + If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`). + Can be applied to the term subqueries constructed for all terms but the final term. + type: boolean + max_expansions: + description: |- + Maximum number of terms to which the query will expand. + Can be applied to the term subqueries constructed for all terms but the final term. + type: number + minimum_should_match: + $ref: '#/components/schemas/_common:MinimumShouldMatch' + operator: + $ref: '#/components/schemas/_common.query_dsl:Operator' + prefix_length: + description: |- + Number of beginning characters left unchanged for fuzzy matching. + Can be applied to the term subqueries constructed for all terms but the final term. + type: number + query: + description: |- + Terms you wish to find in the provided field. + The last term is used in a prefix query. + type: string + required: + - query + _common.query_dsl:MatchNoneQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + _common.query_dsl:MatchPhrasePrefixQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + analyzer: + description: Analyzer used to convert text in the query value into tokens. + type: string + max_expansions: + description: Maximum number of terms to which the last provided term of the query value will expand. + type: number + query: + description: Text you wish to find in the provided field. + type: string + slop: + description: Maximum number of positions allowed between matching tokens. + type: number + zero_terms_query: + $ref: '#/components/schemas/_common.query_dsl:ZeroTermsQuery' + required: + - query + _common.query_dsl:MatchPhraseQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + analyzer: + description: Analyzer used to convert the text in the query value into tokens. + type: string + query: + description: Query terms that are analyzed and turned into a phrase query. + type: string + slop: + description: Maximum number of positions allowed between matching tokens. + type: number + zero_terms_query: + $ref: '#/components/schemas/_common.query_dsl:ZeroTermsQuery' + required: + - query + _common.query_dsl:MatchQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + analyzer: + description: Analyzer used to convert the text in the query value into tokens. + type: string + auto_generate_synonyms_phrase_query: + description: If `true`, match phrase queries are automatically created for multi-term synonyms. + type: boolean + cutoff_frequency: + deprecated: true + type: number + fuzziness: + $ref: '#/components/schemas/_common:Fuzziness' + fuzzy_rewrite: + $ref: '#/components/schemas/_common:MultiTermQueryRewrite' + fuzzy_transpositions: + description: If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`). + type: boolean + lenient: + description: If `true`, format-based errors, such as providing a text query value for a numeric field, are ignored. + type: boolean + max_expansions: + description: Maximum number of terms to which the query will expand. + type: number + minimum_should_match: + $ref: '#/components/schemas/_common:MinimumShouldMatch' + operator: + $ref: '#/components/schemas/_common.query_dsl:Operator' + prefix_length: + description: Number of beginning characters left unchanged for fuzzy matching. + type: number + query: + description: Text, number, boolean value or date you wish to find in the provided field. + oneOf: + - type: string + - type: number + - type: boolean + zero_terms_query: + $ref: '#/components/schemas/_common.query_dsl:ZeroTermsQuery' + required: + - query + _common.query_dsl:MoreLikeThisQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + analyzer: + description: |- + The analyzer that is used to analyze the free form text. + Defaults to the analyzer associated with the first field in fields. + type: string + boost_terms: + description: |- + Each term in the formed query could be further boosted by their tf-idf score. + This sets the boost factor to use when using this feature. + Defaults to deactivated (0). + type: number + fail_on_unsupported_field: + description: Controls whether the query should fail (throw an exception) if any of the specified fields are not of the supported types (`text` or `keyword`). + type: boolean + fields: + description: |- + A list of fields to fetch and analyze the text from. + Defaults to the `index.query.default_field` index setting, which has a default value of `*`. + type: array + items: + $ref: '#/components/schemas/_common:Field' + include: + description: Specifies whether the input documents should also be included in the search results returned. + type: boolean + like: + description: Specifies free form text and/or a single or multiple documents for which you want to find similar documents. + oneOf: + - $ref: '#/components/schemas/_common.query_dsl:Like' + - type: array + items: + $ref: '#/components/schemas/_common.query_dsl:Like' + max_doc_freq: + description: The maximum document frequency above which the terms are ignored from the input document. + type: number + max_query_terms: + description: The maximum number of query terms that can be selected. + type: number + max_word_length: + description: |- + The maximum word length above which the terms are ignored. + Defaults to unbounded (`0`). + type: number + min_doc_freq: + description: The minimum document frequency below which the terms are ignored from the input document. + type: number + minimum_should_match: + $ref: '#/components/schemas/_common:MinimumShouldMatch' + min_term_freq: + description: The minimum term frequency below which the terms are ignored from the input document. + type: number + min_word_length: + description: The minimum word length below which the terms are ignored. + type: number + per_field_analyzer: + description: Overrides the default analyzer. + type: object + additionalProperties: + type: string + routing: + $ref: '#/components/schemas/_common:Routing' + stop_words: + $ref: '#/components/schemas/_common.analysis:StopWords' + unlike: + description: Used in combination with `like` to exclude documents that match a set of terms. + oneOf: + - $ref: '#/components/schemas/_common.query_dsl:Like' + - type: array + items: + $ref: '#/components/schemas/_common.query_dsl:Like' + version: + $ref: '#/components/schemas/_common:VersionNumber' + version_type: + $ref: '#/components/schemas/_common:VersionType' + required: + - like + _common.query_dsl:MultiMatchQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + analyzer: + description: Analyzer used to convert the text in the query value into tokens. + type: string + auto_generate_synonyms_phrase_query: + description: If `true`, match phrase queries are automatically created for multi-term synonyms. + type: boolean + cutoff_frequency: + deprecated: true + type: number + fields: + $ref: '#/components/schemas/_common:Fields' + fuzziness: + $ref: '#/components/schemas/_common:Fuzziness' + fuzzy_rewrite: + $ref: '#/components/schemas/_common:MultiTermQueryRewrite' + fuzzy_transpositions: + description: |- + If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`). + Can be applied to the term subqueries constructed for all terms but the final term. + type: boolean + lenient: + description: If `true`, format-based errors, such as providing a text query value for a numeric field, are ignored. + type: boolean + max_expansions: + description: Maximum number of terms to which the query will expand. + type: number + minimum_should_match: + $ref: '#/components/schemas/_common:MinimumShouldMatch' + operator: + $ref: '#/components/schemas/_common.query_dsl:Operator' + prefix_length: + description: Number of beginning characters left unchanged for fuzzy matching. + type: number + query: + description: Text, number, boolean value or date you wish to find in the provided field. + type: string + slop: + description: Maximum number of positions allowed between matching tokens. + type: number + tie_breaker: + description: Determines how scores for each per-term blended query and scores across groups are combined. + type: number + type: + $ref: '#/components/schemas/_common.query_dsl:TextQueryType' + zero_terms_query: + $ref: '#/components/schemas/_common.query_dsl:ZeroTermsQuery' + required: + - query + _common.query_dsl:MultiValueMode: + type: string + enum: + - avg + - max + - min + - sum + _common.query_dsl:NestedQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + ignore_unmapped: + $ref: '#/components/schemas/_common.query_dsl:IgnoreUnmapped' + description: Indicates whether to ignore an unmapped path and not return any documents instead of an error. + inner_hits: + $ref: '#/components/schemas/_core.search:InnerHits' + path: + $ref: '#/components/schemas/_common:Field' + query: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + score_mode: + $ref: '#/components/schemas/_common.query_dsl:ChildScoreMode' + required: + - path + - query + _common.query_dsl:NeuralQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + additionalProperties: + $ref: '#/components/schemas/_common.query_dsl:NeuralQueryVectorField' + _common.query_dsl:NeuralQueryVectorField: + type: object + properties: + query_text: + type: string + query_image: + type: string + contentEncoding: base64 + model_id: + type: string + k: + type: integer + min_score: + type: number + max_distance: + type: number + filter: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + _common.query_dsl:NumberRangeQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:RangeQueryBase' + - type: object + properties: + gt: + description: Greater than. + type: number + gte: + description: Greater than or equal to. + type: number + lt: + description: Less than. + type: number + lte: + description: Less than or equal to. + type: number + from: + type: + - 'null' + - number + - string + to: + type: + - 'null' + - number + - string + _common.query_dsl:NumericDecayFunction: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:DecayFunctionBase' + - type: object + _common.query_dsl:Operator: + type: string + enum: + - and + - or + _common.query_dsl:ParentIdQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + id: + $ref: '#/components/schemas/_common:Id' + ignore_unmapped: + $ref: '#/components/schemas/_common.query_dsl:IgnoreUnmapped' + description: Indicates whether to ignore an unmapped `type` and not return any documents instead of an error. + type: + $ref: '#/components/schemas/_common:RelationName' + _common.query_dsl:PercolateQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + document: + description: The source of the document being percolated. + type: object + documents: + description: An array of sources of the documents being percolated. + type: array + items: + type: object + field: + $ref: '#/components/schemas/_common:Field' + id: + $ref: '#/components/schemas/_common:Id' + index: + $ref: '#/components/schemas/_common:IndexName' + name: + description: The suffix used for the `_percolator_document_slot` field when multiple `percolate` queries are specified. + type: string + preference: + description: Preference used to fetch document to percolate. + type: string + routing: + $ref: '#/components/schemas/_common:Routing' + version: + $ref: '#/components/schemas/_common:VersionNumber' + required: + - field + _common.query_dsl:PinnedDoc: + type: object + properties: + _id: + $ref: '#/components/schemas/_common:Id' + _index: + $ref: '#/components/schemas/_common:IndexName' + required: + - _id + - _index + _common.query_dsl:PinnedQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - allOf: + - type: object + properties: + organic: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + required: + - organic + - type: object + properties: + ids: + description: |- + Document IDs listed in the order they are to appear in results. + Required if `docs` is not specified. + type: array + items: + $ref: '#/components/schemas/_common:Id' + docs: + description: |- + Documents listed in the order they are to appear in results. + Required if `ids` is not specified. + type: array + items: + $ref: '#/components/schemas/_common.query_dsl:PinnedDoc' + minProperties: 1 + maxProperties: 1 + _common.query_dsl:PrefixQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + rewrite: + $ref: '#/components/schemas/_common:MultiTermQueryRewrite' + value: + description: Beginning characters of terms you wish to find in the provided field. + type: string + case_insensitive: + description: |- + Allows ASCII case insensitive matching of the value with the indexed field values when set to `true`. + Default is `false` which means the case sensitivity of matching depends on the underlying field's mapping. + type: boolean + required: + - value + _common.query_dsl:QueryBase: + type: object + properties: + boost: + description: |- + Floating point number used to decrease or increase the relevance scores of the query. + Boost values are relative to the default value of 1.0. + A boost value between 0 and 1.0 decreases the relevance score. + A value greater than 1.0 increases the relevance score. + type: number + _name: + type: string + _common.query_dsl:QueryContainer: + type: object + properties: + bool: + $ref: '#/components/schemas/_common.query_dsl:BoolQuery' + boosting: + $ref: '#/components/schemas/_common.query_dsl:BoostingQuery' + common: + deprecated: true + type: object + additionalProperties: + $ref: '#/components/schemas/_common.query_dsl:CommonTermsQuery' + minProperties: 1 + maxProperties: 1 + combined_fields: + $ref: '#/components/schemas/_common.query_dsl:CombinedFieldsQuery' + constant_score: + $ref: '#/components/schemas/_common.query_dsl:ConstantScoreQuery' + dis_max: + $ref: '#/components/schemas/_common.query_dsl:DisMaxQuery' + distance_feature: + $ref: '#/components/schemas/_common.query_dsl:DistanceFeatureQuery' + exists: + $ref: '#/components/schemas/_common.query_dsl:ExistsQuery' + function_score: + $ref: '#/components/schemas/_common.query_dsl:FunctionScoreQuery' + fuzzy: + description: Returns documents that contain terms similar to the search term, as measured by a Levenshtein edit distance. + type: object + additionalProperties: + $ref: '#/components/schemas/_common.query_dsl:FuzzyQuery' + minProperties: 1 + maxProperties: 1 + geo_bounding_box: + $ref: '#/components/schemas/_common.query_dsl:GeoBoundingBoxQuery' + geo_distance: + $ref: '#/components/schemas/_common.query_dsl:GeoDistanceQuery' + geo_polygon: + $ref: '#/components/schemas/_common.query_dsl:GeoPolygonQuery' + geo_shape: + $ref: '#/components/schemas/_common.query_dsl:GeoShapeQuery' + has_child: + $ref: '#/components/schemas/_common.query_dsl:HasChildQuery' + has_parent: + $ref: '#/components/schemas/_common.query_dsl:HasParentQuery' + ids: + $ref: '#/components/schemas/_common.query_dsl:IdsQuery' + intervals: + description: Returns documents based on the order and proximity of matching terms. + type: object + additionalProperties: + $ref: '#/components/schemas/_common.query_dsl:IntervalsQuery' + minProperties: 1 + maxProperties: 1 + match: + description: |- + Returns documents that match a provided text, number, date or boolean value. + The provided text is analyzed before matching. + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/_common.query_dsl:MatchQuery' + - {} + minProperties: 1 + maxProperties: 1 + match_all: + $ref: '#/components/schemas/_common.query_dsl:MatchAllQuery' + match_bool_prefix: + description: |- + Analyzes its input and constructs a `bool` query from the terms. + Each term except the last is used in a `term` query. + The last term is used in a prefix query. + type: object + additionalProperties: + $ref: '#/components/schemas/_common.query_dsl:MatchBoolPrefixQuery' + minProperties: 1 + maxProperties: 1 + match_none: + $ref: '#/components/schemas/_common.query_dsl:MatchNoneQuery' + match_phrase: + description: Analyzes the text and creates a phrase query out of the analyzed text. + type: object + additionalProperties: + $ref: '#/components/schemas/_common.query_dsl:MatchPhraseQuery' + minProperties: 1 + maxProperties: 1 + match_phrase_prefix: + description: |- + Returns documents that contain the words of a provided text, in the same order as provided. + The last term of the provided text is treated as a prefix, matching any words that begin with that term. + type: object + additionalProperties: + $ref: '#/components/schemas/_common.query_dsl:MatchPhrasePrefixQuery' + minProperties: 1 + maxProperties: 1 + more_like_this: + $ref: '#/components/schemas/_common.query_dsl:MoreLikeThisQuery' + multi_match: + $ref: '#/components/schemas/_common.query_dsl:MultiMatchQuery' + nested: + $ref: '#/components/schemas/_common.query_dsl:NestedQuery' + neural: + $ref: '#/components/schemas/_common.query_dsl:NeuralQuery' + parent_id: + $ref: '#/components/schemas/_common.query_dsl:ParentIdQuery' + percolate: + $ref: '#/components/schemas/_common.query_dsl:PercolateQuery' + pinned: + $ref: '#/components/schemas/_common.query_dsl:PinnedQuery' + prefix: + description: Returns documents that contain a specific prefix in a provided field. + type: object + additionalProperties: + $ref: '#/components/schemas/_common.query_dsl:PrefixQuery' + minProperties: 1 + maxProperties: 1 + query_string: + $ref: '#/components/schemas/_common.query_dsl:QueryStringQuery' + range: + description: Returns documents that contain terms within a provided range. + type: object + additionalProperties: + $ref: '#/components/schemas/_common.query_dsl:RangeQuery' + minProperties: 1 + maxProperties: 1 + rank_feature: + $ref: '#/components/schemas/_common.query_dsl:RankFeatureQuery' + regexp: + description: Returns documents that contain terms matching a regular expression. + type: object + additionalProperties: + $ref: '#/components/schemas/_common.query_dsl:RegexpQuery' + minProperties: 1 + maxProperties: 1 + rule_query: + $ref: '#/components/schemas/_common.query_dsl:RuleQuery' + script: + $ref: '#/components/schemas/_common.query_dsl:ScriptQuery' + script_score: + $ref: '#/components/schemas/_common.query_dsl:ScriptScoreQuery' + shape: + $ref: '#/components/schemas/_common.query_dsl:ShapeQuery' + simple_query_string: + $ref: '#/components/schemas/_common.query_dsl:SimpleQueryStringQuery' + span_containing: + $ref: '#/components/schemas/_common.query_dsl:SpanContainingQuery' + field_masking_span: + $ref: '#/components/schemas/_common.query_dsl:SpanFieldMaskingQuery' + span_first: + $ref: '#/components/schemas/_common.query_dsl:SpanFirstQuery' + span_multi: + $ref: '#/components/schemas/_common.query_dsl:SpanMultiTermQuery' + span_near: + $ref: '#/components/schemas/_common.query_dsl:SpanNearQuery' + span_not: + $ref: '#/components/schemas/_common.query_dsl:SpanNotQuery' + span_or: + $ref: '#/components/schemas/_common.query_dsl:SpanOrQuery' + span_term: + description: Matches spans containing a term. + type: object + additionalProperties: + $ref: '#/components/schemas/_common.query_dsl:SpanTermQuery' + minProperties: 1 + maxProperties: 1 + span_within: + $ref: '#/components/schemas/_common.query_dsl:SpanWithinQuery' + term: + description: |- + Returns documents that contain an exact term in a provided field. + To return a document, the query term must exactly match the queried field's value, including whitespace and capitalization. + type: object + additionalProperties: + anyOf: + - $ref: '#/components/schemas/_common.query_dsl:TermQuery' + - $ref: '#/components/schemas/_common:FieldValue' + minProperties: 1 + maxProperties: 1 + terms: + $ref: '#/components/schemas/_common.query_dsl:TermsQuery' + terms_set: + description: |- + Returns documents that contain a minimum number of exact terms in a provided field. + To return a document, a required number of terms must exactly match the field values, including whitespace and capitalization. + type: object + additionalProperties: + $ref: '#/components/schemas/_common.query_dsl:TermsSetQuery' + minProperties: 1 + maxProperties: 1 + text_expansion: + description: Uses a natural language processing model to convert the query text into a list of token-weight pairs which are then used in a query against a sparse vector or rank features field. + type: object + additionalProperties: + $ref: '#/components/schemas/_common.query_dsl:TextExpansionQuery' + minProperties: 1 + maxProperties: 1 + weighted_tokens: + description: Supports returning text_expansion query results by sending in precomputed tokens with the query. + type: object + additionalProperties: + $ref: '#/components/schemas/_common.query_dsl:WeightedTokensQuery' + minProperties: 1 + maxProperties: 1 + wildcard: + description: Returns documents that contain terms matching a wildcard pattern. + type: object + additionalProperties: + $ref: '#/components/schemas/_common.query_dsl:WildcardQuery' + minProperties: 1 + maxProperties: 1 + wrapper: + $ref: '#/components/schemas/_common.query_dsl:WrapperQuery' + type: + $ref: '#/components/schemas/_common.query_dsl:TypeQuery' + minProperties: 1 + maxProperties: 1 + _common.query_dsl:QueryStringQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + allow_leading_wildcard: + description: If `true`, the wildcard characters `*` and `?` are allowed as the first character of the query string. + type: boolean + analyzer: + description: Analyzer used to convert text in the query string into tokens. + type: string + analyze_wildcard: + description: If `true`, the query attempts to analyze wildcard terms in the query string. + type: boolean + auto_generate_synonyms_phrase_query: + description: If `true`, match phrase queries are automatically created for multi-term synonyms. + type: boolean + default_field: + $ref: '#/components/schemas/_common:Field' + default_operator: + $ref: '#/components/schemas/_common.query_dsl:Operator' + enable_position_increments: + description: If `true`, enable position increments in queries constructed from a `query_string` search. + type: boolean + escape: + type: boolean + fields: + description: Array of fields to search. Supports wildcards (`*`). + type: array + items: + $ref: '#/components/schemas/_common:Field' + fuzziness: + $ref: '#/components/schemas/_common:Fuzziness' + fuzzy_max_expansions: + description: Maximum number of terms to which the query expands for fuzzy matching. + type: number + fuzzy_prefix_length: + description: Number of beginning characters left unchanged for fuzzy matching. + type: number + fuzzy_rewrite: + $ref: '#/components/schemas/_common:MultiTermQueryRewrite' + fuzzy_transpositions: + description: If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`). + type: boolean + lenient: + description: If `true`, format-based errors, such as providing a text value for a numeric field, are ignored. + type: boolean + max_determinized_states: + description: Maximum number of automaton states required for the query. + type: number + minimum_should_match: + $ref: '#/components/schemas/_common:MinimumShouldMatch' + phrase_slop: + description: Maximum number of positions allowed between matching tokens for phrases. + type: number + query: + description: Query string you wish to parse and use for search. + type: string + quote_analyzer: + description: |- + Analyzer used to convert quoted text in the query string into tokens. + For quoted text, this parameter overrides the analyzer specified in the `analyzer` parameter. + type: string + quote_field_suffix: + description: |- + Suffix appended to quoted text in the query string. + You can use this suffix to use a different analysis method for exact matches. + type: string + rewrite: + $ref: '#/components/schemas/_common:MultiTermQueryRewrite' + tie_breaker: + description: How to combine the queries generated from the individual search terms in the resulting `dis_max` query. + type: number + time_zone: + $ref: '#/components/schemas/_common:TimeZone' + type: + $ref: '#/components/schemas/_common.query_dsl:TextQueryType' + required: + - query + _common.query_dsl:RandomScoreFunction: + type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + seed: + oneOf: + - type: number + - type: string + _common.query_dsl:RangeQuery: + oneOf: + - $ref: '#/components/schemas/_common.query_dsl:DateRangeQuery' + - $ref: '#/components/schemas/_common.query_dsl:NumberRangeQuery' + _common.query_dsl:RangeQueryBase: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + relation: + $ref: '#/components/schemas/_common.query_dsl:RangeRelation' + _common.query_dsl:RangeRelation: + type: string + enum: + - contains + - intersects + - within + _common.query_dsl:RankFeatureFunction: + type: object + _common.query_dsl:RankFeatureFunctionLinear: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:RankFeatureFunction' + - type: object + _common.query_dsl:RankFeatureFunctionLogarithm: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:RankFeatureFunction' + - type: object + properties: + scaling_factor: + description: Configurable scaling factor. + type: number + required: + - scaling_factor + _common.query_dsl:RankFeatureFunctionSaturation: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:RankFeatureFunction' + - type: object + properties: + pivot: + description: Configurable pivot value so that the result will be less than 0.5. + type: number + _common.query_dsl:RankFeatureFunctionSigmoid: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:RankFeatureFunction' + - type: object + properties: + pivot: + description: Configurable pivot value so that the result will be less than 0.5. + type: number + exponent: + description: Configurable Exponent. + type: number + required: + - exponent + - pivot + _common.query_dsl:RankFeatureQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + saturation: + $ref: '#/components/schemas/_common.query_dsl:RankFeatureFunctionSaturation' + log: + $ref: '#/components/schemas/_common.query_dsl:RankFeatureFunctionLogarithm' + linear: + $ref: '#/components/schemas/_common.query_dsl:RankFeatureFunctionLinear' + sigmoid: + $ref: '#/components/schemas/_common.query_dsl:RankFeatureFunctionSigmoid' + required: + - field + _common.query_dsl:RegexpQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + case_insensitive: + description: |- + Allows case insensitive matching of the regular expression value with the indexed field values when set to `true`. + When `false`, case sensitivity of matching depends on the underlying field's mapping. + type: boolean + flags: + description: Enables optional operators for the regular expression. + type: string + max_determinized_states: + description: Maximum number of automaton states required for the query. + type: number + rewrite: + $ref: '#/components/schemas/_common:MultiTermQueryRewrite' + value: + description: Regular expression for terms you wish to find in the provided field. + type: string + required: + - value + _common.query_dsl:RuleQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + organic: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + ruleset_id: + $ref: '#/components/schemas/_common:Id' + match_criteria: + type: object + required: + - match_criteria + - organic + - ruleset_id + _common.query_dsl:ScriptQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + script: + $ref: '#/components/schemas/_common:Script' + required: + - script + _common.query_dsl:ScriptScoreFunction: + type: object + properties: + script: + $ref: '#/components/schemas/_common:Script' + required: + - script + _common.query_dsl:ScriptScoreQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + min_score: + description: Documents with a score lower than this floating point number are excluded from the search results. + type: number + query: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + script: + $ref: '#/components/schemas/_common:Script' + required: + - query + - script + _common.query_dsl:ShapeQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + ignore_unmapped: + $ref: '#/components/schemas/_common.query_dsl:IgnoreUnmapped' + _common.query_dsl:SimpleQueryStringFlag: + type: string + enum: + - ALL + - AND + - ESCAPE + - FUZZY + - NEAR + - NONE + - NOT + - OR + - PHRASE + - PRECEDENCE + - PREFIX + - SLOP + - WHITESPACE + _common.query_dsl:SimpleQueryStringFlags: + description: Query flags can be either a single flag or a combination of flags, e.g. `OR|AND|PREFIX`. + allOf: + - $ref: '#/components/schemas/_common:PipeSeparatedFlagsSimpleQueryStringFlag' + _common.query_dsl:SimpleQueryStringQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + analyzer: + description: Analyzer used to convert text in the query string into tokens. + type: string + analyze_wildcard: + description: If `true`, the query attempts to analyze wildcard terms in the query string. + type: boolean + auto_generate_synonyms_phrase_query: + description: If `true`, the parser creates a match_phrase query for each multi-position token. + type: boolean + default_operator: + $ref: '#/components/schemas/_common.query_dsl:Operator' + fields: + description: |- + Array of fields you wish to search. + Accepts wildcard expressions. + You also can boost relevance scores for matches to particular fields using a caret (`^`) notation. + Defaults to the `index.query.default_field index` setting, which has a default value of `*`. + type: array + items: + $ref: '#/components/schemas/_common:Field' + flags: + $ref: '#/components/schemas/_common.query_dsl:SimpleQueryStringFlags' + fuzzy_max_expansions: + description: Maximum number of terms to which the query expands for fuzzy matching. + type: number + fuzzy_prefix_length: + description: Number of beginning characters left unchanged for fuzzy matching. + type: number + fuzzy_transpositions: + description: If `true`, edits for fuzzy matching include transpositions of two adjacent characters (for example, `ab` to `ba`). + type: boolean + lenient: + description: If `true`, format-based errors, such as providing a text value for a numeric field, are ignored. + type: boolean + minimum_should_match: + $ref: '#/components/schemas/_common:MinimumShouldMatch' + query: + description: Query string in the simple query string syntax you wish to parse and use for search. + type: string + quote_field_suffix: + description: Suffix appended to quoted text in the query string. + type: string + required: + - query + _common.query_dsl:SpanContainingQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + big: + $ref: '#/components/schemas/_common.query_dsl:SpanQuery' + little: + $ref: '#/components/schemas/_common.query_dsl:SpanQuery' + required: + - big + - little + _common.query_dsl:SpanFieldMaskingQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + query: + $ref: '#/components/schemas/_common.query_dsl:SpanQuery' + required: + - field + - query + _common.query_dsl:SpanFirstQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + end: + description: Controls the maximum end position permitted in a match. + type: number + match: + $ref: '#/components/schemas/_common.query_dsl:SpanQuery' + required: + - end + - match + _common.query_dsl:SpanGapQuery: + description: Can only be used as a clause in a span_near query. + type: object + additionalProperties: + type: number + minProperties: 1 + maxProperties: 1 + _common.query_dsl:SpanMultiTermQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + match: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + required: + - match + _common.query_dsl:SpanNearQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + clauses: + description: Array of one or more other span type queries. + type: array + items: + $ref: '#/components/schemas/_common.query_dsl:SpanQuery' + in_order: + description: Controls whether matches are required to be in-order. + type: boolean + slop: + description: Controls the maximum number of intervening unmatched positions permitted. + type: number + required: + - clauses + _common.query_dsl:SpanNotQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + dist: + description: |- + The number of tokens from within the include span that can't have overlap with the exclude span. + Equivalent to setting both `pre` and `post`. + type: number + exclude: + $ref: '#/components/schemas/_common.query_dsl:SpanQuery' + include: + $ref: '#/components/schemas/_common.query_dsl:SpanQuery' + post: + description: The number of tokens after the include span that can't have overlap with the exclude span. + type: number + pre: + description: The number of tokens before the include span that can't have overlap with the exclude span. + type: number + required: + - exclude + - include + _common.query_dsl:SpanOrQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + clauses: + description: Array of one or more other span type queries. + type: array + items: + $ref: '#/components/schemas/_common.query_dsl:SpanQuery' + required: + - clauses + _common.query_dsl:SpanQuery: + type: object + properties: + span_containing: + $ref: '#/components/schemas/_common.query_dsl:SpanContainingQuery' + field_masking_span: + $ref: '#/components/schemas/_common.query_dsl:SpanFieldMaskingQuery' + span_first: + $ref: '#/components/schemas/_common.query_dsl:SpanFirstQuery' + span_gap: + $ref: '#/components/schemas/_common.query_dsl:SpanGapQuery' + span_multi: + $ref: '#/components/schemas/_common.query_dsl:SpanMultiTermQuery' + span_near: + $ref: '#/components/schemas/_common.query_dsl:SpanNearQuery' + span_not: + $ref: '#/components/schemas/_common.query_dsl:SpanNotQuery' + span_or: + $ref: '#/components/schemas/_common.query_dsl:SpanOrQuery' + span_term: + description: The equivalent of the `term` query but for use with other span queries. + type: object + additionalProperties: + $ref: '#/components/schemas/_common.query_dsl:SpanTermQuery' + minProperties: 1 + maxProperties: 1 + span_within: + $ref: '#/components/schemas/_common.query_dsl:SpanWithinQuery' + minProperties: 1 + maxProperties: 1 + _common.query_dsl:SpanTermQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + value: + type: string + required: + - value + _common.query_dsl:SpanWithinQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + big: + $ref: '#/components/schemas/_common.query_dsl:SpanQuery' + little: + $ref: '#/components/schemas/_common.query_dsl:SpanQuery' + required: + - big + - little + _common.query_dsl:TermQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + value: + $ref: '#/components/schemas/_common:FieldValue' + case_insensitive: + description: |- + Allows ASCII case insensitive matching of the value with the indexed field values when set to `true`. + When `false`, the case sensitivity of matching depends on the underlying field's mapping. + type: boolean + required: + - value + _common.query_dsl:TermsQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + _common.query_dsl:TermsSetQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + minimum_should_match_field: + $ref: '#/components/schemas/_common:Field' + minimum_should_match_script: + $ref: '#/components/schemas/_common:Script' + terms: + description: Array of terms you wish to find in the provided field. + type: array + items: + type: string + required: + - terms + _common.query_dsl:TextExpansionQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + model_id: + description: The text expansion NLP model to use + type: string + model_text: + description: The query text + type: string + pruning_config: + $ref: '#/components/schemas/_common.query_dsl:TokenPruningConfig' + required: + - model_id + - model_text + _common.query_dsl:TextQueryType: + type: string + enum: + - best_fields + - bool_prefix + - cross_fields + - most_fields + - phrase + - phrase_prefix + _common.query_dsl:TokenPruningConfig: + type: object + properties: + tokens_freq_ratio_threshold: + description: Tokens whose frequency is more than this threshold times the average frequency of all tokens in the specified field are considered outliers and pruned. + type: number + tokens_weight_threshold: + description: Tokens whose weight is less than this threshold are considered nonsignificant and pruned. + type: number + only_score_pruned_tokens: + description: Whether to only score pruned tokens, vs only scoring kept tokens. + type: boolean + _common.query_dsl:TypeQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + value: + type: string + required: + - value + _common.query_dsl:WeightedTokensQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + tokens: + description: The tokens representing this query + type: object + additionalProperties: + type: number + pruning_config: + $ref: '#/components/schemas/_common.query_dsl:TokenPruningConfig' + required: + - tokens + _common.query_dsl:WildcardQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + case_insensitive: + description: Allows case insensitive matching of the pattern with the indexed field values when set to `true`. Default is `false` which means the case sensitivity of matching depends on the underlying field's mapping. + type: boolean + rewrite: + $ref: '#/components/schemas/_common:MultiTermQueryRewrite' + value: + description: Wildcard pattern for terms you wish to find in the provided field. Required, when wildcard is not set. + type: string + wildcard: + description: Wildcard pattern for terms you wish to find in the provided field. Required, when value is not set. + type: string + _common.query_dsl:WrapperQuery: + allOf: + - $ref: '#/components/schemas/_common.query_dsl:QueryBase' + - type: object + properties: + query: + description: |- + A base64 encoded query. + The binary data format can be any of JSON, YAML, CBOR or SMILE encodings + type: string + required: + - query + _common.query_dsl:ZeroTermsQuery: + type: string + enum: + - all + - none + _core._common:DeletedPit: + type: object + properties: + successful: + type: boolean + pit_id: + type: string + _core._common:PitDetail: + type: object + properties: + pit_id: + type: string + creation_time: + type: integer + format: int64 + keep_alive: + type: integer + format: int64 + _core._common:PitsDetailsDeleteAll: + type: object + properties: + successful: + type: boolean + pit_id: + type: string + _core._common:ShardStatistics: + type: object + properties: + total: + type: integer + format: int32 + successful: + type: integer + format: int32 + skipped: + type: integer + format: int32 + failed: + type: integer + format: int32 + _core.bulk:CreateOperation: + allOf: + - $ref: '#/components/schemas/_core.bulk:WriteOperation' + - type: object + _core.bulk:DeleteOperation: + allOf: + - $ref: '#/components/schemas/_core.bulk:OperationBase' + - type: object + _core.bulk:IndexOperation: + allOf: + - $ref: '#/components/schemas/_core.bulk:WriteOperation' + - type: object + _core.bulk:OperationBase: + type: object + properties: + _id: + $ref: '#/components/schemas/_common:Id' + _index: + $ref: '#/components/schemas/_common:IndexName' + routing: + $ref: '#/components/schemas/_common:Routing' + if_primary_term: + type: number + if_seq_no: + $ref: '#/components/schemas/_common:SequenceNumber' + version: + $ref: '#/components/schemas/_common:VersionNumber' + version_type: + $ref: '#/components/schemas/_common:VersionType' + _core.bulk:OperationContainer: + type: object + properties: + index: + $ref: '#/components/schemas/_core.bulk:IndexOperation' + create: + $ref: '#/components/schemas/_core.bulk:CreateOperation' + update: + $ref: '#/components/schemas/_core.bulk:UpdateOperation' + delete: + $ref: '#/components/schemas/_core.bulk:DeleteOperation' + minProperties: 1 + maxProperties: 1 + _core.bulk:ResponseItem: + type: object + properties: + _type: + description: The document type. + type: string + x-version-removed: '2.0' + _id: + description: The document ID associated with the operation. + type: + - 'null' + - string + _index: + description: |- + Name of the index associated with the operation. + If the operation targeted a data stream, this is the backing index into which the document was written. + type: string + status: + description: HTTP status code returned for the operation. + type: number + error: + $ref: '#/components/schemas/_common:ErrorCause' + _primary_term: + description: The primary term assigned to the document for the operation. + type: number + result: + description: |- + Result of the operation. + Successful values are `created`, `deleted`, and `updated`. + type: string + _seq_no: + $ref: '#/components/schemas/_common:SequenceNumber' + _shards: + $ref: '#/components/schemas/_common:ShardStatistics' + _version: + $ref: '#/components/schemas/_common:VersionNumber' + forced_refresh: + type: boolean + get: + $ref: '#/components/schemas/_common:InlineGetDictUserDefined' + required: + - _index + - status + _core.bulk:UpdateAction: + type: object + properties: + detect_noop: + description: |- + Set to false to disable setting 'result' in the response + to 'noop' if no change to the document occurred. + type: boolean + doc: + description: A partial update to an existing document. + type: object + doc_as_upsert: + description: Set to true to use the contents of 'doc' as the value of 'upsert' + type: boolean + script: + $ref: '#/components/schemas/_common:Script' + scripted_upsert: + description: Set to true to execute the script whether or not the document exists. + type: boolean + _source: + $ref: '#/components/schemas/_core.search:SourceConfig' + upsert: + description: |- + If the document does not already exist, the contents of 'upsert' are inserted as a + new document. If the document exists, the 'script' is executed. + type: object + _core.bulk:UpdateOperation: + allOf: + - $ref: '#/components/schemas/_core.bulk:OperationBase' + - type: object + properties: + require_alias: + description: If `true`, the request's actions must target an index alias. + type: boolean + retry_on_conflict: + type: number + _core.bulk:WriteOperation: + allOf: + - $ref: '#/components/schemas/_core.bulk:OperationBase' + - type: object + properties: + dynamic_templates: + description: |- + A map from the full name of fields to the name of dynamic templates. + Defaults to an empty map. + If a name matches a dynamic template, then that template will be applied regardless of other match predicates defined in the template. + If a field is already defined in the mapping, then this parameter won't be used. + type: object + additionalProperties: + type: string + pipeline: + description: |- + ID of the pipeline to use to preprocess incoming documents. + If the index has a default ingest pipeline specified, then setting the value to `_none` disables the default ingest pipeline for this request. + If a final pipeline is configured it will always run, regardless of the value of this parameter. + type: string + require_alias: + description: If `true`, the request's actions must target an index alias. + type: boolean + _core.explain:Explanation: + type: object + properties: + description: + type: string + details: + type: array + items: + $ref: '#/components/schemas/_core.explain:ExplanationDetail' + value: + type: number + required: + - description + - details + - value + _core.explain:ExplanationDetail: + type: object + properties: + description: + type: string + details: + type: array + items: + $ref: '#/components/schemas/_core.explain:ExplanationDetail' + value: + type: number + required: + - description + - value + _core.field_caps:FieldCapability: + type: object + properties: + aggregatable: + description: Whether this field can be aggregated on all indices. + type: boolean + indices: + $ref: '#/components/schemas/_common:Indices' + meta: + $ref: '#/components/schemas/_common:Metadata' + non_aggregatable_indices: + $ref: '#/components/schemas/_common:Indices' + non_searchable_indices: + $ref: '#/components/schemas/_common:Indices' + searchable: + description: Whether this field is indexed for search on all indices. + type: boolean + type: + type: string + metadata_field: + description: Whether this field is registered as a metadata field. + type: boolean + time_series_dimension: + description: Whether this field is used as a time series dimension. + type: boolean + time_series_metric: + $ref: '#/components/schemas/_common.mapping:TimeSeriesMetricType' + non_dimension_indices: + description: |- + If this list is present in response then some indices have the + field marked as a dimension and other indices, the ones in this list, do not. + type: array + items: + $ref: '#/components/schemas/_common:IndexName' + metric_conflicts_indices: + description: |- + The list of indices where this field is present if these indices + don't have the same `time_series_metric` value for this field. + type: array + items: + $ref: '#/components/schemas/_common:IndexName' + required: + - aggregatable + - searchable + - type + _core.get_script_context:Context: + type: object + properties: + methods: + type: array + items: + $ref: '#/components/schemas/_core.get_script_context:ContextMethod' + name: + $ref: '#/components/schemas/_common:Name' + required: + - methods + - name + _core.get_script_context:ContextMethod: + type: object + properties: + name: + $ref: '#/components/schemas/_common:Name' + return_type: + type: string + params: + type: array + items: + $ref: '#/components/schemas/_core.get_script_context:ContextMethodParam' + required: + - name + - params + - return_type + _core.get_script_context:ContextMethodParam: + type: object + properties: + name: + $ref: '#/components/schemas/_common:Name' + type: + type: string + required: + - name + - type + _core.get_script_languages:LanguageContext: + type: object + properties: + contexts: + type: array + items: + type: string + language: + $ref: '#/components/schemas/_common:ScriptLanguage' + required: + - contexts + - language + _core.get:GetResult: + type: object + properties: + _type: + $ref: '#/components/schemas/_common:Type' + _index: + $ref: '#/components/schemas/_common:IndexName' + fields: + type: object + additionalProperties: + type: object + found: + type: boolean + _id: + $ref: '#/components/schemas/_common:Id' + _primary_term: + type: number + _routing: + type: string + _seq_no: + $ref: '#/components/schemas/_common:SequenceNumber' + _source: + type: object + _version: + $ref: '#/components/schemas/_common:VersionNumber' + required: + - _id + - _index + - found + _core.mget:MultiGetError: + type: object + properties: + error: + $ref: '#/components/schemas/_common:ErrorCause' + _id: + $ref: '#/components/schemas/_common:Id' + _index: + $ref: '#/components/schemas/_common:IndexName' + required: + - _id + - _index + - error + _core.mget:Operation: + type: object + properties: + _id: + $ref: '#/components/schemas/_common:Id' + _index: + $ref: '#/components/schemas/_common:IndexName' + routing: + $ref: '#/components/schemas/_common:Routing' + _source: + $ref: '#/components/schemas/_core.search:SourceConfig' + stored_fields: + $ref: '#/components/schemas/_common:Fields' + version: + $ref: '#/components/schemas/_common:VersionNumber' + version_type: + $ref: '#/components/schemas/_common:VersionType' + required: + - _id + _core.mget:ResponseItem: + oneOf: + - $ref: '#/components/schemas/_core.get:GetResult' + - $ref: '#/components/schemas/_core.mget:MultiGetError' + _core.msearch_template:RequestItem: + oneOf: + - $ref: '#/components/schemas/_core.msearch:MultisearchHeader' + - $ref: '#/components/schemas/_core.msearch_template:TemplateConfig' + _core.msearch_template:TemplateConfig: + type: object + properties: + explain: + description: If `true`, returns detailed information about score calculation as part of each hit. + type: boolean + id: + $ref: '#/components/schemas/_common:Id' + params: + description: |- + Key-value pairs used to replace Mustache variables in the template. + The key is the variable name. + The value is the variable value. + type: object + additionalProperties: + type: object + profile: + description: If `true`, the query execution is profiled. + type: boolean + source: + description: |- + An inline search template. Supports the same parameters as the search API's + request body. Also supports Mustache variables. If no id is specified, this + parameter is required. + type: string + _core.msearch:MultisearchBody: + type: object + properties: + aggregations: + type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:AggregationContainer' + collapse: + $ref: '#/components/schemas/_core.search:FieldCollapse' + query: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + explain: + description: If true, returns detailed information about score computation as part of a hit. + type: boolean + ext: + description: Configuration of search extensions defined by OpenSearch plugins. + type: object + additionalProperties: + type: object + stored_fields: + $ref: '#/components/schemas/_common:Fields' + docvalue_fields: + description: |- + Array of wildcard (*) patterns. The request returns doc values for field + names matching these patterns in the hits.fields property of the response. + type: array + items: + $ref: '#/components/schemas/_common.query_dsl:FieldAndFormat' + knn: + description: Defines the approximate kNN search to run. + oneOf: + - $ref: '#/components/schemas/_common:KnnQuery' + - type: array + items: + $ref: '#/components/schemas/_common:KnnQuery' + from: + description: |- + Starting document offset. By default, you cannot page through more than 10,000 + hits using the from and size parameters. To page through more hits, use the + search_after parameter. + type: number + highlight: + $ref: '#/components/schemas/_core.search:Highlight' + indices_boost: + description: Boosts the _score of documents from specified indices. + type: array + items: + type: object + additionalProperties: + type: number + min_score: + description: |- + Minimum _score for matching documents. Documents with a lower _score are + not included in the search results. + type: number + post_filter: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + profile: + type: boolean + rescore: + oneOf: + - $ref: '#/components/schemas/_core.search:Rescore' + - type: array + items: + $ref: '#/components/schemas/_core.search:Rescore' + script_fields: + description: Retrieve a script evaluation (based on different fields) for each hit. + type: object + additionalProperties: + $ref: '#/components/schemas/_common:ScriptField' + search_after: + $ref: '#/components/schemas/_common:SortResults' + size: + description: |- + The number of hits to return. By default, you cannot page through more + than 10,000 hits using the from and size parameters. To page through more + hits, use the search_after parameter. + type: number + sort: + $ref: '#/components/schemas/_common:Sort' + _source: + $ref: '#/components/schemas/_core.search:SourceConfig' + fields: + description: |- + Array of wildcard (*) patterns. The request returns values for field names + matching these patterns in the hits.fields property of the response. + type: array + items: + $ref: '#/components/schemas/_common.query_dsl:FieldAndFormat' + terminate_after: + description: |- + Maximum number of documents to collect for each shard. If a query reaches this + limit, OpenSearch terminates the query early. OpenSearch collects documents + before sorting. Defaults to 0, which does not terminate query execution early. + type: number + stats: + description: |- + Stats groups to associate with the search. Each group maintains a statistics + aggregation for its associated searches. You can retrieve these stats using + the indices stats API. + type: array + items: + type: string + timeout: + description: |- + Specifies the period of time to wait for a response from each shard. If no response + is received before the timeout expires, the request fails and returns an error. + Defaults to no timeout. + type: string + track_scores: + description: If true, calculate and return document scores, even if the scores are not used for sorting. + type: boolean + track_total_hits: + $ref: '#/components/schemas/_core.search:TrackHits' + version: + description: If true, returns document version as part of a hit. + type: boolean + runtime_mappings: + $ref: '#/components/schemas/_common.mapping:RuntimeFields' + seq_no_primary_term: + description: |- + If true, returns sequence number and primary term of the last modification + of each hit. See Optimistic concurrency control. + type: boolean + pit: + $ref: '#/components/schemas/_core.search:PointInTimeReference' + suggest: + $ref: '#/components/schemas/_core.search:Suggester' + _core.msearch:MultisearchHeader: + type: object + properties: + allow_no_indices: + type: boolean + expand_wildcards: + $ref: '#/components/schemas/_common:ExpandWildcards' + ignore_unavailable: + type: boolean + index: + $ref: '#/components/schemas/_common:Indices' + preference: + type: string + request_cache: + type: boolean + routing: + $ref: '#/components/schemas/_common:Routing' + search_type: + $ref: '#/components/schemas/_common:SearchType' + ccs_minimize_roundtrips: + type: boolean + allow_partial_search_results: + type: boolean + ignore_throttled: + type: boolean + _core.msearch:MultiSearchItem: + allOf: + - $ref: '#/components/schemas/_core.search:ResponseBody' + - type: object + properties: + status: + type: number + _core.msearch:MultiSearchResult: + type: object + properties: + took: + type: number + responses: + type: array + items: + $ref: '#/components/schemas/_core.msearch:ResponseItem' + required: + - responses + - took + _core.msearch:RequestItem: + oneOf: + - $ref: '#/components/schemas/_core.msearch:MultisearchHeader' + - $ref: '#/components/schemas/_core.msearch:MultisearchBody' + _core.msearch:ResponseItem: + oneOf: + - $ref: '#/components/schemas/_core.msearch:MultiSearchItem' + - $ref: '#/components/schemas/_common:ErrorResponseBase' + _core.mtermvectors:Operation: + type: object + properties: + _id: + $ref: '#/components/schemas/_common:Id' + _index: + $ref: '#/components/schemas/_common:IndexName' + doc: + description: An artificial document (a document not present in the index) for which you want to retrieve term vectors. + type: object + fields: + $ref: '#/components/schemas/_common:Fields' + field_statistics: + description: If `true`, the response includes the document count, sum of document frequencies, and sum of total term frequencies. + type: boolean + filter: + $ref: '#/components/schemas/_core.termvectors:Filter' + offsets: + description: If `true`, the response includes term offsets. + type: boolean + payloads: + description: If `true`, the response includes term payloads. + type: boolean + positions: + description: If `true`, the response includes term positions. + type: boolean + routing: + $ref: '#/components/schemas/_common:Routing' + term_statistics: + description: If true, the response includes term frequency and document frequency. + type: boolean + version: + $ref: '#/components/schemas/_common:VersionNumber' + version_type: + $ref: '#/components/schemas/_common:VersionType' + required: + - _id + _core.mtermvectors:TermVectorsResult: + type: object + properties: + _id: + $ref: '#/components/schemas/_common:Id' + _index: + $ref: '#/components/schemas/_common:IndexName' + _version: + $ref: '#/components/schemas/_common:VersionNumber' + took: + type: number + found: + type: boolean + term_vectors: + type: object + additionalProperties: + $ref: '#/components/schemas/_core.termvectors:TermVector' + error: + $ref: '#/components/schemas/_common:ErrorCause' + required: + - _id + - _index + _core.rank_eval:DocumentRating: + type: object + properties: + _id: + $ref: '#/components/schemas/_common:Id' + _index: + $ref: '#/components/schemas/_common:IndexName' + rating: + description: The document's relevance with regard to this search request. + type: number + required: + - _id + - _index + - rating + _core.rank_eval:RankEvalHit: + type: object + properties: + _id: + $ref: '#/components/schemas/_common:Id' + _index: + $ref: '#/components/schemas/_common:IndexName' + _score: + type: number + required: + - _id + - _index + - _score + _core.rank_eval:RankEvalHitItem: + type: object + properties: + hit: + $ref: '#/components/schemas/_core.rank_eval:RankEvalHit' + rating: + type: + - 'null' + - number + - string + required: + - hit + _core.rank_eval:RankEvalMetric: + type: object + properties: + precision: + $ref: '#/components/schemas/_core.rank_eval:RankEvalMetricPrecision' + recall: + $ref: '#/components/schemas/_core.rank_eval:RankEvalMetricRecall' + mean_reciprocal_rank: + $ref: '#/components/schemas/_core.rank_eval:RankEvalMetricMeanReciprocalRank' + dcg: + $ref: '#/components/schemas/_core.rank_eval:RankEvalMetricDiscountedCumulativeGain' + expected_reciprocal_rank: + $ref: '#/components/schemas/_core.rank_eval:RankEvalMetricExpectedReciprocalRank' + _core.rank_eval:RankEvalMetricBase: + type: object + properties: + k: + description: Sets the maximum number of documents retrieved per query. This value will act in place of the usual size parameter in the query. + type: number + _core.rank_eval:RankEvalMetricDetail: + type: object + properties: + metric_score: + description: The metric_score in the details section shows the contribution of this query to the global quality metric score + type: number + unrated_docs: + description: The unrated_docs section contains an _index and _id entry for each document in the search result for this query that didn't have a ratings value. This can be used to ask the user to supply ratings for these documents + type: array + items: + $ref: '#/components/schemas/_core.rank_eval:UnratedDocument' + hits: + description: The hits section shows a grouping of the search results with their supplied ratings + type: array + items: + $ref: '#/components/schemas/_core.rank_eval:RankEvalHitItem' + metric_details: + description: The metric_details give additional information about the calculated quality metric (e.g. how many of the retrieved documents were relevant). The content varies for each metric but allows for better interpretation of the results + type: object + additionalProperties: + type: object + additionalProperties: + type: object + required: + - hits + - metric_details + - metric_score + - unrated_docs + _core.rank_eval:RankEvalMetricDiscountedCumulativeGain: + allOf: + - $ref: '#/components/schemas/_core.rank_eval:RankEvalMetricBase' + - type: object + properties: + normalize: + description: If set to true, this metric will calculate the Normalized DCG (https://en.wikipedia.org/wiki/Discounted_cumulative_gain#Normalized_DCG). + type: boolean + _core.rank_eval:RankEvalMetricExpectedReciprocalRank: + allOf: + - $ref: '#/components/schemas/_core.rank_eval:RankEvalMetricBase' + - type: object + properties: + maximum_relevance: + description: The highest relevance grade used in the user-supplied relevance judgments. + type: number + required: + - maximum_relevance + _core.rank_eval:RankEvalMetricMeanReciprocalRank: + allOf: + - $ref: '#/components/schemas/_core.rank_eval:RankEvalMetricRatingThreshold' + - type: object + _core.rank_eval:RankEvalMetricPrecision: + allOf: + - $ref: '#/components/schemas/_core.rank_eval:RankEvalMetricRatingThreshold' + - type: object + properties: + ignore_unlabeled: + description: Controls how unlabeled documents in the search results are counted. If set to true, unlabeled documents are ignored and neither count as relevant or irrelevant. Set to false (the default), they are treated as irrelevant. + type: boolean + _core.rank_eval:RankEvalMetricRatingThreshold: + allOf: + - $ref: '#/components/schemas/_core.rank_eval:RankEvalMetricBase' + - type: object + properties: + relevant_rating_threshold: + description: Sets the rating threshold above which documents are considered to be "relevant". + type: number + _core.rank_eval:RankEvalMetricRecall: + allOf: + - $ref: '#/components/schemas/_core.rank_eval:RankEvalMetricRatingThreshold' + - type: object + _core.rank_eval:RankEvalQuery: + type: object + properties: + query: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + size: + type: number + required: + - query + _core.rank_eval:RankEvalRequestItem: + type: object + properties: + id: + $ref: '#/components/schemas/_common:Id' + request: + $ref: '#/components/schemas/_core.rank_eval:RankEvalQuery' + ratings: + description: List of document ratings + type: array + items: + $ref: '#/components/schemas/_core.rank_eval:DocumentRating' + template_id: + $ref: '#/components/schemas/_common:Id' + params: + description: The search template parameters. + type: object + additionalProperties: + type: object + required: + - id + - ratings + _core.rank_eval:UnratedDocument: + type: object + properties: + _id: + $ref: '#/components/schemas/_common:Id' + _index: + $ref: '#/components/schemas/_common:IndexName' + required: + - _id + - _index + _core.reindex_rethrottle:ReindexNode: + allOf: + - $ref: '#/components/schemas/_common:BaseNode' + - type: object + properties: + tasks: + type: object + additionalProperties: + $ref: '#/components/schemas/_core.reindex_rethrottle:ReindexTask' + required: + - tasks + _core.reindex_rethrottle:ReindexStatus: + type: object + properties: + batches: + description: The number of scroll responses pulled back by the reindex. + type: number + created: + description: The number of documents that were successfully created. + type: number + deleted: + description: The number of documents that were successfully deleted. + type: number + noops: + description: The number of documents that were ignored because the script used for the reindex returned a `noop` value for `ctx.op`. + type: number + requests_per_second: + description: The number of requests per second effectively executed during the reindex. + type: number + retries: + $ref: '#/components/schemas/_common:Retries' + throttled: + $ref: '#/components/schemas/_common:Duration' + throttled_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + throttled_until: + $ref: '#/components/schemas/_common:Duration' + throttled_until_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + total: + description: The number of documents that were successfully processed. + type: number + updated: + description: The number of documents that were successfully updated, for example, a document with same ID already existed prior to reindex updating it. + type: number + version_conflicts: + description: The number of version conflicts that reindex hits. + type: number + required: + - batches + - created + - deleted + - noops + - requests_per_second + - retries + - throttled_millis + - throttled_until_millis + - total + - updated + - version_conflicts + _core.reindex_rethrottle:ReindexTask: + type: object + properties: + action: + type: string + cancellable: + type: boolean + description: + type: string + id: + type: number + node: + $ref: '#/components/schemas/_common:Name' + running_time_in_nanos: + $ref: '#/components/schemas/_common:DurationValueUnitNanos' + start_time_in_millis: + $ref: '#/components/schemas/_common:EpochTimeUnitMillis' + status: + $ref: '#/components/schemas/_core.reindex_rethrottle:ReindexStatus' + type: + type: string + headers: + $ref: '#/components/schemas/_common:HttpHeaders' + required: + - action + - cancellable + - description + - headers + - id + - node + - running_time_in_nanos + - start_time_in_millis + - status + - type + _core.reindex:Destination: + type: object + properties: + index: + $ref: '#/components/schemas/_common:IndexName' + op_type: + $ref: '#/components/schemas/_common:OpType' + pipeline: + description: The name of the pipeline to use. + type: string + routing: + $ref: '#/components/schemas/_common:Routing' + version_type: + $ref: '#/components/schemas/_common:VersionType' + required: + - index + _core.reindex:RemoteSource: + type: object + properties: + connect_timeout: + $ref: '#/components/schemas/_common:Duration' + headers: + description: An object containing the headers of the request. + type: object + additionalProperties: + type: string + host: + $ref: '#/components/schemas/_common:Host' + username: + $ref: '#/components/schemas/_common:Username' + password: + $ref: '#/components/schemas/_common:Password' + socket_timeout: + $ref: '#/components/schemas/_common:Duration' + required: + - host + _core.reindex:Source: + type: object + properties: + index: + $ref: '#/components/schemas/_common:Indices' + query: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + remote: + $ref: '#/components/schemas/_core.reindex:RemoteSource' + size: + description: |- + The number of documents to index per batch. + Use when indexing from remote to ensure that the batches fit within the on-heap buffer, which defaults to a maximum size of 100 MB. + type: number + slice: + $ref: '#/components/schemas/_common:SlicedScroll' + sort: + $ref: '#/components/schemas/_common:Sort' + _source: + $ref: '#/components/schemas/_common:Fields' + runtime_mappings: + $ref: '#/components/schemas/_common.mapping:RuntimeFields' + required: + - index + _core.scripts_painless_execute:PainlessContextSetup: + type: object + properties: + document: + description: Document that's temporarily indexed in-memory and accessible from the script. + type: object + index: + $ref: '#/components/schemas/_common:IndexName' + query: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + required: + - document + - index + - query + _core.search_shards:ShardStoreIndex: + type: object + properties: + aliases: + type: array + items: + $ref: '#/components/schemas/_common:Name' + filter: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + _core.search:AggregationBreakdown: + type: object + properties: + build_aggregation: + type: number + build_aggregation_count: + type: number + build_leaf_collector: + type: number + build_leaf_collector_count: + type: number + collect: + type: number + collect_count: + type: number + initialize: + type: number + initialize_count: + type: number + post_collection: + type: number + post_collection_count: + type: number + reduce: + type: number + reduce_count: + type: number + required: + - build_aggregation + - build_aggregation_count + - build_leaf_collector + - build_leaf_collector_count + - collect + - collect_count + - initialize + - initialize_count + - reduce + - reduce_count + _core.search:AggregationProfile: + type: object + properties: + breakdown: + $ref: '#/components/schemas/_core.search:AggregationBreakdown' + description: + type: string + time_in_nanos: + $ref: '#/components/schemas/_common:DurationValueUnitNanos' + type: + type: string + debug: + $ref: '#/components/schemas/_core.search:AggregationProfileDebug' + children: + type: array + items: + $ref: '#/components/schemas/_core.search:AggregationProfile' + required: + - breakdown + - description + - time_in_nanos + - type + _core.search:AggregationProfileDebug: + type: object + properties: + segments_with_multi_valued_ords: + type: number + collection_strategy: + type: string + segments_with_single_valued_ords: + type: number + total_buckets: + type: number + built_buckets: + type: number + result_strategy: + type: string + has_filter: + type: boolean + delegate: + type: string + delegate_debug: + $ref: '#/components/schemas/_core.search:AggregationProfileDebug' + chars_fetched: + type: number + extract_count: + type: number + extract_ns: + type: number + values_fetched: + type: number + collect_analyzed_ns: + type: number + collect_analyzed_count: + type: number + surviving_buckets: + type: number + ordinals_collectors_used: + type: number + ordinals_collectors_overhead_too_high: + type: number + string_hashing_collectors_used: + type: number + numeric_collectors_used: + type: number + empty_collectors_used: + type: number + deferred_aggregators: + type: array + items: + type: string + segments_with_doc_count_field: + type: number + segments_with_deleted_docs: + type: number + filters: + type: array + items: + $ref: '#/components/schemas/_core.search:AggregationProfileDelegateDebugFilter' + segments_counted: + type: number + segments_collected: + type: number + map_reducer: + type: string + _core.search:AggregationProfileDelegateDebugFilter: + type: object + properties: + results_from_metadata: + type: number + query: + type: string + specialized_for: + type: string + segments_counted_in_constant_time: + type: number + _core.search:BoundaryScanner: + type: string + enum: + - chars + - sentence + - word + _core.search:Collector: + type: object + properties: + name: + type: string + reason: + type: string + time_in_nanos: + $ref: '#/components/schemas/_common:DurationValueUnitNanos' + children: + type: array + items: + $ref: '#/components/schemas/_core.search:Collector' + required: + - name + - reason + - time_in_nanos + _core.search:CompletionSuggest: + allOf: + - $ref: '#/components/schemas/_core.search:SuggestBase' + - type: object + properties: + options: + oneOf: + - $ref: '#/components/schemas/_core.search:CompletionSuggestOption' + - type: array + items: + $ref: '#/components/schemas/_core.search:CompletionSuggestOption' + required: + - options + _core.search:CompletionSuggestOption: + type: object + properties: + collate_match: + type: boolean + contexts: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/_core.search:Context' + fields: + type: object + additionalProperties: + type: object + _id: + type: string + _index: + $ref: '#/components/schemas/_common:IndexName' + _routing: + $ref: '#/components/schemas/_common:Routing' + _score: + type: number + _source: + type: object + text: + type: string + score: + type: number + required: + - text + _core.search:Context: + description: Text or location that we want similar documents for or a lookup to a document's field for the text. + oneOf: + - type: string + - $ref: '#/components/schemas/_common:GeoLocation' + _core.search:FetchProfile: + type: object + properties: + type: + type: string + description: + type: string + time_in_nanos: + $ref: '#/components/schemas/_common:DurationValueUnitNanos' + breakdown: + $ref: '#/components/schemas/_core.search:FetchProfileBreakdown' + debug: + $ref: '#/components/schemas/_core.search:FetchProfileDebug' + children: + type: array + items: + $ref: '#/components/schemas/_core.search:FetchProfile' + required: + - breakdown + - description + - time_in_nanos + - type + _core.search:FetchProfileBreakdown: + type: object + properties: + load_source: + type: number + load_source_count: + type: number + load_stored_fields: + type: number + load_stored_fields_count: + type: number + next_reader: + type: number + next_reader_count: + type: number + process_count: + type: number + process: + type: number + _core.search:FetchProfileDebug: + type: object + properties: + stored_fields: + type: array + items: + type: string + fast_path: + type: number + _core.search:FieldCollapse: + type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + inner_hits: + description: The number of inner hits and their sort order + oneOf: + - $ref: '#/components/schemas/_core.search:InnerHits' + - type: array + items: + $ref: '#/components/schemas/_core.search:InnerHits' + max_concurrent_group_searches: + description: The number of concurrent requests allowed to retrieve the inner_hits per group + type: number + collapse: + $ref: '#/components/schemas/_core.search:FieldCollapse' + required: + - field + _core.search:Highlight: + allOf: + - $ref: '#/components/schemas/_core.search:HighlightBase' + - type: object + properties: + encoder: + $ref: '#/components/schemas/_core.search:HighlighterEncoder' + fields: + type: object + additionalProperties: + $ref: '#/components/schemas/_core.search:HighlightField' + required: + - fields + _core.search:HighlightBase: + type: object + properties: + type: + $ref: '#/components/schemas/_core.search:HighlighterType' + boundary_chars: + description: A string that contains each boundary character. + type: string + boundary_max_scan: + description: How far to scan for boundary characters. + type: number + boundary_scanner: + $ref: '#/components/schemas/_core.search:BoundaryScanner' + boundary_scanner_locale: + description: |- + Controls which locale is used to search for sentence and word boundaries. + This parameter takes a form of a language tag, for example: `"en-US"`, `"fr-FR"`, `"ja-JP"`. + type: string + force_source: + deprecated: true + type: boolean + fragmenter: + $ref: '#/components/schemas/_core.search:HighlighterFragmenter' + fragment_size: + description: The size of the highlighted fragment in characters. + type: number + highlight_filter: + type: boolean + highlight_query: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + max_fragment_length: + type: number + max_analyzed_offset: + description: |- + If set to a non-negative value, highlighting stops at this defined maximum limit. + The rest of the text is not processed, thus not highlighted and no error is returned + The `max_analyzed_offset` query setting does not override the `index.highlight.max_analyzed_offset` setting, which prevails when it's set to lower value than the query setting. + type: number + no_match_size: + description: The amount of text you want to return from the beginning of the field if there are no matching fragments to highlight. + type: number + number_of_fragments: + description: |- + The maximum number of fragments to return. + If the number of fragments is set to `0`, no fragments are returned. + Instead, the entire field contents are highlighted and returned. + This can be handy when you need to highlight short texts such as a title or address, but fragmentation is not required. + If `number_of_fragments` is `0`, `fragment_size` is ignored. + type: number + options: + type: object + additionalProperties: + type: object + order: + $ref: '#/components/schemas/_core.search:HighlighterOrder' + phrase_limit: + description: |- + Controls the number of matching phrases in a document that are considered. + Prevents the `fvh` highlighter from analyzing too many phrases and consuming too much memory. + When using `matched_fields`, `phrase_limit` phrases per matched field are considered. Raising the limit increases query time and consumes more memory. + Only supported by the `fvh` highlighter. + type: number + post_tags: + description: |- + Use in conjunction with `pre_tags` to define the HTML tags to use for the highlighted text. + By default, highlighted text is wrapped in `` and `` tags. + type: array + items: + type: string + pre_tags: + description: |- + Use in conjunction with `post_tags` to define the HTML tags to use for the highlighted text. + By default, highlighted text is wrapped in `` and `` tags. + type: array + items: + type: string + require_field_match: + description: |- + By default, only fields that contains a query match are highlighted. + Set to `false` to highlight all fields. + type: boolean + tags_schema: + $ref: '#/components/schemas/_core.search:HighlighterTagsSchema' + _core.search:HighlighterEncoder: + type: string + enum: + - default + - html + _core.search:HighlighterFragmenter: + type: string + enum: + - simple + - span + _core.search:HighlighterOrder: + type: string + enum: + - score + _core.search:HighlighterTagsSchema: + type: string + enum: + - styled + _core.search:HighlighterType: + type: string + enum: + - fvh + - plain + - unified + _core.search:HighlightField: + allOf: + - $ref: '#/components/schemas/_core.search:HighlightBase' + - type: object + properties: + fragment_offset: + type: number + matched_fields: + $ref: '#/components/schemas/_common:Fields' + analyzer: + $ref: '#/components/schemas/_common.analysis:Analyzer' + _core.search:Hit: + type: object + properties: + _type: + $ref: '#/components/schemas/_common:Type' + _index: + $ref: '#/components/schemas/_common:IndexName' + _id: + $ref: '#/components/schemas/_common:Id' + _score: + type: + - 'null' + - number + - string + _explanation: + $ref: '#/components/schemas/_core.explain:Explanation' + fields: + type: object + additionalProperties: + type: object + highlight: + type: object + additionalProperties: + type: array + items: + type: string + inner_hits: + type: object + additionalProperties: + $ref: '#/components/schemas/_core.search:InnerHitsResult' + matched_queries: + type: array + items: + type: string + _nested: + $ref: '#/components/schemas/_core.search:NestedIdentity' + _ignored: + type: array + items: + type: string + ignored_field_values: + type: object + additionalProperties: + type: array + items: + type: string + _shard: + type: string + _node: + type: string + _routing: + type: string + _source: + type: object + _seq_no: + $ref: '#/components/schemas/_common:SequenceNumber' + _primary_term: + type: number + _version: + $ref: '#/components/schemas/_common:VersionNumber' + sort: + $ref: '#/components/schemas/_common:SortResults' + required: + - _id + - _index + _core.search:HitsMetadata: + type: object + properties: + total: + description: Total hit count information, present only if `track_total_hits` wasn't `false` in the search request. + oneOf: + - $ref: '#/components/schemas/_core.search:TotalHits' + - type: number + hits: + type: array + items: + $ref: '#/components/schemas/_core.search:Hit' + max_score: + type: + - 'null' + - number + - string + required: + - hits + _core.search:InnerHits: + type: object + properties: + name: + $ref: '#/components/schemas/_common:Name' + size: + description: The maximum number of hits to return per `inner_hits`. + type: number + from: + description: Inner hit starting document offset. + type: number + collapse: + $ref: '#/components/schemas/_core.search:FieldCollapse' + docvalue_fields: + type: array + items: + $ref: '#/components/schemas/_common.query_dsl:FieldAndFormat' + explain: + type: boolean + highlight: + $ref: '#/components/schemas/_core.search:Highlight' + ignore_unmapped: + type: boolean + script_fields: + type: object + additionalProperties: + $ref: '#/components/schemas/_common:ScriptField' + seq_no_primary_term: + type: boolean + fields: + $ref: '#/components/schemas/_common:Fields' + sort: + $ref: '#/components/schemas/_common:Sort' + _source: + $ref: '#/components/schemas/_core.search:SourceConfig' + stored_field: + $ref: '#/components/schemas/_common:Fields' + track_scores: + type: boolean + version: + type: boolean + _core.search:InnerHitsResult: + type: object + properties: + hits: + $ref: '#/components/schemas/_core.search:HitsMetadata' + required: + - hits + _core.search:NestedIdentity: + type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + offset: + type: number + _nested: + $ref: '#/components/schemas/_core.search:NestedIdentity' + required: + - field + - offset + _core.search:PhraseSuggest: + allOf: + - $ref: '#/components/schemas/_core.search:SuggestBase' + - type: object + properties: + options: + oneOf: + - $ref: '#/components/schemas/_core.search:PhraseSuggestOption' + - type: array + items: + $ref: '#/components/schemas/_core.search:PhraseSuggestOption' + required: + - options + _core.search:PhraseSuggestOption: + type: object + properties: + text: + type: string + score: + type: number + highlighted: + type: string + collate_match: + type: boolean + required: + - score + - text + _core.search:PointInTimeReference: + type: object + properties: + id: + $ref: '#/components/schemas/_common:Id' + keep_alive: + $ref: '#/components/schemas/_common:Duration' + required: + - id + _core.search:Profile: + type: object + properties: + shards: + type: array + items: + $ref: '#/components/schemas/_core.search:ShardProfile' + required: + - shards + _core.search:QueryBreakdown: + type: object + properties: + advance: + type: number + advance_count: + type: number + build_scorer: + type: number + build_scorer_count: + type: number + create_weight: + type: number + create_weight_count: + type: number + match: + type: number + match_count: + type: number + shallow_advance: + type: number + shallow_advance_count: + type: number + next_doc: + type: number + next_doc_count: + type: number + score: + type: number + score_count: + type: number + compute_max_score: + type: number + compute_max_score_count: + type: number + set_min_competitive_score: + type: number + set_min_competitive_score_count: + type: number + required: + - advance + - advance_count + - build_scorer + - build_scorer_count + - compute_max_score + - compute_max_score_count + - create_weight + - create_weight_count + - match + - match_count + - next_doc + - next_doc_count + - score + - score_count + - set_min_competitive_score + - set_min_competitive_score_count + - shallow_advance + - shallow_advance_count + _core.search:QueryProfile: + type: object + properties: + breakdown: + $ref: '#/components/schemas/_core.search:QueryBreakdown' + description: + type: string + time_in_nanos: + $ref: '#/components/schemas/_common:DurationValueUnitNanos' + type: + type: string + children: + type: array + items: + $ref: '#/components/schemas/_core.search:QueryProfile' + required: + - breakdown + - description + - time_in_nanos + - type + _core.search:Rescore: + type: object + properties: + query: + $ref: '#/components/schemas/_core.search:RescoreQuery' + window_size: + type: number + required: + - query + _core.search:RescoreQuery: + type: object + properties: + rescore_query: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + query_weight: + description: Relative importance of the original query versus the rescore query. + type: number + rescore_query_weight: + description: Relative importance of the rescore query versus the original query. + type: number + score_mode: + $ref: '#/components/schemas/_core.search:ScoreMode' + required: + - rescore_query + _core.search:ResponseBody: + type: object + properties: + took: + type: number + timed_out: + type: boolean + _shards: + $ref: '#/components/schemas/_common:ShardStatistics' + phase_took: + x-version-added: '2.12' + $ref: '#/components/schemas/_common:PhaseTook' + hits: + $ref: '#/components/schemas/_core.search:HitsMetadata' + aggregations: + type: object + additionalProperties: + $ref: '#/components/schemas/_common.aggregations:Aggregate' + _clusters: + $ref: '#/components/schemas/_common:ClusterStatistics' + fields: + type: object + additionalProperties: + type: object + max_score: + type: number + num_reduce_phases: + type: number + profile: + $ref: '#/components/schemas/_core.search:Profile' + pit_id: + $ref: '#/components/schemas/_common:Id' + _scroll_id: + $ref: '#/components/schemas/_common:ScrollId' + suggest: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/_core.search:Suggest' + terminated_early: + type: boolean + required: + - _shards + - hits + - timed_out + - took + _core.search:ScoreMode: + type: string + enum: + - avg + - max + - min + - multiply + - total + _core.search:SearchProfile: + type: object + properties: + collector: + type: array + items: + $ref: '#/components/schemas/_core.search:Collector' + query: + type: array + items: + $ref: '#/components/schemas/_core.search:QueryProfile' + rewrite_time: + type: number + required: + - collector + - query + - rewrite_time + _core.search:ShardProfile: + type: object + properties: + aggregations: + type: array + items: + $ref: '#/components/schemas/_core.search:AggregationProfile' + id: + type: string + searches: + type: array + items: + $ref: '#/components/schemas/_core.search:SearchProfile' + fetch: + $ref: '#/components/schemas/_core.search:FetchProfile' + required: + - aggregations + - id + - searches + _core.search:SourceConfig: + description: Defines how to fetch a source. Fetching can be disabled entirely, or the source can be filtered. + oneOf: + - type: boolean + - type: array + items: + $ref: '#/components/schemas/_common:Field' + - $ref: '#/components/schemas/_core.search:SourceFilter' + _core.search:SourceConfigParam: + description: |- + Defines how to fetch a source. Fetching can be disabled entirely, or the source can be filtered. + Used as a query parameter along with the `_source_includes` and `_source_excludes` parameters. + oneOf: + - type: boolean + - $ref: '#/components/schemas/_common:Fields' + _core.search:SourceFilter: + type: object + properties: + excludes: + $ref: '#/components/schemas/_common:Fields' + includes: + $ref: '#/components/schemas/_common:Fields' + _core.search:Suggest: + oneOf: + - $ref: '#/components/schemas/_core.search:CompletionSuggest' + - $ref: '#/components/schemas/_core.search:PhraseSuggest' + - $ref: '#/components/schemas/_core.search:TermSuggest' + _core.search:SuggestBase: + type: object + properties: + length: + type: number + offset: + type: number + text: + type: string + required: + - length + - offset + - text + _core.search:Suggester: + type: object + properties: + text: + description: Global suggest text, to avoid repetition when the same text is used in several suggesters + type: string + _core.search:TermSuggest: + allOf: + - $ref: '#/components/schemas/_core.search:SuggestBase' + - type: object + properties: + options: + oneOf: + - $ref: '#/components/schemas/_core.search:TermSuggestOption' + - type: array + items: + $ref: '#/components/schemas/_core.search:TermSuggestOption' + required: + - options + _core.search:TermSuggestOption: + type: object + properties: + text: + type: string + score: + type: number + freq: + type: number + highlighted: + type: string + collate_match: + type: boolean + required: + - freq + - score + - text + _core.search:TotalHits: + type: object + properties: + relation: + $ref: '#/components/schemas/_core.search:TotalHitsRelation' + value: + type: number + required: + - relation + - value + _core.search:TotalHitsRelation: + type: string + enum: + - eq + - gte + _core.search:TrackHits: + description: |- + Number of hits matching the query to count accurately. If true, the exact + number of hits is returned at the cost of some performance. If false, the + response does not include the total number of hits matching the query. + Defaults to 10,000 hits. + oneOf: + - type: boolean + - type: number + _core.termvectors:FieldStatistics: + type: object + properties: + doc_count: + type: number + sum_doc_freq: + type: number + sum_ttf: + type: number + required: + - doc_count + - sum_doc_freq + - sum_ttf + _core.termvectors:Filter: + type: object + properties: + max_doc_freq: + description: |- + Ignore words which occur in more than this many docs. + Defaults to unbounded. + type: number + max_num_terms: + description: Maximum number of terms that must be returned per field. + type: number + max_term_freq: + description: |- + Ignore words with more than this frequency in the source doc. + Defaults to unbounded. + type: number + max_word_length: + description: |- + The maximum word length above which words will be ignored. + Defaults to unbounded. + type: number + min_doc_freq: + description: Ignore terms which do not occur in at least this many docs. + type: number + min_term_freq: + description: Ignore words with less than this frequency in the source doc. + type: number + min_word_length: + description: The minimum word length below which words will be ignored. + type: number + _core.termvectors:Term: + type: object + properties: + doc_freq: + type: number + score: + type: number + term_freq: + type: number + tokens: + type: array + items: + $ref: '#/components/schemas/_core.termvectors:Token' + ttf: + type: number + required: + - term_freq + _core.termvectors:TermVector: + type: object + properties: + field_statistics: + $ref: '#/components/schemas/_core.termvectors:FieldStatistics' + terms: + type: object + additionalProperties: + $ref: '#/components/schemas/_core.termvectors:Term' + required: + - field_statistics + - terms + _core.termvectors:Token: + type: object + properties: + end_offset: + type: number + payload: + type: string + position: + type: number + start_offset: + type: number + required: + - position + _core.update_by_query_rethrottle:UpdateByQueryRethrottleNode: + allOf: + - $ref: '#/components/schemas/_common:BaseNode' + - type: object + properties: + tasks: + type: object + additionalProperties: + $ref: '#/components/schemas/tasks._common:TaskInfo' + required: + - tasks + _core.update:UpdateWriteResponseBase: + allOf: + - $ref: '#/components/schemas/_common:WriteResponseBase' + - type: object + properties: + get: + $ref: '#/components/schemas/_common:InlineGet' + cat._common:CatPitSegmentsRecord: + type: object + properties: + index: + type: string + shard: + type: string + prirep: + type: string + ip: + type: string + segment: + type: string + generation: + type: string + docs.count: + type: string + docs.deleted: + type: string + size: + type: string + size.memory: + type: string + committed: + type: string + searchable: + type: string + version: + type: string + compound: + type: string + cat._common:CatSegmentReplicationRecord: + type: object + properties: + shardId: + type: string + target_node: + type: string + target_host: + type: string + checkpoints_behind: + type: string + bytes_behind: + type: string + current_lag: + type: string + last_completed_lag: + type: string + rejected_requests: + type: string + stage: + type: string + time: + type: string + files_fetched: + type: string + files_percent: + type: string + bytes_fetched: + type: string + bytes_percent: + type: string + start_time: + type: string + stop_time: + type: string + files: + type: string + files_total: + type: string + bytes: + type: string + bytes_total: + type: string + replicating_stage_time_taken: + type: string + get_checkpoint_info_stage_time_taken: + type: string + file_diff_stage_time_taken: + type: string + get_files_stage_time_taken: + type: string + finalize_replication_stage_time_taken: + type: string + cat.aliases:AliasesRecord: + type: object + properties: + alias: + description: alias name + type: string + index: + $ref: '#/components/schemas/_common:IndexName' + filter: + description: filter + type: string + routing.index: + description: index routing + type: string + routing.search: + description: search routing + type: string + is_write_index: + description: write index + type: string + cat.allocation:AllocationRecord: + type: object + properties: + shards: + description: Number of primary and replica shards assigned to the node. + type: string + disk.indices: + description: |- + Disk space used by the node's shards. Does not include disk space for the translog or unassigned shards. + IMPORTANT: This metric double-counts disk space for hard-linked files, such as those created when shrinking, splitting, or cloning an index. + anyOf: + - $ref: '#/components/schemas/_common:ByteSize' + - type: 'null' + disk.used: + description: |- + Total disk space in use. + OpenSearch retrieves this metric from the node's operating system (OS). + The metric includes disk space for: OpenSearch, including the translog and unassigned shards; the node's operating system; any other applications or files on the node. + Unlike `disk.indices`, this metric does not double-count disk space for hard-linked files. + anyOf: + - $ref: '#/components/schemas/_common:ByteSize' + - type: 'null' + disk.avail: + description: |- + Free disk space available to OpenSearch. + OpenSearch retrieves this metric from the node's operating system. + Disk-based shard allocation uses this metric to assign shards to nodes based on available disk space. + anyOf: + - $ref: '#/components/schemas/_common:ByteSize' + - type: 'null' + disk.total: + description: Total disk space for the node, including in-use and available space. + anyOf: + - $ref: '#/components/schemas/_common:ByteSize' + - type: 'null' + disk.percent: + description: Total percentage of disk space in use. Calculated as `disk.used / disk.total`. + anyOf: + - $ref: '#/components/schemas/_common:Percentage' + - type: 'null' + host: + description: Network host for the node. Set using the `network.host` setting. + anyOf: + - $ref: '#/components/schemas/_common:Host' + - type: 'null' + ip: + description: IP address and port for the node. + anyOf: + - $ref: '#/components/schemas/_common:Ip' + - type: 'null' + node: + description: Name for the node. Set using the `node.name` setting. + type: string + cat.cluster_manager:ClusterManagerRecord: + type: object + properties: + id: + description: node id + type: string + host: + description: host name + type: string + ip: + description: ip address + type: string + node: + description: node name + type: string + cat.count:CountRecord: + type: object + properties: + epoch: + $ref: '#/components/schemas/_common:StringifiedEpochTimeUnitSeconds' + timestamp: + $ref: '#/components/schemas/_common:TimeOfDay' + count: + description: the document count + type: string + cat.fielddata:FielddataRecord: + type: object + properties: + id: + description: node id + type: string + host: + description: host name + type: string + ip: + description: ip address + type: string + node: + description: node name + type: string + field: + description: field name + type: string + size: + description: field data usage + type: string + cat.health:HealthRecord: + type: object + properties: + epoch: + $ref: '#/components/schemas/_common:StringifiedEpochTimeUnitSeconds' + timestamp: + $ref: '#/components/schemas/_common:TimeOfDay' + cluster: + description: cluster name + type: string + status: + description: health status + type: string + node.total: + description: total number of nodes + type: string + node.data: + description: number of nodes that can store data + type: string + shards: + description: total number of shards + type: string + pri: + description: number of primary shards + type: string + relo: + description: number of relocating nodes + type: string + init: + description: number of initializing nodes + type: string + unassign: + description: number of unassigned shards + type: string + pending_tasks: + description: number of pending tasks + type: string + max_task_wait_time: + description: wait time of longest task pending + type: string + active_shards_percent: + description: active number of shards in percent + type: string + discovered_cluster_manager: + description: cluster manager is discovered or not + type: string + discovered_master: + x-version-removed: '2.0' + description: cluster manager is discovered or not + type: string + cat.indices:IndicesRecord: + type: object + properties: + health: + description: current health status + type: string + status: + description: open/close status + type: string + index: + description: index name + type: string + uuid: + description: index uuid + type: string + pri: + description: number of primary shards + type: string + rep: + description: number of replica shards + type: string + docs.count: + description: available docs + type: + - 'null' + - string + docs.deleted: + description: deleted docs + type: + - 'null' + - string + creation.date: + description: index creation date (millisecond value) + type: string + creation.date.string: + description: index creation date (as string) + type: string + store.size: + description: store size of primaries & replicas + type: + - 'null' + - string + pri.store.size: + description: store size of primaries + type: + - 'null' + - string + completion.size: + description: size of completion + type: string + pri.completion.size: + description: size of completion + type: string + fielddata.memory_size: + description: used fielddata cache + type: string + pri.fielddata.memory_size: + description: used fielddata cache + type: string + fielddata.evictions: + description: fielddata evictions + type: string + pri.fielddata.evictions: + description: fielddata evictions + type: string + query_cache.memory_size: + description: used query cache + type: string + pri.query_cache.memory_size: + description: used query cache + type: string + query_cache.evictions: + description: query cache evictions + type: string + pri.query_cache.evictions: + description: query cache evictions + type: string + request_cache.memory_size: + description: used request cache + type: string + pri.request_cache.memory_size: + description: used request cache + type: string + request_cache.evictions: + description: request cache evictions + type: string + pri.request_cache.evictions: + description: request cache evictions + type: string + request_cache.hit_count: + description: request cache hit count + type: string + pri.request_cache.hit_count: + description: request cache hit count + type: string + request_cache.miss_count: + description: request cache miss count + type: string + pri.request_cache.miss_count: + description: request cache miss count + type: string + flush.total: + description: number of flushes + type: string + pri.flush.total: + description: number of flushes + type: string + flush.total_time: + description: time spent in flush + type: string + pri.flush.total_time: + description: time spent in flush + type: string + get.current: + description: number of current get ops + type: string + pri.get.current: + description: number of current get ops + type: string + get.time: + description: time spent in get + type: string + pri.get.time: + description: time spent in get + type: string + get.total: + description: number of get ops + type: string + pri.get.total: + description: number of get ops + type: string + get.exists_time: + description: time spent in successful gets + type: string + pri.get.exists_time: + description: time spent in successful gets + type: string + get.exists_total: + description: number of successful gets + type: string + pri.get.exists_total: + description: number of successful gets + type: string + get.missing_time: + description: time spent in failed gets + type: string + pri.get.missing_time: + description: time spent in failed gets + type: string + get.missing_total: + description: number of failed gets + type: string + pri.get.missing_total: + description: number of failed gets + type: string + indexing.delete_current: + description: number of current deletions + type: string + pri.indexing.delete_current: + description: number of current deletions + type: string + indexing.delete_time: + description: time spent in deletions + type: string + pri.indexing.delete_time: + description: time spent in deletions + type: string + indexing.delete_total: + description: number of delete ops + type: string + pri.indexing.delete_total: + description: number of delete ops + type: string + indexing.index_current: + description: number of current indexing ops + type: string + pri.indexing.index_current: + description: number of current indexing ops + type: string + indexing.index_time: + description: time spent in indexing + type: string + pri.indexing.index_time: + description: time spent in indexing + type: string + indexing.index_total: + description: number of indexing ops + type: string + pri.indexing.index_total: + description: number of indexing ops + type: string + indexing.index_failed: + description: number of failed indexing ops + type: string + pri.indexing.index_failed: + description: number of failed indexing ops + type: string + merges.current: + description: number of current merges + type: string + pri.merges.current: + description: number of current merges + type: string + merges.current_docs: + description: number of current merging docs + type: string + pri.merges.current_docs: + description: number of current merging docs + type: string + merges.current_size: + description: size of current merges + type: string + pri.merges.current_size: + description: size of current merges + type: string + merges.total: + description: number of completed merge ops + type: string + pri.merges.total: + description: number of completed merge ops + type: string + merges.total_docs: + description: docs merged + type: string + pri.merges.total_docs: + description: docs merged + type: string + merges.total_size: + description: size merged + type: string + pri.merges.total_size: + description: size merged + type: string + merges.total_time: + description: time spent in merges + type: string + pri.merges.total_time: + description: time spent in merges + type: string + refresh.total: + description: total refreshes + type: string + pri.refresh.total: + description: total refreshes + type: string + refresh.time: + description: time spent in refreshes + type: string + pri.refresh.time: + description: time spent in refreshes + type: string + refresh.external_total: + description: total external refreshes + type: string + pri.refresh.external_total: + description: total external refreshes + type: string + refresh.external_time: + description: time spent in external refreshes + type: string + pri.refresh.external_time: + description: time spent in external refreshes + type: string + refresh.listeners: + description: number of pending refresh listeners + type: string + pri.refresh.listeners: + description: number of pending refresh listeners + type: string + search.fetch_current: + description: current fetch phase ops + type: string + pri.search.fetch_current: + description: current fetch phase ops + type: string + search.fetch_time: + description: time spent in fetch phase + type: string + pri.search.fetch_time: + description: time spent in fetch phase + type: string + search.fetch_total: + description: total fetch ops + type: string + pri.search.fetch_total: + description: total fetch ops + type: string + search.open_contexts: + description: open search contexts + type: string + pri.search.open_contexts: + description: open search contexts + type: string + search.query_current: + description: current query phase ops + type: string + pri.search.query_current: + description: current query phase ops + type: string + search.query_time: + description: time spent in query phase + type: string + pri.search.query_time: + description: time spent in query phase + type: string + search.query_total: + description: total query phase ops + type: string + pri.search.query_total: + description: total query phase ops + type: string + search.scroll_current: + description: open scroll contexts + type: string + pri.search.scroll_current: + description: open scroll contexts + type: string + search.scroll_time: + description: time scroll contexts held open + type: string + pri.search.scroll_time: + description: time scroll contexts held open + type: string + search.scroll_total: + description: completed scroll contexts + type: string + pri.search.scroll_total: + description: completed scroll contexts + type: string + segments.count: + description: number of segments + type: string + pri.segments.count: + description: number of segments + type: string + segments.memory: + description: memory used by segments + type: string + pri.segments.memory: + description: memory used by segments + type: string + segments.index_writer_memory: + description: memory used by index writer + type: string + pri.segments.index_writer_memory: + description: memory used by index writer + type: string + segments.version_map_memory: + description: memory used by version map + type: string + pri.segments.version_map_memory: + description: memory used by version map + type: string + segments.fixed_bitset_memory: + description: memory used by fixed bit sets for nested object field types and export type filters for types referred in _parent fields + type: string + pri.segments.fixed_bitset_memory: + description: memory used by fixed bit sets for nested object field types and export type filters for types referred in _parent fields + type: string + warmer.current: + description: current warmer ops + type: string + pri.warmer.current: + description: current warmer ops + type: string + warmer.total: + description: total warmer ops + type: string + pri.warmer.total: + description: total warmer ops + type: string + warmer.total_time: + description: time spent in warmers + type: string + pri.warmer.total_time: + description: time spent in warmers + type: string + suggest.current: + description: number of current suggest ops + type: string + pri.suggest.current: + description: number of current suggest ops + type: string + suggest.time: + description: time spend in suggest + type: string + pri.suggest.time: + description: time spend in suggest + type: string + suggest.total: + description: number of suggest ops + type: string + pri.suggest.total: + description: number of suggest ops + type: string + memory.total: + description: total used memory + type: string + pri.memory.total: + description: total user memory + type: string + search.throttled: + description: indicates if the index is search throttled + type: string + bulk.total_operations: + description: number of bulk shard ops + type: string + pri.bulk.total_operations: + description: number of bulk shard ops + type: string + bulk.total_time: + description: time spend in shard bulk + type: string + pri.bulk.total_time: + description: time spend in shard bulk + type: string + bulk.total_size_in_bytes: + description: total size in bytes of shard bulk + type: string + pri.bulk.total_size_in_bytes: + description: total size in bytes of shard bulk + type: string + bulk.avg_time: + description: average time spend in shard bulk + type: string + pri.bulk.avg_time: + description: average time spend in shard bulk + type: string + bulk.avg_size_in_bytes: + description: average size in bytes of shard bulk + type: string + pri.bulk.avg_size_in_bytes: + description: average size in bytes of shard bulk + type: string + cat.master:MasterRecord: + type: object + properties: + id: + description: node id + type: string + host: + description: host name + type: string + ip: + description: ip address + type: string + node: + description: node name + type: string + cat.nodeattrs:NodeAttributesRecord: + type: object + properties: + node: + description: The node name. + type: string + id: + description: The unique node identifier. + type: string + pid: + description: The process identifier. + type: string + host: + description: The host name. + type: string + ip: + description: The IP address. + type: string + port: + description: The bound transport port. + type: string + attr: + description: The attribute name. + type: string + value: + description: The attribute value. + type: string + cat.nodes:NodesRecord: + type: object + properties: + id: + $ref: '#/components/schemas/_common:Id' + pid: + description: The process identifier. + type: string + ip: + description: The IP address. + type: string + port: + description: The bound transport port. + type: string + http_address: + description: The bound HTTP address. + type: string + version: + $ref: '#/components/schemas/_common:VersionString' + flavor: + description: The OpenSearch distribution flavor. + type: string + type: + description: The OpenSearch distribution type. + type: string + build: + description: The OpenSearch build hash. + type: string + jdk: + description: The Java version. + type: string + disk.total: + $ref: '#/components/schemas/_common:ByteSize' + disk.used: + $ref: '#/components/schemas/_common:ByteSize' + disk.avail: + $ref: '#/components/schemas/_common:ByteSize' + disk.used_percent: + $ref: '#/components/schemas/_common:Percentage' + heap.current: + description: The used heap. + type: string + heap.percent: + $ref: '#/components/schemas/_common:Percentage' + heap.max: + description: The maximum configured heap. + type: string + ram.current: + description: The used machine memory. + type: string + ram.percent: + $ref: '#/components/schemas/_common:Percentage' + ram.max: + description: The total machine memory. + type: string + file_desc.current: + description: The used file descriptors. + type: string + file_desc.percent: + $ref: '#/components/schemas/_common:Percentage' + file_desc.max: + description: The maximum number of file descriptors. + type: string + cpu: + description: The recent system CPU usage as a percentage. + type: string + load_1m: + description: The load average for the most recent minute. + type: string + load_5m: + description: The load average for the last five minutes. + type: string + load_15m: + description: The load average for the last fifteen minutes. + type: string + uptime: + description: The node uptime. + type: string + node.role: + description: |- + The roles of the node. + Returned values include `c`(cold node), `d`(data node), `f`(frozen node), `h`(hot node), `i`(ingest node), `l`(machine learning node), `m` (cluster-manager eligible node), `r`(remote cluster client node), `s`(content node), `t`(transform node), `v`(voting-only node), `w`(warm node),and `-`(coordinating node only). + type: string + node.roles: + description: |- + A comma-separated list of the roles of the node. + Returned values may include but are not limited to: `data`, `ingest`, `master`, `cluster_manager`, `remote_cluster_client`, `search`, and `-`(coordinating node only). + type: string + cluster_manager: + description: |- + Indicates whether the node is the elected cluster-manager node. + Returned values include `*`(elected cluster-manager) and `-`(not elected cluster-manager). + type: string + master: + description: |- + Indicates whether the node is the elected master node. + Returned values include `*`(elected master) and `-`(not elected master). + type: string + x-version-deprecated: 2.0.0 + x-deprecation-message: To promote inclusive language, use 'cluster_manager' instead. + name: + $ref: '#/components/schemas/_common:Name' + completion.size: + description: The size of completion. + type: string + fielddata.memory_size: + description: The used fielddata cache. + type: string + fielddata.evictions: + description: The fielddata evictions. + type: string + query_cache.memory_size: + description: The used query cache. + type: string + query_cache.evictions: + description: The query cache evictions. + type: string + query_cache.hit_count: + description: The query cache hit counts. + type: string + query_cache.miss_count: + description: The query cache miss counts. + type: string + request_cache.memory_size: + description: The used request cache. + type: string + request_cache.evictions: + description: The request cache evictions. + type: string + request_cache.hit_count: + description: The request cache hit counts. + type: string + request_cache.miss_count: + description: The request cache miss counts. + type: string + flush.total: + description: The number of flushes. + type: string + flush.total_time: + description: The time spent in flush. + type: string + get.current: + description: The number of current get ops. + type: string + get.time: + description: The time spent in get. + type: string + get.total: + description: The number of get ops. + type: string + get.exists_time: + description: The time spent in successful gets. + type: string + get.exists_total: + description: The number of successful get operations. + type: string + get.missing_time: + description: The time spent in failed gets. + type: string + get.missing_total: + description: The number of failed gets. + type: string + indexing.delete_current: + description: The number of current deletions. + type: string + indexing.delete_time: + description: The time spent in deletions. + type: string + indexing.delete_total: + description: The number of delete operations. + type: string + indexing.index_current: + description: The number of current indexing operations. + type: string + indexing.index_time: + description: The time spent in indexing. + type: string + indexing.index_total: + description: The number of indexing operations. + type: string + indexing.index_failed: + description: The number of failed indexing operations. + type: string + merges.current: + description: The number of current merges. + type: string + merges.current_docs: + description: The number of current merging docs. + type: string + merges.current_size: + description: The size of current merges. + type: string + merges.total: + description: The number of completed merge operations. + type: string + merges.total_docs: + description: The docs merged. + type: string + merges.total_size: + description: The size merged. + type: string + merges.total_time: + description: The time spent in merges. + type: string + refresh.total: + description: The total refreshes. + type: string + refresh.time: + description: The time spent in refreshes. + type: string + refresh.external_total: + description: The total external refreshes. + type: string + refresh.external_time: + description: The time spent in external refreshes. + type: string + refresh.listeners: + description: The number of pending refresh listeners. + type: string + script.compilations: + description: The total script compilations. + type: string + script.cache_evictions: + description: The total compiled scripts evicted from the cache. + type: string + script.compilation_limit_triggered: + description: The script cache compilation limit triggered. + type: string + search.fetch_current: + description: The current fetch phase operations. + type: string + search.fetch_time: + description: The time spent in fetch phase. + type: string + search.fetch_total: + description: The total fetch operations. + type: string + search.open_contexts: + description: The open search contexts. + type: string + search.query_current: + description: The current query phase operations. + type: string + search.query_time: + description: The time spent in query phase. + type: string + search.query_total: + description: The total query phase operations. + type: string + search.scroll_current: + description: The open scroll contexts. + type: string + search.scroll_time: + description: The time scroll contexts held open. + type: string + search.scroll_total: + description: The completed scroll contexts. + type: string + segments.count: + description: The number of segments. + type: string + segments.memory: + description: The memory used by segments. + type: string + segments.index_writer_memory: + description: The memory used by the index writer. + type: string + segments.version_map_memory: + description: The memory used by the version map. + type: string + segments.fixed_bitset_memory: + description: The memory used by fixed bit sets for nested object field types and export type filters for types referred in _parent fields. + type: string + suggest.current: + description: The number of current suggest operations. + type: string + suggest.time: + description: The time spend in suggest. + type: string + suggest.total: + description: The number of suggest operations. + type: string + bulk.total_operations: + description: The number of bulk shard operations. + type: string + bulk.total_time: + description: The time spend in shard bulk. + type: string + bulk.total_size_in_bytes: + description: The total size in bytes of shard bulk. + type: string + bulk.avg_time: + description: The average time spend in shard bulk. + type: string + bulk.avg_size_in_bytes: + description: The average size in bytes of shard bulk. + type: string + cat.pending_tasks:PendingTasksRecord: + type: object + properties: + insertOrder: + description: The task insertion order. + type: string + timeInQueue: + description: Indicates how long the task has been in queue. + type: string + priority: + description: The task priority. + type: string + source: + description: The task source. + type: string + cat.plugins:PluginsRecord: + type: object + properties: + id: + $ref: '#/components/schemas/_common:NodeId' + name: + $ref: '#/components/schemas/_common:Name' + component: + description: The component name. + type: string + version: + $ref: '#/components/schemas/_common:VersionString' + description: + description: The plugin details. + type: string + type: + description: The plugin type. + type: string + cat.recovery:RecoveryRecord: + type: object + properties: + index: + $ref: '#/components/schemas/_common:IndexName' + shard: + description: The shard name. + type: string + start_time: + $ref: '#/components/schemas/_common:DateTime' + start_time_millis: + $ref: '#/components/schemas/_common:EpochTimeUnitMillis' + stop_time: + $ref: '#/components/schemas/_common:DateTime' + stop_time_millis: + $ref: '#/components/schemas/_common:EpochTimeUnitMillis' + time: + $ref: '#/components/schemas/_common:Duration' + type: + description: The recovery type. + type: string + stage: + description: The recovery stage. + type: string + source_host: + description: The source host. + type: string + source_node: + description: The source node name. + type: string + target_host: + description: The target host. + type: string + target_node: + description: The target node name. + type: string + repository: + description: The repository name. + type: string + snapshot: + description: The snapshot name. + type: string + files: + description: The number of files to recover. + type: string + files_recovered: + description: The files recovered. + type: string + files_percent: + $ref: '#/components/schemas/_common:Percentage' + files_total: + description: The total number of files. + type: string + bytes: + description: The number of bytes to recover. + type: string + bytes_recovered: + description: The bytes recovered. + type: string + bytes_percent: + $ref: '#/components/schemas/_common:Percentage' + bytes_total: + description: The total number of bytes. + type: string + translog_ops: + description: The number of translog operations to recover. + type: string + translog_ops_recovered: + description: The translog operations recovered. + type: string + translog_ops_percent: + $ref: '#/components/schemas/_common:Percentage' + cat.repositories:RepositoriesRecord: + type: object + properties: + id: + description: The unique repository identifier. + type: string + type: + description: The repository type. + type: string + cat.segments:SegmentsRecord: + type: object + properties: + index: + $ref: '#/components/schemas/_common:IndexName' + shard: + description: The shard name. + type: string + prirep: + description: 'The shard type: `primary` or `replica`.' + type: string + ip: + description: The IP address of the node where it lives. + type: string + id: + $ref: '#/components/schemas/_common:NodeId' + segment: + description: The segment name, which is derived from the segment generation and used internally to create file names in the directory of the shard. + type: string + generation: + description: |- + The segment generation number. + OpenSearch increments this generation number for each segment written then uses this number to derive the segment name. + type: string + docs.count: + description: |- + The number of documents in the segment. + This excludes deleted documents and counts any nested documents separately from their parents. + It also excludes documents which were indexed recently and do not yet belong to a segment. + type: string + docs.deleted: + description: |- + The number of deleted documents in the segment, which might be higher or lower than the number of delete operations you have performed. + This number excludes deletes that were performed recently and do not yet belong to a segment. + Deleted documents are cleaned up by the automatic merge process if it makes sense to do so. + Also, OpenSearch creates extra deleted documents to internally track the recent history of operations on a shard. + type: string + size: + $ref: '#/components/schemas/_common:ByteSize' + size.memory: + $ref: '#/components/schemas/_common:ByteSize' + committed: + description: |- + If `true`, the segment is synced to disk. + Segments that are synced can survive a hard reboot. + If `false`, the data from uncommitted segments is also stored in the transaction log so that OpenSearch is able to replay changes on the next start. + type: string + searchable: + description: |- + If `true`, the segment is searchable. + If `false`, the segment has most likely been written to disk but needs a refresh to be searchable. + type: string + version: + $ref: '#/components/schemas/_common:VersionString' + compound: + description: |- + If `true`, the segment is stored in a compound file. + This means Lucene merged all files from the segment in a single file to save file descriptors. + type: string + cat.shards:ShardsRecord: + type: object + properties: + index: + description: The index name. + type: string + shard: + description: The shard name. + type: string + prirep: + description: 'The shard type: `primary` or `replica`.' + type: string + state: + description: |- + The shard state. + Returned values include: + `INITIALIZING`: The shard is recovering from a peer shard or gateway. + `RELOCATING`: The shard is relocating. + `STARTED`: The shard has started. + `UNASSIGNED`: The shard is not assigned to any node. + type: string + docs: + description: The number of documents in the shard. + type: + - 'null' + - string + store: + description: The disk space used by the shard. + type: + - 'null' + - string + ip: + description: The IP address of the node. + type: + - 'null' + - string + id: + description: The unique identifier for the node. + type: string + node: + description: The name of node. + type: + - 'null' + - string + sync_id: + description: The sync identifier. + type: string + unassigned.reason: + description: |- + The reason for the last change to the state of an unassigned shard. + It does not explain why the shard is currently unassigned; use the cluster allocation explain API for that information. + Returned values include: + `ALLOCATION_FAILED`: Unassigned as a result of a failed allocation of the shard. + `CLUSTER_RECOVERED`: Unassigned as a result of a full cluster recovery. + `DANGLING_INDEX_IMPORTED`: Unassigned as a result of importing a dangling index. + `EXISTING_INDEX_RESTORED`: Unassigned as a result of restoring into a closed index. + `FORCED_EMPTY_PRIMARY`: The shard's allocation was last modified by forcing an empty primary using the cluster reroute API. + `INDEX_CLOSED`: Unassigned because the index was closed. + `INDEX_CREATED`: Unassigned as a result of an API creation of an index. + `INDEX_REOPENED`: Unassigned as a result of opening a closed index. + `MANUAL_ALLOCATION`: The shard's allocation was last modified by the cluster reroute API. + `NEW_INDEX_RESTORED`: Unassigned as a result of restoring into a new index. + `NODE_LEFT`: Unassigned as a result of the node hosting it leaving the cluster. + `NODE_RESTARTING`: Similar to `NODE_LEFT`, except that the node was registered as restarting using the node shutdown API. + `PRIMARY_FAILED`: The shard was initializing as a replica, but the primary shard failed before the initialization completed. + `REALLOCATED_REPLICA`: A better replica location is identified and causes the existing replica allocation to be cancelled. + `REINITIALIZED`: When a shard moves from started back to initializing. + `REPLICA_ADDED`: Unassigned as a result of explicit addition of a replica. + `REROUTE_CANCELLED`: Unassigned as a result of explicit cancel reroute command. + type: string + unassigned.at: + description: The time at which the shard became unassigned in Coordinated Universal Time (UTC). + type: string + unassigned.for: + description: The time at which the shard was requested to be unassigned in Coordinated Universal Time (UTC). + type: string + unassigned.details: + description: |- + Additional details as to why the shard became unassigned. + It does not explain why the shard is not assigned; use the cluster allocation explain API for that information. + type: string + recoverysource.type: + description: The type of recovery source. + type: string + completion.size: + description: The size of completion. + type: string + fielddata.memory_size: + description: The used fielddata cache memory. + type: string + fielddata.evictions: + description: The fielddata cache evictions. + type: string + query_cache.memory_size: + description: The used query cache memory. + type: string + query_cache.evictions: + description: The query cache evictions. + type: string + flush.total: + description: The number of flushes. + type: string + flush.total_time: + description: The time spent in flush. + type: string + get.current: + description: The number of current get operations. + type: string + get.time: + description: The time spent in get operations. + type: string + get.total: + description: The number of get operations. + type: string + get.exists_time: + description: The time spent in successful get operations. + type: string + get.exists_total: + description: The number of successful get operations. + type: string + get.missing_time: + description: The time spent in failed get operations. + type: string + get.missing_total: + description: The number of failed get operations. + type: string + indexing.delete_current: + description: The number of current deletion operations. + type: string + indexing.delete_time: + description: The time spent in deletion operations. + type: string + indexing.delete_total: + description: The number of delete operations. + type: string + indexing.index_current: + description: The number of current indexing operations. + type: string + indexing.index_time: + description: The time spent in indexing operations. + type: string + indexing.index_total: + description: The number of indexing operations. + type: string + indexing.index_failed: + description: The number of failed indexing operations. + type: string + merges.current: + description: The number of current merge operations. + type: string + merges.current_docs: + description: The number of current merging documents. + type: string + merges.current_size: + description: The size of current merge operations. + type: string + merges.total: + description: The number of completed merge operations. + type: string + merges.total_docs: + description: The number of merged documents. + type: string + merges.total_size: + description: The size of current merges. + type: string + merges.total_time: + description: The time spent merging documents. + type: string + refresh.total: + description: The total number of refreshes. + type: string + refresh.time: + description: The time spent in refreshes. + type: string + refresh.external_total: + description: The total number of external refreshes. + type: string + refresh.external_time: + description: The time spent in external refreshes. + type: string + refresh.listeners: + description: The number of pending refresh listeners. + type: string + search.fetch_current: + description: The current fetch phase operations. + type: string + search.fetch_time: + description: The time spent in fetch phase. + type: string + search.fetch_total: + description: The total number of fetch operations. + type: string + search.open_contexts: + description: The number of open search contexts. + type: string + search.query_current: + description: The current query phase operations. + type: string + search.query_time: + description: The time spent in query phase. + type: string + search.query_total: + description: The total number of query phase operations. + type: string + search.scroll_current: + description: The open scroll contexts. + type: string + search.scroll_time: + description: The time scroll contexts were held open. + type: string + search.scroll_total: + description: The number of completed scroll contexts. + type: string + segments.count: + description: The number of segments. + type: string + segments.memory: + description: The memory used by segments. + type: string + segments.index_writer_memory: + description: The memory used by the index writer. + type: string + segments.version_map_memory: + description: The memory used by the version map. + type: string + segments.fixed_bitset_memory: + description: The memory used by fixed bit sets for nested object field types and export type filters for types referred in `_parent` fields. + type: string + seq_no.max: + description: The maximum sequence number. + type: string + seq_no.local_checkpoint: + description: The local checkpoint. + type: string + seq_no.global_checkpoint: + description: The global checkpoint. + type: string + warmer.current: + description: The number of current warmer operations. + type: string + warmer.total: + description: The total number of warmer operations. + type: string + warmer.total_time: + description: The time spent in warmer operations. + type: string + path.data: + description: The shard data path. + type: string + path.state: + description: The shard state path. + type: string + bulk.total_operations: + description: The number of bulk shard operations. + type: string + bulk.total_time: + description: The time spent in shard bulk operations. + type: string + bulk.total_size_in_bytes: + description: The total size in bytes of shard bulk operations. + type: string + bulk.avg_time: + description: The average time spent in shard bulk operations. + type: string + bulk.avg_size_in_bytes: + description: The average size in bytes of shard bulk operations. + type: string + cat.snapshots:SnapshotsRecord: + type: object + properties: + id: + description: The unique identifier for the snapshot. + type: string + repository: + description: The repository name. + type: string + status: + description: |- + The state of the snapshot process. + Returned values include: + `FAILED`: The snapshot process failed. + `INCOMPATIBLE`: The snapshot process is incompatible with the current cluster version. + `IN_PROGRESS`: The snapshot process started but has not completed. + `PARTIAL`: The snapshot process completed with a partial success. + `SUCCESS`: The snapshot process completed with a full success. + type: string + start_epoch: + $ref: '#/components/schemas/_common:StringifiedEpochTimeUnitSeconds' + start_time: + $ref: '#/components/schemas/_common:ScheduleTimeOfDay' + end_epoch: + $ref: '#/components/schemas/_common:StringifiedEpochTimeUnitSeconds' + end_time: + $ref: '#/components/schemas/_common:TimeOfDay' + duration: + $ref: '#/components/schemas/_common:Duration' + indices: + description: The number of indices in the snapshot. + type: string + successful_shards: + description: The number of successful shards in the snapshot. + type: string + failed_shards: + description: The number of failed shards in the snapshot. + type: string + total_shards: + description: The total number of shards in the snapshot. + type: string + reason: + description: The reason for any snapshot failures. + type: string + cat.tasks:TasksRecord: + type: object + properties: + id: + $ref: '#/components/schemas/_common:Id' + action: + description: The task action. + type: string + task_id: + $ref: '#/components/schemas/_common:Id' + parent_task_id: + description: The parent task identifier. + type: string + type: + description: The task type. + type: string + start_time: + description: The start time in milliseconds. + type: string + timestamp: + description: The start time in `HH:MM:SS` format. + type: string + running_time_ns: + description: The running time in nanoseconds. + type: string + running_time: + description: The running time. + type: string + node_id: + $ref: '#/components/schemas/_common:NodeId' + ip: + description: The IP address for the node. + type: string + port: + description: The bound transport port for the node. + type: string + node: + description: The node name. + type: string + version: + $ref: '#/components/schemas/_common:VersionString' + x_opaque_id: + description: The X-Opaque-ID header. + type: string + description: + description: The task action description. + type: string + cat.templates:TemplatesRecord: + type: object + properties: + name: + $ref: '#/components/schemas/_common:Name' + index_patterns: + description: The template index patterns. + type: string + order: + description: The template application order or priority number. + type: string + version: + description: The template version. + anyOf: + - $ref: '#/components/schemas/_common:VersionString' + - type: 'null' + composed_of: + description: The component templates that comprise the index template. + type: string + cat.thread_pool:ThreadPoolRecord: + type: object + properties: + node_name: + description: The node name. + type: string + node_id: + $ref: '#/components/schemas/_common:NodeId' + ephemeral_node_id: + description: The ephemeral node identifier. + type: string + pid: + description: The process identifier. + type: string + host: + description: The host name for the current node. + type: string + ip: + description: The IP address for the current node. + type: string + port: + description: The bound transport port for the current node. + type: string + name: + description: The thread pool name. + type: string + type: + description: |- + The thread pool type. + Returned values include `fixed`, `fixed_auto_queue_size`, `direct`, and `scaling`. + type: string + active: + description: The number of active threads in the current thread pool. + type: string + pool_size: + description: The number of threads in the current thread pool. + type: string + queue: + description: The number of tasks currently in queue. + type: string + queue_size: + description: The maximum number of tasks permitted in the queue. + type: string + rejected: + description: The number of rejected tasks. + type: string + largest: + description: The highest number of active threads in the current thread pool. + type: string + completed: + description: The number of completed tasks. + type: string + core: + description: The core number of active threads allowed in a scaling thread pool. + type: + - 'null' + - string + max: + description: The maximum number of active threads allowed in a scaling thread pool. + type: + - 'null' + - string + size: + description: The number of active threads allowed in a fixed thread pool. + type: + - 'null' + - string + keep_alive: + description: The thread keep alive time. + type: + - 'null' + - string + cluster._common:ComponentTemplate: + type: object + properties: + name: + $ref: '#/components/schemas/_common:Name' + component_template: + $ref: '#/components/schemas/cluster._common:ComponentTemplateNode' + required: + - component_template + - name + cluster._common:ComponentTemplateNode: + type: object + properties: + template: + $ref: '#/components/schemas/cluster._common:ComponentTemplateSummary' + version: + $ref: '#/components/schemas/_common:VersionNumber' + _meta: + $ref: '#/components/schemas/_common:Metadata' + required: + - template + cluster._common:ComponentTemplateSummary: + type: object + properties: + _meta: + $ref: '#/components/schemas/_common:Metadata' + version: + $ref: '#/components/schemas/_common:VersionNumber' + settings: + type: object + additionalProperties: + $ref: '#/components/schemas/indices._common:IndexSettings' + mappings: + $ref: '#/components/schemas/_common.mapping:TypeMapping' + aliases: + type: object + additionalProperties: + $ref: '#/components/schemas/indices._common:AliasDefinition' + lifecycle: + $ref: '#/components/schemas/indices._common:DataStreamLifecycleWithRollover' + cluster.allocation_explain:AllocationDecision: + type: object + properties: + decider: + type: string + decision: + $ref: '#/components/schemas/cluster.allocation_explain:AllocationExplainDecision' + explanation: + type: string + required: + - decider + - decision + - explanation + cluster.allocation_explain:AllocationExplainDecision: + type: string + enum: + - ALWAYS + - NO + - THROTTLE + - YES + cluster.allocation_explain:AllocationStore: + type: object + properties: + allocation_id: + type: string + found: + type: boolean + in_sync: + type: boolean + matching_size_in_bytes: + type: number + matching_sync_id: + type: boolean + store_exception: + type: string + required: + - allocation_id + - found + - in_sync + - matching_size_in_bytes + - matching_sync_id + - store_exception + cluster.allocation_explain:ClusterInfo: + type: object + properties: + nodes: + type: object + additionalProperties: + $ref: '#/components/schemas/cluster.allocation_explain:NodeDiskUsage' + shard_sizes: + type: object + additionalProperties: + type: number + shard_data_set_sizes: + type: object + additionalProperties: + type: string + shard_paths: + type: object + additionalProperties: + type: string + reserved_sizes: + type: array + items: + $ref: '#/components/schemas/cluster.allocation_explain:ReservedSize' + required: + - nodes + - reserved_sizes + - shard_paths + - shard_sizes + cluster.allocation_explain:CurrentNode: + type: object + properties: + id: + $ref: '#/components/schemas/_common:Id' + name: + $ref: '#/components/schemas/_common:Name' + attributes: + type: object + additionalProperties: + type: string + transport_address: + $ref: '#/components/schemas/_common:TransportAddress' + weight_ranking: + type: number + required: + - attributes + - id + - name + - transport_address + - weight_ranking + cluster.allocation_explain:Decision: + type: string + enum: + - allocation_delayed + - awaiting_info + - no + - no_attempt + - no_valid_shard_copy + - throttled + - worse_balance + - yes + cluster.allocation_explain:DiskUsage: + type: object + properties: + path: + type: string + total_bytes: + type: number + used_bytes: + type: number + free_bytes: + type: number + free_disk_percent: + type: number + used_disk_percent: + type: number + required: + - free_bytes + - free_disk_percent + - path + - total_bytes + - used_bytes + - used_disk_percent + cluster.allocation_explain:NodeAllocationExplanation: + type: object + properties: + deciders: + type: array + items: + $ref: '#/components/schemas/cluster.allocation_explain:AllocationDecision' + node_attributes: + type: object + additionalProperties: + type: string + node_decision: + $ref: '#/components/schemas/cluster.allocation_explain:Decision' + node_id: + $ref: '#/components/schemas/_common:Id' + node_name: + $ref: '#/components/schemas/_common:Name' + store: + $ref: '#/components/schemas/cluster.allocation_explain:AllocationStore' + transport_address: + $ref: '#/components/schemas/_common:TransportAddress' + weight_ranking: + type: number + required: + - deciders + - node_attributes + - node_decision + - node_id + - node_name + - transport_address + - weight_ranking + cluster.allocation_explain:NodeDiskUsage: + type: object + properties: + node_name: + $ref: '#/components/schemas/_common:Name' + least_available: + $ref: '#/components/schemas/cluster.allocation_explain:DiskUsage' + most_available: + $ref: '#/components/schemas/cluster.allocation_explain:DiskUsage' + required: + - least_available + - most_available + - node_name + cluster.allocation_explain:ReservedSize: + type: object + properties: + node_id: + $ref: '#/components/schemas/_common:Id' + path: + type: string + total: + type: number + shards: + type: array + items: + type: string + required: + - node_id + - path + - shards + - total + cluster.allocation_explain:UnassignedInformation: + type: object + properties: + at: + $ref: '#/components/schemas/_common:DateTime' + last_allocation_status: + type: string + reason: + $ref: '#/components/schemas/cluster.allocation_explain:UnassignedInformationReason' + details: + type: string + failed_allocation_attempts: + type: number + delayed: + type: boolean + allocation_status: + type: string + required: + - at + - reason + cluster.allocation_explain:UnassignedInformationReason: + type: string + enum: + - ALLOCATION_FAILED + - CLUSTER_RECOVERED + - DANGLING_INDEX_IMPORTED + - EXISTING_INDEX_RESTORED + - FORCED_EMPTY_PRIMARY + - INDEX_CREATED + - INDEX_REOPENED + - MANUAL_ALLOCATION + - NEW_INDEX_RESTORED + - NODE_LEFT + - PRIMARY_FAILED + - REALLOCATED_REPLICA + - REINITIALIZED + - REPLICA_ADDED + - REROUTE_CANCELLED + cluster.health:HealthResponseBody: + type: object + properties: + active_primary_shards: + description: The number of active primary shards. + type: number + active_shards: + description: The total number of active primary and replica shards. + type: number + active_shards_percent_as_number: + $ref: '#/components/schemas/_common:Percentage' + cluster_name: + $ref: '#/components/schemas/_common:Name' + delayed_unassigned_shards: + description: The number of shards whose allocation has been delayed by the timeout settings. + type: number + indices: + type: object + additionalProperties: + $ref: '#/components/schemas/cluster.health:IndexHealthStats' + initializing_shards: + description: The number of shards that are under initialization. + type: number + number_of_data_nodes: + description: The number of nodes that are dedicated data nodes. + type: number + number_of_in_flight_fetch: + description: The number of unfinished fetches. + type: number + number_of_nodes: + description: The number of nodes within the cluster. + type: number + number_of_pending_tasks: + description: The number of cluster-level changes that have not yet been executed. + type: number + relocating_shards: + description: The number of shards that are under relocation. + type: number + status: + $ref: '#/components/schemas/_common:HealthStatus' + task_max_waiting_in_queue: + $ref: '#/components/schemas/_common:Duration' + task_max_waiting_in_queue_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + timed_out: + description: If false the response returned within the period of time that is specified by the timeout parameter (30s by default) + type: boolean + unassigned_shards: + description: The number of shards that are not allocated. + type: number + required: + - active_primary_shards + - active_shards + - active_shards_percent_as_number + - cluster_name + - delayed_unassigned_shards + - initializing_shards + - number_of_data_nodes + - number_of_in_flight_fetch + - number_of_nodes + - number_of_pending_tasks + - relocating_shards + - status + - task_max_waiting_in_queue_millis + - timed_out + - unassigned_shards + cluster.health:IndexHealthStats: + type: object + properties: + active_primary_shards: + type: number + active_shards: + type: number + initializing_shards: + type: number + number_of_replicas: + type: number + number_of_shards: + type: number + relocating_shards: + type: number + shards: + type: object + additionalProperties: + $ref: '#/components/schemas/cluster.health:ShardHealthStats' + status: + $ref: '#/components/schemas/_common:HealthStatus' + unassigned_shards: + type: number + required: + - active_primary_shards + - active_shards + - initializing_shards + - number_of_replicas + - number_of_shards + - relocating_shards + - status + - unassigned_shards + cluster.health:Level: + type: string + enum: + - awareness_attributes + - cluster + - indices + - shards + cluster.health:ShardHealthStats: + type: object + properties: + active_shards: + type: number + initializing_shards: + type: number + primary_active: + type: boolean + relocating_shards: + type: number + status: + $ref: '#/components/schemas/_common:HealthStatus' + unassigned_shards: + type: number + required: + - active_shards + - initializing_shards + - primary_active + - relocating_shards + - status + - unassigned_shards + cluster.pending_tasks:PendingTask: + type: object + properties: + executing: + description: Indicates whether the pending tasks are currently executing or not. + type: boolean + insert_order: + description: The number that represents when the task has been inserted into the task queue. + type: number + priority: + description: |- + The priority of the pending task. + The valid priorities in descending priority order are: `IMMEDIATE` > `URGENT` > `HIGH` > `NORMAL` > `LOW` > `LANGUID`. + type: string + source: + description: A general description of the cluster task that may include a reason and origin. + type: string + time_in_queue: + $ref: '#/components/schemas/_common:Duration' + time_in_queue_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + required: + - executing + - insert_order + - priority + - source + - time_in_queue_millis + cluster.remote_info:ClusterRemoteInfo: + type: object + discriminator: + propertyName: mode + oneOf: + - $ref: '#/components/schemas/cluster.remote_info:ClusterRemoteSniffInfo' + - $ref: '#/components/schemas/cluster.remote_info:ClusterRemoteProxyInfo' + cluster.remote_info:ClusterRemoteProxyInfo: + type: object + properties: + mode: + type: string + enum: + - proxy + connected: + type: boolean + initial_connect_timeout: + $ref: '#/components/schemas/_common:Duration' + skip_unavailable: + type: boolean + proxy_address: + type: string + server_name: + type: string + num_proxy_sockets_connected: + type: number + max_proxy_socket_connections: + type: number + required: + - connected + - initial_connect_timeout + - max_proxy_socket_connections + - mode + - num_proxy_sockets_connected + - proxy_address + - server_name + - skip_unavailable + cluster.remote_info:ClusterRemoteSniffInfo: + type: object + properties: + mode: + type: string + enum: + - sniff + connected: + type: boolean + max_connections_per_cluster: + type: number + num_nodes_connected: + type: number + initial_connect_timeout: + $ref: '#/components/schemas/_common:Duration' + skip_unavailable: + type: boolean + seeds: + type: array + items: + type: string + required: + - connected + - initial_connect_timeout + - max_connections_per_cluster + - mode + - num_nodes_connected + - seeds + - skip_unavailable + cluster.reroute:Command: + type: object + properties: + cancel: + $ref: '#/components/schemas/cluster.reroute:CommandCancelAction' + move: + $ref: '#/components/schemas/cluster.reroute:CommandMoveAction' + allocate_replica: + $ref: '#/components/schemas/cluster.reroute:CommandAllocateReplicaAction' + allocate_stale_primary: + $ref: '#/components/schemas/cluster.reroute:CommandAllocatePrimaryAction' + allocate_empty_primary: + $ref: '#/components/schemas/cluster.reroute:CommandAllocatePrimaryAction' + cluster.reroute:CommandAllocatePrimaryAction: + type: object + properties: + index: + $ref: '#/components/schemas/_common:IndexName' + shard: + type: number + node: + type: string + accept_data_loss: + description: If a node which has a copy of the data rejoins the cluster later on, that data will be deleted. To ensure that these implications are well-understood, this command requires the flag accept_data_loss to be explicitly set to true + type: boolean + required: + - accept_data_loss + - index + - node + - shard + cluster.reroute:CommandAllocateReplicaAction: + type: object + properties: + index: + $ref: '#/components/schemas/_common:IndexName' + shard: + type: number + node: + type: string + required: + - index + - node + - shard + cluster.reroute:CommandCancelAction: + type: object + properties: + index: + $ref: '#/components/schemas/_common:IndexName' + shard: + type: number + node: + type: string + allow_primary: + type: boolean + required: + - index + - node + - shard + cluster.reroute:CommandMoveAction: + type: object + properties: + index: + $ref: '#/components/schemas/_common:IndexName' + shard: + type: number + from_node: + description: The node to move the shard from + type: string + to_node: + description: The node to move the shard to + type: string + required: + - from_node + - index + - shard + - to_node + cluster.reroute:RerouteDecision: + type: object + properties: + decider: + type: string + decision: + type: string + explanation: + type: string + required: + - decider + - decision + - explanation + cluster.reroute:RerouteExplanation: + type: object + properties: + command: + type: string + decisions: + type: array + items: + $ref: '#/components/schemas/cluster.reroute:RerouteDecision' + parameters: + $ref: '#/components/schemas/cluster.reroute:RerouteParameters' + required: + - command + - decisions + - parameters + cluster.reroute:RerouteParameters: + type: object + properties: + allow_primary: + type: boolean + index: + $ref: '#/components/schemas/_common:IndexName' + node: + $ref: '#/components/schemas/_common:NodeName' + shard: + type: number + from_node: + $ref: '#/components/schemas/_common:NodeName' + to_node: + $ref: '#/components/schemas/_common:NodeName' + required: + - allow_primary + - index + - node + - shard + cluster.state:Metric: + type: string + enum: + - _all + - blocks + - cluster_manager_node + - master_node + - metadata + - nodes + - routing_nodes + - routing_table + - version + cluster.stats:CharFilterTypes: + type: object + properties: + analyzer_types: + description: Contains statistics about analyzer types used in selected nodes. + type: array + items: + $ref: '#/components/schemas/cluster.stats:FieldTypes' + built_in_analyzers: + description: Contains statistics about built-in analyzers used in selected nodes. + type: array + items: + $ref: '#/components/schemas/cluster.stats:FieldTypes' + built_in_char_filters: + description: Contains statistics about built-in character filters used in selected nodes. + type: array + items: + $ref: '#/components/schemas/cluster.stats:FieldTypes' + built_in_filters: + description: Contains statistics about built-in token filters used in selected nodes. + type: array + items: + $ref: '#/components/schemas/cluster.stats:FieldTypes' + built_in_tokenizers: + description: Contains statistics about built-in tokenizers used in selected nodes. + type: array + items: + $ref: '#/components/schemas/cluster.stats:FieldTypes' + char_filter_types: + description: Contains statistics about character filter types used in selected nodes. + type: array + items: + $ref: '#/components/schemas/cluster.stats:FieldTypes' + filter_types: + description: Contains statistics about token filter types used in selected nodes. + type: array + items: + $ref: '#/components/schemas/cluster.stats:FieldTypes' + tokenizer_types: + description: Contains statistics about tokenizer types used in selected nodes. + type: array + items: + $ref: '#/components/schemas/cluster.stats:FieldTypes' + required: + - analyzer_types + - built_in_analyzers + - built_in_char_filters + - built_in_filters + - built_in_tokenizers + - char_filter_types + - filter_types + - tokenizer_types + cluster.stats:ClusterFileSystem: + type: object + properties: + available_in_bytes: + description: |- + Total number of bytes available to JVM in file stores across all selected nodes. + Depending on operating system or process-level restrictions, this number may be less than `nodes.fs.free_in_byes`. + This is the actual amount of free disk space the selected OpenSearch nodes can use. + type: number + free_in_bytes: + description: Total number of unallocated bytes in file stores across all selected nodes. + type: number + total_in_bytes: + description: Total size, in bytes, of all file stores across all selected nodes. + type: number + required: + - available_in_bytes + - free_in_bytes + - total_in_bytes + cluster.stats:ClusterIndices: + type: object + properties: + analysis: + $ref: '#/components/schemas/cluster.stats:CharFilterTypes' + completion: + $ref: '#/components/schemas/_common:CompletionStats' + count: + description: Total number of indices with shards assigned to selected nodes. + type: number + docs: + $ref: '#/components/schemas/_common:DocStats' + fielddata: + $ref: '#/components/schemas/_common:FielddataStats' + query_cache: + $ref: '#/components/schemas/_common:QueryCacheStats' + segments: + $ref: '#/components/schemas/_common:SegmentsStats' + shards: + $ref: '#/components/schemas/cluster.stats:ClusterIndicesShards' + store: + $ref: '#/components/schemas/_common:StoreStats' + mappings: + $ref: '#/components/schemas/cluster.stats:FieldTypesMappings' + versions: + description: Contains statistics about analyzers and analyzer components used in selected nodes. + type: array + items: + $ref: '#/components/schemas/cluster.stats:IndicesVersions' + required: + - analysis + - completion + - count + - docs + - fielddata + - mappings + - query_cache + - segments + - shards + - store + cluster.stats:ClusterIndicesShards: + type: object + properties: + index: + $ref: '#/components/schemas/cluster.stats:ClusterIndicesShardsIndex' + primaries: + description: Number of primary shards assigned to selected nodes. + type: number + replication: + description: Ratio of replica shards to primary shards across all selected nodes. + type: number + total: + description: Total number of shards assigned to selected nodes. + type: number + cluster.stats:ClusterIndicesShardsIndex: + type: object + properties: + primaries: + $ref: '#/components/schemas/cluster.stats:ClusterShardMetrics' + replication: + $ref: '#/components/schemas/cluster.stats:ClusterShardMetrics' + shards: + $ref: '#/components/schemas/cluster.stats:ClusterShardMetrics' + required: + - primaries + - replication + - shards + cluster.stats:ClusterIngest: + type: object + properties: + number_of_pipelines: + type: number + processor_stats: + type: object + additionalProperties: + $ref: '#/components/schemas/cluster.stats:ClusterProcessor' + required: + - number_of_pipelines + - processor_stats + cluster.stats:ClusterJvm: + type: object + properties: + max_uptime_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + mem: + $ref: '#/components/schemas/cluster.stats:ClusterJvmMemory' + threads: + description: Number of active threads in use by JVM across all selected nodes. + type: number + versions: + description: Contains statistics about the JVM versions used by selected nodes. + type: array + items: + $ref: '#/components/schemas/cluster.stats:ClusterJvmVersion' + required: + - max_uptime_in_millis + - mem + - threads + - versions + cluster.stats:ClusterJvmMemory: + type: object + properties: + heap_max_in_bytes: + description: Maximum amount of memory, in bytes, available for use by the heap across all selected nodes. + type: number + heap_used_in_bytes: + description: Memory, in bytes, currently in use by the heap across all selected nodes. + type: number + required: + - heap_max_in_bytes + - heap_used_in_bytes + cluster.stats:ClusterJvmVersion: + type: object + properties: + bundled_jdk: + description: Always `true`. All distributions come with a bundled Java Development Kit (JDK). + type: boolean + count: + description: Total number of selected nodes using JVM. + type: number + using_bundled_jdk: + description: If `true`, a bundled JDK is in use by JVM. + type: boolean + version: + $ref: '#/components/schemas/_common:VersionString' + vm_name: + description: Name of the JVM. + type: string + vm_vendor: + description: Vendor of the JVM. + type: string + vm_version: + $ref: '#/components/schemas/_common:VersionString' + required: + - bundled_jdk + - count + - using_bundled_jdk + - version + - vm_name + - vm_vendor + - vm_version + cluster.stats:ClusterNetworkTypes: + type: object + properties: + http_types: + description: Contains statistics about the HTTP network types used by selected nodes. + type: object + additionalProperties: + type: number + transport_types: + description: Contains statistics about the transport network types used by selected nodes. + type: object + additionalProperties: + type: number + required: + - http_types + - transport_types + cluster.stats:ClusterNodeCount: + type: object + properties: + coordinating_only: + type: number + data: + type: number + data_cold: + type: number + data_content: + type: number + data_frozen: + type: number + data_hot: + type: number + data_warm: + type: number + ingest: + type: number + master: + type: number + ml: + type: number + remote_cluster_client: + type: number + total: + type: number + transform: + type: number + voting_only: + type: number + required: + - coordinating_only + - data + - data_cold + - data_content + - data_hot + - data_warm + - ingest + - master + - ml + - remote_cluster_client + - total + - transform + - voting_only + cluster.stats:ClusterNodes: + type: object + properties: + count: + $ref: '#/components/schemas/cluster.stats:ClusterNodeCount' + discovery_types: + description: Contains statistics about the discovery types used by selected nodes. + type: object + additionalProperties: + type: number + fs: + $ref: '#/components/schemas/cluster.stats:ClusterFileSystem' + indexing_pressure: + $ref: '#/components/schemas/cluster.stats:IndexingPressure' + ingest: + $ref: '#/components/schemas/cluster.stats:ClusterIngest' + jvm: + $ref: '#/components/schemas/cluster.stats:ClusterJvm' + network_types: + $ref: '#/components/schemas/cluster.stats:ClusterNetworkTypes' + os: + $ref: '#/components/schemas/cluster.stats:ClusterOperatingSystem' + packaging_types: + description: Contains statistics about OpenSearch distributions installed on selected nodes. + type: array + items: + $ref: '#/components/schemas/cluster.stats:NodePackagingType' + plugins: + description: |- + Contains statistics about installed plugins and modules by selected nodes. + If no plugins or modules are installed, this array is empty. + type: array + items: + $ref: '#/components/schemas/_common:PluginStats' + process: + $ref: '#/components/schemas/cluster.stats:ClusterProcess' + versions: + description: Array of OpenSearch versions used on selected nodes. + type: array + items: + $ref: '#/components/schemas/_common:VersionString' + required: + - count + - discovery_types + - fs + - indexing_pressure + - ingest + - jvm + - network_types + - os + - packaging_types + - plugins + - process + - versions + cluster.stats:ClusterOperatingSystem: + type: object + properties: + allocated_processors: + description: |- + Number of processors used to calculate thread pool size across all selected nodes. + This number can be set with the processors setting of a node and defaults to the number of processors reported by the operating system. + In both cases, this number will never be larger than 32. + type: number + architectures: + description: Contains statistics about processor architectures (for example, x86_64 or aarch64) used by selected nodes. + type: array + items: + $ref: '#/components/schemas/cluster.stats:ClusterOperatingSystemArchitecture' + available_processors: + description: Number of processors available to JVM across all selected nodes. + type: number + mem: + $ref: '#/components/schemas/cluster.stats:OperatingSystemMemoryInfo' + names: + description: Contains statistics about operating systems used by selected nodes. + type: array + items: + $ref: '#/components/schemas/cluster.stats:ClusterOperatingSystemName' + pretty_names: + description: Contains statistics about operating systems used by selected nodes. + type: array + items: + $ref: '#/components/schemas/cluster.stats:ClusterOperatingSystemPrettyName' + required: + - allocated_processors + - available_processors + - mem + - names + - pretty_names + cluster.stats:ClusterOperatingSystemArchitecture: + type: object + properties: + arch: + description: Name of an architecture used by one or more selected nodes. + type: string + count: + description: Number of selected nodes using the architecture. + type: number + required: + - arch + - count + cluster.stats:ClusterOperatingSystemName: + type: object + properties: + count: + description: Number of selected nodes using the operating system. + type: number + name: + $ref: '#/components/schemas/_common:Name' + required: + - count + - name + cluster.stats:ClusterOperatingSystemPrettyName: + type: object + properties: + count: + description: Number of selected nodes using the operating system. + type: number + pretty_name: + $ref: '#/components/schemas/_common:Name' + required: + - count + - pretty_name + cluster.stats:ClusterProcess: + type: object + properties: + cpu: + $ref: '#/components/schemas/cluster.stats:ClusterProcessCpu' + open_file_descriptors: + $ref: '#/components/schemas/cluster.stats:ClusterProcessOpenFileDescriptors' + required: + - cpu + - open_file_descriptors + cluster.stats:ClusterProcessCpu: + type: object + properties: + percent: + description: |- + Percentage of CPU used across all selected nodes. + Returns `-1` if not supported. + type: number + required: + - percent + cluster.stats:ClusterProcessOpenFileDescriptors: + type: object + properties: + avg: + description: |- + Average number of concurrently open file descriptors. + Returns `-1` if not supported. + type: number + max: + description: |- + Maximum number of concurrently open file descriptors allowed across all selected nodes. + Returns `-1` if not supported. + type: number + min: + description: |- + Minimum number of concurrently open file descriptors across all selected nodes. + Returns -1 if not supported. + type: number + required: + - avg + - max + - min + cluster.stats:ClusterProcessor: + type: object + properties: + count: + type: number + current: + type: number + failed: + type: number + time: + $ref: '#/components/schemas/_common:Duration' + time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + required: + - count + - current + - failed + - time_in_millis + cluster.stats:ClusterShardMetrics: + type: object + properties: + avg: + description: Mean number of shards in an index, counting only shards assigned to selected nodes. + type: number + max: + description: Maximum number of shards in an index, counting only shards assigned to selected nodes. + type: number + min: + description: Minimum number of shards in an index, counting only shards assigned to selected nodes. + type: number + required: + - avg + - max + - min + cluster.stats:FieldTypes: + type: object + properties: + name: + $ref: '#/components/schemas/_common:Name' + count: + description: The number of occurrences of the field type in selected nodes. + type: number + index_count: + description: The number of indices containing the field type in selected nodes. + type: number + indexed_vector_count: + description: For dense_vector field types, number of indexed vector types in selected nodes. + type: number + indexed_vector_dim_max: + description: For dense_vector field types, the maximum dimension of all indexed vector types in selected nodes. + type: number + indexed_vector_dim_min: + description: For dense_vector field types, the minimum dimension of all indexed vector types in selected nodes. + type: number + script_count: + description: The number of fields that declare a script. + type: number + required: + - count + - index_count + - name + cluster.stats:FieldTypesMappings: + type: object + properties: + field_types: + description: Contains statistics about field data types used in selected nodes. + type: array + items: + $ref: '#/components/schemas/cluster.stats:FieldTypes' + runtime_field_types: + description: Contains statistics about runtime field data types used in selected nodes. + type: array + items: + $ref: '#/components/schemas/cluster.stats:RuntimeFieldTypes' + total_field_count: + description: Total number of fields in all non-system indices. + type: number + total_deduplicated_field_count: + description: Total number of fields in all non-system indices, accounting for mapping deduplication. + type: number + total_deduplicated_mapping_size: + $ref: '#/components/schemas/_common:ByteSize' + total_deduplicated_mapping_size_in_bytes: + description: Total size of all mappings, in bytes, after deduplication and compression. + type: number + required: + - field_types + cluster.stats:IndexingPressure: + type: object + properties: + memory: + $ref: '#/components/schemas/cluster.stats:IndexingPressureMemory' + required: + - memory + cluster.stats:IndexingPressureMemory: + type: object + properties: + current: + $ref: '#/components/schemas/cluster.stats:IndexingPressureMemorySummary' + limit_in_bytes: + type: number + total: + $ref: '#/components/schemas/cluster.stats:IndexingPressureMemorySummary' + required: + - current + - limit_in_bytes + - total + cluster.stats:IndexingPressureMemorySummary: + type: object + properties: + all_in_bytes: + type: number + combined_coordinating_and_primary_in_bytes: + type: number + coordinating_in_bytes: + type: number + coordinating_rejections: + type: number + primary_in_bytes: + type: number + primary_rejections: + type: number + replica_in_bytes: + type: number + replica_rejections: + type: number + required: + - all_in_bytes + - combined_coordinating_and_primary_in_bytes + - coordinating_in_bytes + - primary_in_bytes + - replica_in_bytes + cluster.stats:IndicesVersions: + type: object + properties: + index_count: + type: number + primary_shard_count: + type: number + total_primary_bytes: + type: number + version: + $ref: '#/components/schemas/_common:VersionString' + required: + - index_count + - primary_shard_count + - total_primary_bytes + - version + cluster.stats:NodePackagingType: + type: object + properties: + count: + description: Number of selected nodes using the distribution flavor and file type. + type: number + flavor: + description: Type of OpenSearch distribution. This is always `default`. + type: string + type: + description: File type (such as `tar` or `zip`) used for the distribution package. + type: string + required: + - count + - flavor + - type + cluster.stats:OperatingSystemMemoryInfo: + type: object + properties: + adjusted_total_in_bytes: + description: Total amount, in bytes, of memory across all selected nodes, but using the value specified using the `es.total_memory_bytes` system property instead of measured total memory for those nodes where that system property was set. + type: number + free_in_bytes: + description: Amount, in bytes, of free physical memory across all selected nodes. + type: number + free_percent: + description: Percentage of free physical memory across all selected nodes. + type: number + total_in_bytes: + description: Total amount, in bytes, of physical memory across all selected nodes. + type: number + used_in_bytes: + description: Amount, in bytes, of physical memory in use across all selected nodes. + type: number + used_percent: + description: Percentage of physical memory in use across all selected nodes. + type: number + required: + - free_in_bytes + - free_percent + - total_in_bytes + - used_in_bytes + - used_percent + cluster.stats:RuntimeFieldTypes: + type: object + properties: + chars_max: + description: Maximum number of characters for a single runtime field script. + type: number + chars_total: + description: Total number of characters for the scripts that define the current runtime field data type. + type: number + count: + description: Number of runtime fields mapped to the field data type in selected nodes. + type: number + doc_max: + description: Maximum number of accesses to doc_values for a single runtime field script + type: number + doc_total: + description: Total number of accesses to doc_values for the scripts that define the current runtime field data type. + type: number + index_count: + description: Number of indices containing a mapping of the runtime field data type in selected nodes. + type: number + lang: + description: Script languages used for the runtime fields scripts. + type: array + items: + type: string + lines_max: + description: Maximum number of lines for a single runtime field script. + type: number + lines_total: + description: Total number of lines for the scripts that define the current runtime field data type. + type: number + name: + $ref: '#/components/schemas/_common:Name' + scriptless_count: + description: Number of runtime fields that don't declare a script. + type: number + shadowed_count: + description: Number of runtime fields that shadow an indexed field. + type: number + source_max: + description: Maximum number of accesses to _source for a single runtime field script. + type: number + source_total: + description: Total number of accesses to _source for the scripts that define the current runtime field data type. + type: number + required: + - chars_max + - chars_total + - count + - doc_max + - doc_total + - index_count + - lang + - lines_max + - lines_total + - name + - scriptless_count + - shadowed_count + - source_max + - source_total + cluster.stats:StatsResponseBase: + allOf: + - $ref: '#/components/schemas/nodes._common:NodesResponseBase' + - type: object + properties: + cluster_name: + $ref: '#/components/schemas/_common:Name' + cluster_uuid: + $ref: '#/components/schemas/_common:Uuid' + indices: + $ref: '#/components/schemas/cluster.stats:ClusterIndices' + nodes: + $ref: '#/components/schemas/cluster.stats:ClusterNodes' + status: + $ref: '#/components/schemas/_common:HealthStatus' + timestamp: + description: Unix timestamp, in milliseconds, for the last time the cluster statistics were refreshed. + type: number + required: + - cluster_name + - cluster_uuid + - indices + - nodes + - status + - timestamp + dangling_indices.list_dangling_indices:DanglingIndex: + type: object + properties: + index_name: + type: string + index_uuid: + type: string + creation_date: + $ref: '#/components/schemas/_common:DateTime' + creation_date_millis: + $ref: '#/components/schemas/_common:EpochTimeUnitMillis' + node_ids: + $ref: '#/components/schemas/_common:Ids' + required: + - creation_date_millis + - index_name + - index_uuid + - node_ids + indices._common:Alias: + type: object + properties: + filter: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + index_routing: + $ref: '#/components/schemas/_common:Routing' + is_hidden: + description: |- + If `true`, the alias is hidden. + All indices for the alias must have the same `is_hidden` value. + type: boolean + is_write_index: + description: If `true`, the index is the write index for the alias. + type: boolean + routing: + $ref: '#/components/schemas/_common:Routing' + search_routing: + $ref: '#/components/schemas/_common:Routing' + indices._common:AliasDefinition: + type: object + properties: + filter: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + index_routing: + description: |- + Value used to route indexing operations to a specific shard. + If specified, this overwrites the `routing` value for indexing operations. + type: string + is_write_index: + description: If `true`, the index is the write index for the alias. + type: boolean + routing: + description: Value used to route indexing and search operations to a specific shard. + type: string + search_routing: + description: |- + Value used to route search operations to a specific shard. + If specified, this overwrites the `routing` value for search operations. + type: string + is_hidden: + description: |- + If `true`, the alias is hidden. + All indices for the alias must have the same `is_hidden` value. + type: boolean + indices._common:CacheQueries: + type: object + properties: + enabled: + type: boolean + required: + - enabled + indices._common:DataStream: + type: object + properties: + _meta: + $ref: '#/components/schemas/_common:Metadata' + allow_custom_routing: + description: If `true`, the data stream allows custom routing on write request. + type: boolean + generation: + description: Current generation for the data stream. This number acts as a cumulative count of the stream's rollovers, starting at 1. + type: number + hidden: + description: If `true`, the data stream is hidden. + type: boolean + ilm_policy: + $ref: '#/components/schemas/_common:Name' + next_generation_managed_by: + $ref: '#/components/schemas/indices._common:ManagedBy' + prefer_ilm: + description: Indicates if ILM should take precedence over DSL in case both are configured to managed this data stream. + type: boolean + indices: + description: |- + Array of objects containing information about the data stream's backing indices. + The last item in this array contains information about the stream's current write index. + type: array + items: + $ref: '#/components/schemas/indices._common:DataStreamIndex' + lifecycle: + $ref: '#/components/schemas/indices._common:DataStreamLifecycleWithRollover' + name: + $ref: '#/components/schemas/_common:DataStreamName' + replicated: + description: If `true`, the data stream is created and managed by cross-cluster replication and the local cluster can not write into this data stream or change its mappings. + type: boolean + status: + $ref: '#/components/schemas/_common:HealthStatusCapitalized' + system: + description: If `true`, the data stream is created and managed by an OpenSearch stack component and cannot be modified through normal user interaction. + type: boolean + template: + $ref: '#/components/schemas/_common:Name' + timestamp_field: + $ref: '#/components/schemas/indices._common:DataStreamTimestampField' + required: + - generation + - indices + - name + - status + - template + - timestamp_field + indices._common:DataStreamIndex: + type: object + properties: + index_name: + $ref: '#/components/schemas/_common:IndexName' + index_uuid: + $ref: '#/components/schemas/_common:Uuid' + ilm_policy: + $ref: '#/components/schemas/_common:Name' + managed_by: + $ref: '#/components/schemas/indices._common:ManagedBy' + prefer_ilm: + description: Indicates if ILM should take precedence over DSL in case both are configured to manage this index. + type: boolean + required: + - index_name + - index_uuid + indices._common:DataStreamLifecycle: + type: object + properties: + data_retention: + $ref: '#/components/schemas/_common:Duration' + downsampling: + $ref: '#/components/schemas/indices._common:DataStreamLifecycleDownsampling' + indices._common:DataStreamLifecycleDownsampling: + type: object + properties: + rounds: + description: The list of downsampling rounds to execute as part of this downsampling configuration + type: array + items: + $ref: '#/components/schemas/indices._common:DownsamplingRound' + required: + - rounds + indices._common:DataStreamLifecycleRolloverConditions: + type: object + properties: + min_age: + $ref: '#/components/schemas/_common:Duration' + max_age: + type: string + min_docs: + type: number + max_docs: + type: number + min_size: + $ref: '#/components/schemas/_common:ByteSize' + max_size: + $ref: '#/components/schemas/_common:ByteSize' + min_primary_shard_size: + $ref: '#/components/schemas/_common:ByteSize' + max_primary_shard_size: + $ref: '#/components/schemas/_common:ByteSize' + min_primary_shard_docs: + type: number + max_primary_shard_docs: + type: number + indices._common:DataStreamLifecycleWithRollover: + type: object + properties: + data_retention: + $ref: '#/components/schemas/_common:Duration' + downsampling: + $ref: '#/components/schemas/indices._common:DataStreamLifecycleDownsampling' + rollover: + $ref: '#/components/schemas/indices._common:DataStreamLifecycleRolloverConditions' + indices._common:DataStreamTimestampField: + type: object + properties: + name: + $ref: '#/components/schemas/_common:Field' + required: + - name + indices._common:DownsampleConfig: + type: object + properties: + fixed_interval: + $ref: '#/components/schemas/_common:DurationLarge' + required: + - fixed_interval + indices._common:DownsamplingRound: + type: object + properties: + after: + $ref: '#/components/schemas/_common:Duration' + config: + $ref: '#/components/schemas/indices._common:DownsampleConfig' + required: + - after + - config + indices._common:FielddataFrequencyFilter: + type: object + properties: + max: + type: number + min: + type: number + min_segment_size: + type: number + required: + - max + - min + - min_segment_size + indices._common:IndexCheckOnStartup: + type: string + enum: + - checksum + - 'false' + - 'true' + indices._common:IndexingPressure: + type: object + properties: + memory: + $ref: '#/components/schemas/indices._common:IndexingPressureMemory' + required: + - memory + indices._common:IndexingPressureMemory: + type: object + properties: + limit: + description: |- + Number of outstanding bytes that may be consumed by indexing requests. When this limit is reached or exceeded, + the node will reject new coordinating and primary operations. When replica operations consume 1.5x this limit, + the node will reject new replica operations. Defaults to 10% of the heap. + type: number + indices._common:IndexingSlowlogSettings: + type: object + properties: + level: + type: string + source: + type: number + reformat: + type: boolean + threshold: + $ref: '#/components/schemas/indices._common:IndexingSlowlogThresholds' + indices._common:IndexingSlowlogThresholds: + type: object + properties: + index: + $ref: '#/components/schemas/indices._common:SlowlogThresholdLevels' + indices._common:IndexRouting: + type: object + properties: + allocation: + $ref: '#/components/schemas/indices._common:IndexRoutingAllocation' + rebalance: + $ref: '#/components/schemas/indices._common:IndexRoutingRebalance' + indices._common:IndexRoutingAllocation: + type: object + properties: + enable: + $ref: '#/components/schemas/indices._common:IndexRoutingAllocationOptions' + include: + $ref: '#/components/schemas/indices._common:IndexRoutingAllocationInclude' + initial_recovery: + $ref: '#/components/schemas/indices._common:IndexRoutingAllocationInitialRecovery' + disk: + $ref: '#/components/schemas/indices._common:IndexRoutingAllocationDisk' + indices._common:IndexRoutingAllocationDisk: + type: object + properties: + threshold_enabled: + oneOf: + - type: boolean + - type: string + indices._common:IndexRoutingAllocationInclude: + type: object + properties: + _tier_preference: + type: string + _id: + $ref: '#/components/schemas/_common:Id' + indices._common:IndexRoutingAllocationInitialRecovery: + type: object + properties: + _id: + $ref: '#/components/schemas/_common:Id' + indices._common:IndexRoutingAllocationOptions: + type: string + enum: + - all + - new_primaries + - none + - primaries + indices._common:IndexRoutingRebalance: + type: object + properties: + enable: + $ref: '#/components/schemas/indices._common:IndexRoutingRebalanceOptions' + required: + - enable + indices._common:IndexRoutingRebalanceOptions: + type: string + enum: + - all + - none + - primaries + - replicas + indices._common:IndexSegmentSort: + type: object + properties: + field: + $ref: '#/components/schemas/_common:Fields' + order: + oneOf: + - $ref: '#/components/schemas/indices._common:SegmentSortOrder' + - type: array + items: + $ref: '#/components/schemas/indices._common:SegmentSortOrder' + mode: + oneOf: + - $ref: '#/components/schemas/indices._common:SegmentSortMode' + - type: array + items: + $ref: '#/components/schemas/indices._common:SegmentSortMode' + missing: + oneOf: + - $ref: '#/components/schemas/indices._common:SegmentSortMissing' + - type: array + items: + $ref: '#/components/schemas/indices._common:SegmentSortMissing' + indices._common:IndexSettingBlocks: + type: object + properties: + read_only: + $ref: '#/components/schemas/_common:Stringifiedboolean' + read_only_allow_delete: + $ref: '#/components/schemas/_common:Stringifiedboolean' + read: + $ref: '#/components/schemas/_common:Stringifiedboolean' + write: + $ref: '#/components/schemas/_common:Stringifiedboolean' + metadata: + $ref: '#/components/schemas/_common:Stringifiedboolean' + indices._common:IndexSettings: + type: object + description: The index settings to be updated. + properties: + index: + $ref: '#/components/schemas/indices._common:IndexSettings' + mode: + type: string + routing_path: + oneOf: + - type: string + - type: array + items: + type: string + soft_deletes: + $ref: '#/components/schemas/indices._common:SoftDeletes' + sort: + $ref: '#/components/schemas/indices._common:IndexSegmentSort' + number_of_shards: + oneOf: + - type: number + - type: string + number_of_replicas: + oneOf: + - type: number + - type: string + number_of_routing_shards: + type: number + check_on_startup: + $ref: '#/components/schemas/indices._common:IndexCheckOnStartup' + codec: + type: string + routing_partition_size: + $ref: '#/components/schemas/_common:Stringifiedinteger' + load_fixed_bitset_filters_eagerly: + type: boolean + hidden: + oneOf: + - type: boolean + - type: string + auto_expand_replicas: + type: string + merge: + $ref: '#/components/schemas/indices._common:Merge' + search: + $ref: '#/components/schemas/indices._common:SettingsSearch' + refresh_interval: + $ref: '#/components/schemas/_common:Duration' + max_result_window: + type: number + max_inner_result_window: + type: number + max_rescore_window: + type: number + max_docvalue_fields_search: + type: number + max_script_fields: + type: number + max_ngram_diff: + type: number + max_shingle_diff: + type: number + blocks: + $ref: '#/components/schemas/indices._common:IndexSettingBlocks' + max_refresh_listeners: + type: number + analyze: + $ref: '#/components/schemas/indices._common:SettingsAnalyze' + highlight: + $ref: '#/components/schemas/indices._common:SettingsHighlight' + max_terms_count: + type: number + max_regex_length: + type: number + routing: + $ref: '#/components/schemas/indices._common:IndexRouting' + gc_deletes: + $ref: '#/components/schemas/_common:Duration' + default_pipeline: + $ref: '#/components/schemas/_common:PipelineName' + final_pipeline: + $ref: '#/components/schemas/_common:PipelineName' + lifecycle: + $ref: '#/components/schemas/indices._common:IndexSettingsLifecycle' + provided_name: + $ref: '#/components/schemas/_common:Name' + creation_date: + $ref: '#/components/schemas/_common:StringifiedEpochTimeUnitMillis' + creation_date_string: + $ref: '#/components/schemas/_common:DateTime' + uuid: + $ref: '#/components/schemas/_common:Uuid' + version: + $ref: '#/components/schemas/indices._common:IndexVersioning' + verified_before_close: + oneOf: + - type: boolean + - type: string + format: + oneOf: + - type: string + - type: number + max_slices_per_scroll: + type: number + translog: + $ref: '#/components/schemas/indices._common:Translog' + query_string: + $ref: '#/components/schemas/indices._common:SettingsQueryString' + priority: + oneOf: + - type: number + - type: string + top_metrics_max_size: + type: number + analysis: + $ref: '#/components/schemas/indices._common:IndexSettingsAnalysis' + settings: + $ref: '#/components/schemas/indices._common:IndexSettings' + time_series: + $ref: '#/components/schemas/indices._common:IndexSettingsTimeSeries' + queries: + $ref: '#/components/schemas/indices._common:Queries' + similarity: + $ref: '#/components/schemas/indices._common:SettingsSimilarity' + mapping: + $ref: '#/components/schemas/indices._common:MappingLimitSettings' + indexing.slowlog: + $ref: '#/components/schemas/indices._common:IndexingSlowlogSettings' + indexing_pressure: + $ref: '#/components/schemas/indices._common:IndexingPressure' + store: + $ref: '#/components/schemas/indices._common:Storage' + additionalProperties: {} + indices._common:IndexSettingsAnalysis: + type: object + properties: + analyzer: + type: object + additionalProperties: + $ref: '#/components/schemas/_common.analysis:Analyzer' + char_filter: + type: object + additionalProperties: + $ref: '#/components/schemas/_common.analysis:CharFilter' + filter: + type: object + additionalProperties: + $ref: '#/components/schemas/_common.analysis:TokenFilter' + normalizer: + type: object + additionalProperties: + $ref: '#/components/schemas/_common.analysis:Normalizer' + tokenizer: + type: object + additionalProperties: + $ref: '#/components/schemas/_common.analysis:Tokenizer' + indices._common:IndexSettingsLifecycle: + type: object + properties: + name: + $ref: '#/components/schemas/_common:Name' + indexing_complete: + $ref: '#/components/schemas/_common:Stringifiedboolean' + origination_date: + description: |- + If specified, this is the timestamp used to calculate the index age for its phase transitions. Use this setting + if you create a new index that contains old data and want to use the original creation date to calculate the index + age. Specified as a Unix epoch value in milliseconds. + type: number + parse_origination_date: + description: |- + Set to true to parse the origination date from the index name. This origination date is used to calculate the index age + for its phase transitions. The index name must match the pattern ^.*-{date_format}-\\d+, where the date_format is + yyyy.MM.dd and the trailing digits are optional. An index that was rolled over would normally match the full format, + for example logs-2016.10.31-000002). If the index name doesn't match the pattern, index creation fails. + type: boolean + step: + $ref: '#/components/schemas/indices._common:IndexSettingsLifecycleStep' + rollover_alias: + description: |- + The index alias to update when the index rolls over. Specify when using a policy that contains a rollover action. + When the index rolls over, the alias is updated to reflect that the index is no longer the write index. For more + information about rolling indices, see Rollover. + type: string + required: + - name + indices._common:IndexSettingsLifecycleStep: + type: object + properties: + wait_time_threshold: + $ref: '#/components/schemas/_common:Duration' + indices._common:IndexSettingsTimeSeries: + type: object + properties: + end_time: + $ref: '#/components/schemas/_common:DateTime' + start_time: + $ref: '#/components/schemas/_common:DateTime' + indices._common:IndexState: + type: object + properties: + aliases: + type: object + additionalProperties: + $ref: '#/components/schemas/indices._common:Alias' + mappings: + $ref: '#/components/schemas/_common.mapping:TypeMapping' + settings: + $ref: '#/components/schemas/indices._common:IndexSettings' + defaults: + $ref: '#/components/schemas/indices._common:IndexSettings' + data_stream: + $ref: '#/components/schemas/_common:DataStreamName' + lifecycle: + $ref: '#/components/schemas/indices._common:DataStreamLifecycle' + indices._common:IndexTemplate: + type: object + properties: + index_patterns: + $ref: '#/components/schemas/_common:Names' + composed_of: + description: |- + An ordered list of component template names. + Component templates are merged in the order specified, meaning that the last component template specified has the highest precedence. + type: array + items: + $ref: '#/components/schemas/_common:Name' + template: + $ref: '#/components/schemas/indices._common:IndexTemplateSummary' + version: + $ref: '#/components/schemas/_common:VersionNumber' + priority: + description: |- + Priority to determine index template precedence when a new data stream or index is created. + The index template with the highest priority is chosen. + If no priority is specified the template is treated as though it is of priority 0 (lowest priority). + This number is not automatically generated by OpenSearch. + type: number + _meta: + $ref: '#/components/schemas/_common:Metadata' + allow_auto_create: + type: boolean + data_stream: + $ref: '#/components/schemas/indices._common:IndexTemplateDataStreamConfiguration' + required: + - index_patterns + description: New index template definition to be simulated, if no index template name is specified. + indices._common:IndexTemplateDataStreamConfiguration: + type: object + properties: + hidden: + description: If true, the data stream is hidden. + type: boolean + allow_custom_routing: + description: If true, the data stream supports custom routing. + type: boolean + timestamp_field: + $ref: '#/components/schemas/indices._common:DataStreamTimestampField' + indices._common:IndexTemplateSummary: + type: object + properties: + aliases: + description: |- + Aliases to add. + If the index template includes a `data_stream` object, these are data stream aliases. + Otherwise, these are index aliases. + Data stream aliases ignore the `index_routing`, `routing`, and `search_routing` options. + type: object + additionalProperties: + $ref: '#/components/schemas/indices._common:Alias' + mappings: + $ref: '#/components/schemas/_common.mapping:TypeMapping' + settings: + $ref: '#/components/schemas/indices._common:IndexSettings' + lifecycle: + $ref: '#/components/schemas/indices._common:DataStreamLifecycleWithRollover' + indices._common:IndexVersioning: + type: object + properties: + created: + $ref: '#/components/schemas/_common:VersionString' + created_string: + type: string + indices._common:ManagedBy: + type: string + enum: + - Data stream lifecycle + - Index Lifecycle Management + - Unmanaged + indices._common:MappingLimitSettings: + type: object + properties: + coerce: + type: boolean + total_fields: + $ref: '#/components/schemas/indices._common:MappingLimitSettingsTotalFields' + depth: + $ref: '#/components/schemas/indices._common:MappingLimitSettingsDepth' + nested_fields: + $ref: '#/components/schemas/indices._common:MappingLimitSettingsNestedFields' + nested_objects: + $ref: '#/components/schemas/indices._common:MappingLimitSettingsNestedObjects' + field_name_length: + $ref: '#/components/schemas/indices._common:MappingLimitSettingsFieldNameLength' + dimension_fields: + $ref: '#/components/schemas/indices._common:MappingLimitSettingsDimensionFields' + ignore_malformed: + type: boolean + indices._common:MappingLimitSettingsDepth: + type: object + properties: + limit: + description: |- + The maximum depth for a field, which is measured as the number of inner objects. For instance, if all fields are defined + at the root object level, then the depth is 1. If there is one object mapping, then the depth is 2, etc. + type: number + indices._common:MappingLimitSettingsDimensionFields: + type: object + properties: + limit: + description: |- + [preview] This functionality is in technical preview and may be changed or removed in a future release. + OpenSearch will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features. + type: number + indices._common:MappingLimitSettingsFieldNameLength: + type: object + properties: + limit: + description: |- + Setting for the maximum length of a field name. This setting isn't really something that addresses mappings explosion but + might still be useful if you want to limit the field length. It usually shouldn't be necessary to set this setting. The + default is okay unless a user starts to add a huge number of fields with really long names. Default is `Long.MAX_VALUE` (no limit). + type: number + indices._common:MappingLimitSettingsNestedFields: + type: object + properties: + limit: + description: |- + The maximum number of distinct nested mappings in an index. The nested type should only be used in special cases, when + arrays of objects need to be queried independently of each other. To safeguard against poorly designed mappings, this + setting limits the number of unique nested types per index. + type: number + indices._common:MappingLimitSettingsNestedObjects: + type: object + properties: + limit: + description: |- + The maximum number of nested JSON objects that a single document can contain across all nested types. This limit helps + to prevent out of memory errors when a document contains too many nested objects. + type: number + indices._common:MappingLimitSettingsTotalFields: + type: object + properties: + limit: + description: |- + The maximum number of fields in an index. Field and object mappings, as well as field aliases count towards this limit. + The limit is in place to prevent mappings and searches from becoming too large. Higher values can lead to performance + degradations and memory issues, especially in clusters with a high load or few resources. + type: number + indices._common:Merge: + type: object + properties: + scheduler: + $ref: '#/components/schemas/indices._common:MergeScheduler' + indices._common:MergeScheduler: + type: object + properties: + max_thread_count: + $ref: '#/components/schemas/_common:Stringifiedinteger' + max_merge_count: + $ref: '#/components/schemas/_common:Stringifiedinteger' + indices._common:NumericFielddata: + type: object + properties: + format: + $ref: '#/components/schemas/indices._common:NumericFielddataFormat' + required: + - format + indices._common:NumericFielddataFormat: + type: string + enum: + - array + - disabled + indices._common:Queries: + type: object + properties: + cache: + $ref: '#/components/schemas/indices._common:CacheQueries' + indices._common:RetentionLease: + type: object + properties: + period: + $ref: '#/components/schemas/_common:Duration' + required: + - period + indices._common:SearchIdle: + type: object + properties: + after: + $ref: '#/components/schemas/_common:Duration' + indices._common:SegmentSortMissing: + type: string + enum: + - _first + - _last + indices._common:SegmentSortMode: + type: string + enum: + - max + - min + indices._common:SegmentSortOrder: + type: string + enum: + - asc + - desc + indices._common:SettingsAnalyze: + type: object + properties: + max_token_count: + $ref: '#/components/schemas/_common:Stringifiedinteger' + indices._common:SettingsHighlight: + type: object + properties: + max_analyzed_offset: + type: number + indices._common:SettingsQueryString: + type: object + properties: + lenient: + $ref: '#/components/schemas/_common:Stringifiedboolean' + required: + - lenient + indices._common:SettingsSearch: + type: object + properties: + idle: + $ref: '#/components/schemas/indices._common:SearchIdle' + slowlog: + $ref: '#/components/schemas/indices._common:SlowlogSettings' + indices._common:SettingsSimilarity: + type: object + properties: + bm25: + $ref: '#/components/schemas/indices._common:SettingsSimilarityBm25' + dfi: + $ref: '#/components/schemas/indices._common:SettingsSimilarityDfi' + dfr: + $ref: '#/components/schemas/indices._common:SettingsSimilarityDfr' + ib: + $ref: '#/components/schemas/indices._common:SettingsSimilarityIb' + lmd: + $ref: '#/components/schemas/indices._common:SettingsSimilarityLmd' + lmj: + $ref: '#/components/schemas/indices._common:SettingsSimilarityLmj' + scripted_tfidf: + $ref: '#/components/schemas/indices._common:SettingsSimilarityScriptedTfidf' + indices._common:SettingsSimilarityBm25: + type: object + properties: + b: + type: number + discount_overlaps: + type: boolean + k1: + type: number + type: + type: string + enum: + - BM25 + required: + - b + - discount_overlaps + - k1 + - type + indices._common:SettingsSimilarityDfi: + type: object + properties: + independence_measure: + $ref: '#/components/schemas/_common:DFIIndependenceMeasure' + type: + type: string + enum: + - DFI + required: + - independence_measure + - type + indices._common:SettingsSimilarityDfr: + type: object + properties: + after_effect: + $ref: '#/components/schemas/_common:DFRAfterEffect' + basic_model: + $ref: '#/components/schemas/_common:DFRBasicModel' + normalization: + $ref: '#/components/schemas/_common:Normalization' + type: + type: string + enum: + - DFR + required: + - after_effect + - basic_model + - normalization + - type + indices._common:SettingsSimilarityIb: + type: object + properties: + distribution: + $ref: '#/components/schemas/_common:IBDistribution' + lambda: + $ref: '#/components/schemas/_common:IBLambda' + normalization: + $ref: '#/components/schemas/_common:Normalization' + type: + type: string + enum: + - IB + required: + - distribution + - lambda + - normalization + - type + indices._common:SettingsSimilarityLmd: + type: object + properties: + mu: + type: number + type: + type: string + enum: + - LMDirichlet + required: + - mu + - type + indices._common:SettingsSimilarityLmj: + type: object + properties: + lambda: + type: number + type: + type: string + enum: + - LMJelinekMercer + required: + - lambda + - type + indices._common:SettingsSimilarityScriptedTfidf: + type: object + properties: + script: + $ref: '#/components/schemas/_common:Script' + type: + type: string + enum: + - scripted + required: + - script + - type + indices._common:SlowlogSettings: + type: object + properties: + level: + type: string + source: + type: number + reformat: + type: boolean + threshold: + $ref: '#/components/schemas/indices._common:SlowlogThresholds' + indices._common:SlowlogThresholdLevels: + type: object + properties: + warn: + $ref: '#/components/schemas/_common:Duration' + info: + $ref: '#/components/schemas/_common:Duration' + debug: + $ref: '#/components/schemas/_common:Duration' + trace: + $ref: '#/components/schemas/_common:Duration' + indices._common:SlowlogThresholds: + type: object + properties: + query: + $ref: '#/components/schemas/indices._common:SlowlogThresholdLevels' + fetch: + $ref: '#/components/schemas/indices._common:SlowlogThresholdLevels' + indices._common:SoftDeletes: + type: object + properties: + enabled: + description: Indicates whether soft deletes are enabled on the index. + type: boolean + retention_lease: + $ref: '#/components/schemas/indices._common:RetentionLease' + indices._common:Storage: + type: object + properties: + type: + $ref: '#/components/schemas/indices._common:StorageType' + allow_mmap: + description: |- + You can restrict the use of the mmapfs and the related hybridfs store type via the setting node.store.allow_mmap. + This is a boolean setting indicating whether or not memory-mapping is allowed. The default is to allow it. This + setting is useful, for example, if you are in an environment where you can not control the ability to create a lot + of memory maps so you need disable the ability to use memory-mapping. + type: boolean + required: + - type + indices._common:StorageType: + type: string + enum: + - fs + - hybridfs + - mmapfs + - niofs + indices._common:TemplateMapping: + type: object + properties: + aliases: + type: object + additionalProperties: + $ref: '#/components/schemas/indices._common:Alias' + index_patterns: + type: array + items: + $ref: '#/components/schemas/_common:Name' + mappings: + $ref: '#/components/schemas/_common.mapping:TypeMapping' + order: + type: number + settings: + type: object + additionalProperties: + type: object + version: + $ref: '#/components/schemas/_common:VersionNumber' + required: + - aliases + - index_patterns + - mappings + - order + - settings + indices._common:Translog: + type: object + properties: + sync_interval: + $ref: '#/components/schemas/_common:Duration' + durability: + $ref: '#/components/schemas/indices._common:TranslogDurability' + flush_threshold_size: + $ref: '#/components/schemas/_common:ByteSize' + retention: + $ref: '#/components/schemas/indices._common:TranslogRetention' + indices._common:TranslogDurability: + type: string + enum: + - async + - request + indices._common:TranslogRetention: + type: object + properties: + size: + $ref: '#/components/schemas/_common:ByteSize' + age: + $ref: '#/components/schemas/_common:Duration' + indices.add_block:IndicesBlockOptions: + type: string + enum: + - metadata + - read + - read_only + - write + indices.add_block:IndicesBlockStatus: + type: object + properties: + name: + $ref: '#/components/schemas/_common:IndexName' + blocked: + type: boolean + required: + - blocked + - name + indices.analyze:AnalyzeDetail: + type: object + properties: + analyzer: + $ref: '#/components/schemas/indices.analyze:AnalyzerDetail' + charfilters: + type: array + items: + $ref: '#/components/schemas/indices.analyze:CharFilterDetail' + custom_analyzer: + type: boolean + tokenfilters: + type: array + items: + $ref: '#/components/schemas/indices.analyze:TokenDetail' + tokenizer: + $ref: '#/components/schemas/indices.analyze:TokenDetail' + required: + - custom_analyzer + indices.analyze:AnalyzerDetail: + type: object + properties: + name: + type: string + tokens: + type: array + items: + $ref: '#/components/schemas/indices.analyze:ExplainAnalyzeToken' + required: + - name + - tokens + indices.analyze:AnalyzeToken: + type: object + properties: + end_offset: + type: number + position: + type: number + positionLength: + type: number + start_offset: + type: number + token: + type: string + type: + type: string + required: + - end_offset + - position + - start_offset + - token + - type + indices.analyze:CharFilterDetail: + type: object + properties: + filtered_text: + type: array + items: + type: string + name: + type: string + required: + - filtered_text + - name + indices.analyze:ExplainAnalyzeToken: + type: object + properties: + bytes: + type: string + end_offset: + type: number + keyword: + type: boolean + position: + type: number + positionLength: + type: number + start_offset: + type: number + termFrequency: + type: number + token: + type: string + type: + type: string + required: + - bytes + - end_offset + - position + - positionLength + - start_offset + - termFrequency + - token + - type + indices.analyze:TextToAnalyze: + oneOf: + - type: string + - type: array + items: + type: string + indices.analyze:TokenDetail: + type: object + properties: + name: + type: string + tokens: + type: array + items: + $ref: '#/components/schemas/indices.analyze:ExplainAnalyzeToken' + required: + - name + - tokens + indices.close:CloseIndexResult: + type: object + properties: + closed: + type: boolean + shards: + type: object + additionalProperties: + $ref: '#/components/schemas/indices.close:CloseShardResult' + required: + - closed + indices.close:CloseShardResult: + type: object + properties: + failures: + type: array + items: + $ref: '#/components/schemas/_common:ShardFailure' + required: + - failures + indices.data_streams_stats:DataStreamsStatsItem: + type: object + properties: + backing_indices: + description: Current number of backing indices for the data stream. + type: number + data_stream: + $ref: '#/components/schemas/_common:Name' + maximum_timestamp: + $ref: '#/components/schemas/_common:EpochTimeUnitMillis' + store_size: + $ref: '#/components/schemas/_common:ByteSize' + store_size_bytes: + description: Total size, in bytes, of all shards for the data stream's backing indices. + type: number + required: + - backing_indices + - data_stream + - maximum_timestamp + - store_size_bytes + indices.get_alias:IndexAliases: + type: object + properties: + aliases: + type: object + additionalProperties: + $ref: '#/components/schemas/indices._common:AliasDefinition' + required: + - aliases + indices.get_field_mapping:TypeFieldMappings: + type: object + properties: + mappings: + type: object + additionalProperties: + $ref: '#/components/schemas/_common.mapping:FieldMapping' + required: + - mappings + indices.get_index_template:IndexTemplateItem: + type: object + properties: + name: + $ref: '#/components/schemas/_common:Name' + index_template: + $ref: '#/components/schemas/indices._common:IndexTemplate' + required: + - index_template + - name + indices.get_mapping:IndexMappingRecord: + type: object + properties: + item: + $ref: '#/components/schemas/_common.mapping:TypeMapping' + mappings: + $ref: '#/components/schemas/_common.mapping:TypeMapping' + required: + - mappings + indices.put_index_template:IndexTemplateMapping: + type: object + properties: + aliases: + description: |- + Aliases to add. + If the index template includes a `data_stream` object, these are data stream aliases. + Otherwise, these are index aliases. + Data stream aliases ignore the `index_routing`, `routing`, and `search_routing` options. + type: object + additionalProperties: + $ref: '#/components/schemas/indices._common:Alias' + mappings: + $ref: '#/components/schemas/_common.mapping:TypeMapping' + settings: + $ref: '#/components/schemas/indices._common:IndexSettings' + lifecycle: + $ref: '#/components/schemas/indices._common:DataStreamLifecycle' + indices.recovery:FileDetails: + type: object + properties: + length: + type: number + name: + type: string + recovered: + type: number + required: + - length + - name + - recovered + indices.recovery:RecoveryBytes: + type: object + properties: + percent: + $ref: '#/components/schemas/_common:Percentage' + recovered: + $ref: '#/components/schemas/_common:ByteSize' + recovered_in_bytes: + $ref: '#/components/schemas/_common:ByteSize' + recovered_from_snapshot: + $ref: '#/components/schemas/_common:ByteSize' + recovered_from_snapshot_in_bytes: + $ref: '#/components/schemas/_common:ByteSize' + reused: + $ref: '#/components/schemas/_common:ByteSize' + reused_in_bytes: + $ref: '#/components/schemas/_common:ByteSize' + total: + $ref: '#/components/schemas/_common:ByteSize' + total_in_bytes: + $ref: '#/components/schemas/_common:ByteSize' + required: + - percent + - recovered_in_bytes + - reused_in_bytes + - total_in_bytes + indices.recovery:RecoveryFiles: + type: object + properties: + details: + type: array + items: + $ref: '#/components/schemas/indices.recovery:FileDetails' + percent: + $ref: '#/components/schemas/_common:Percentage' + recovered: + type: number + reused: + type: number + total: + type: number + required: + - percent + - recovered + - reused + - total + indices.recovery:RecoveryIndexStatus: + type: object + properties: + bytes: + $ref: '#/components/schemas/indices.recovery:RecoveryBytes' + files: + $ref: '#/components/schemas/indices.recovery:RecoveryFiles' + size: + $ref: '#/components/schemas/indices.recovery:RecoveryBytes' + source_throttle_time: + $ref: '#/components/schemas/_common:Duration' + source_throttle_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + target_throttle_time: + $ref: '#/components/schemas/_common:Duration' + target_throttle_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + total_time: + $ref: '#/components/schemas/_common:Duration' + total_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + required: + - files + - size + - source_throttle_time_in_millis + - target_throttle_time_in_millis + - total_time_in_millis + indices.recovery:RecoveryOrigin: + type: object + properties: + hostname: + type: string + host: + $ref: '#/components/schemas/_common:Host' + transport_address: + $ref: '#/components/schemas/_common:TransportAddress' + id: + $ref: '#/components/schemas/_common:Id' + ip: + $ref: '#/components/schemas/_common:Ip' + name: + $ref: '#/components/schemas/_common:Name' + bootstrap_new_history_uuid: + type: boolean + repository: + $ref: '#/components/schemas/_common:Name' + snapshot: + $ref: '#/components/schemas/_common:Name' + version: + $ref: '#/components/schemas/_common:VersionString' + restoreUUID: + $ref: '#/components/schemas/_common:Uuid' + index: + $ref: '#/components/schemas/_common:IndexName' + indices.recovery:RecoveryStartStatus: + type: object + properties: + check_index_time: + $ref: '#/components/schemas/_common:Duration' + check_index_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + total_time: + $ref: '#/components/schemas/_common:Duration' + total_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + required: + - check_index_time_in_millis + - total_time_in_millis + indices.recovery:RecoveryStatus: + type: object + properties: + shards: + type: array + items: + $ref: '#/components/schemas/indices.recovery:ShardRecovery' + required: + - shards + indices.recovery:ShardRecovery: + type: object + properties: + id: + type: number + index: + $ref: '#/components/schemas/indices.recovery:RecoveryIndexStatus' + primary: + type: boolean + source: + $ref: '#/components/schemas/indices.recovery:RecoveryOrigin' + stage: + type: string + start: + $ref: '#/components/schemas/indices.recovery:RecoveryStartStatus' + start_time: + $ref: '#/components/schemas/_common:DateTime' + start_time_in_millis: + $ref: '#/components/schemas/_common:EpochTimeUnitMillis' + stop_time: + $ref: '#/components/schemas/_common:DateTime' + stop_time_in_millis: + $ref: '#/components/schemas/_common:EpochTimeUnitMillis' + target: + $ref: '#/components/schemas/indices.recovery:RecoveryOrigin' + total_time: + $ref: '#/components/schemas/_common:Duration' + total_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + translog: + $ref: '#/components/schemas/indices.recovery:TranslogStatus' + type: + type: string + verify_index: + $ref: '#/components/schemas/indices.recovery:VerifyIndex' + required: + - id + - index + - primary + - source + - stage + - start_time_in_millis + - target + - total_time_in_millis + - translog + - type + - verify_index + indices.recovery:TranslogStatus: + type: object + properties: + percent: + $ref: '#/components/schemas/_common:Percentage' + recovered: + type: number + total: + type: number + total_on_start: + type: number + total_time: + $ref: '#/components/schemas/_common:Duration' + total_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + required: + - percent + - recovered + - total + - total_on_start + - total_time_in_millis + indices.recovery:VerifyIndex: + type: object + properties: + check_index_time: + $ref: '#/components/schemas/_common:Duration' + check_index_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + total_time: + $ref: '#/components/schemas/_common:Duration' + total_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + required: + - check_index_time_in_millis + - total_time_in_millis + indices.resolve_index:ResolveIndexAliasItem: + type: object + properties: + name: + $ref: '#/components/schemas/_common:Name' + indices: + $ref: '#/components/schemas/_common:Indices' + required: + - indices + - name + indices.resolve_index:ResolveIndexDataStreamsItem: + type: object + properties: + name: + $ref: '#/components/schemas/_common:DataStreamName' + timestamp_field: + $ref: '#/components/schemas/_common:Field' + backing_indices: + $ref: '#/components/schemas/_common:Indices' + required: + - backing_indices + - name + - timestamp_field + indices.resolve_index:ResolveIndexItem: + type: object + properties: + name: + $ref: '#/components/schemas/_common:Name' + aliases: + type: array + items: + type: string + attributes: + type: array + items: + type: string + data_stream: + $ref: '#/components/schemas/_common:DataStreamName' + required: + - attributes + - name + indices.rollover:RolloverConditions: + type: object + properties: + min_age: + $ref: '#/components/schemas/_common:Duration' + max_age: + $ref: '#/components/schemas/_common:Duration' + max_age_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + min_docs: + type: number + max_docs: + type: number + max_size: + $ref: '#/components/schemas/_common:ByteSize' + max_size_bytes: + type: number + min_size: + $ref: '#/components/schemas/_common:ByteSize' + min_size_bytes: + type: number + max_primary_shard_size: + $ref: '#/components/schemas/_common:ByteSize' + max_primary_shard_size_bytes: + type: number + min_primary_shard_size: + $ref: '#/components/schemas/_common:ByteSize' + min_primary_shard_size_bytes: + type: number + max_primary_shard_docs: + type: number + min_primary_shard_docs: + type: number + indices.segments:IndexSegment: + type: object + properties: + shards: + type: object + additionalProperties: + oneOf: + - $ref: '#/components/schemas/indices.segments:ShardsSegment' + - type: array + items: + $ref: '#/components/schemas/indices.segments:ShardsSegment' + required: + - shards + indices.segments:Segment: + type: object + properties: + attributes: + type: object + additionalProperties: + type: string + committed: + type: boolean + compound: + type: boolean + deleted_docs: + type: number + generation: + type: number + search: + type: boolean + size_in_bytes: + type: number + num_docs: + type: number + version: + $ref: '#/components/schemas/_common:VersionString' + required: + - attributes + - committed + - compound + - deleted_docs + - generation + - num_docs + - search + - size_in_bytes + - version + indices.segments:ShardSegmentRouting: + type: object + properties: + node: + type: string + primary: + type: boolean + state: + type: string + required: + - node + - primary + - state + indices.segments:ShardsSegment: + type: object + properties: + num_committed_segments: + type: number + routing: + $ref: '#/components/schemas/indices.segments:ShardSegmentRouting' + num_search_segments: + type: number + segments: + type: object + additionalProperties: + $ref: '#/components/schemas/indices.segments:Segment' + required: + - num_committed_segments + - num_search_segments + - routing + - segments + indices.shard_stores:IndicesShardStores: + type: object + properties: + shards: + type: object + additionalProperties: + $ref: '#/components/schemas/indices.shard_stores:ShardStoreWrapper' + required: + - shards + indices.shard_stores:ShardStore: + type: object + properties: + allocation: + $ref: '#/components/schemas/indices.shard_stores:ShardStoreAllocation' + allocation_id: + $ref: '#/components/schemas/_common:Id' + store_exception: + $ref: '#/components/schemas/indices.shard_stores:ShardStoreException' + required: + - allocation + indices.shard_stores:ShardStoreAllocation: + type: string + enum: + - primary + - replica + - unused + indices.shard_stores:ShardStoreException: + type: object + properties: + reason: + type: string + type: + type: string + required: + - reason + - type + indices.shard_stores:ShardStoreStatus: + type: string + enum: + - all + - green + - red + - yellow + indices.shard_stores:ShardStoreWrapper: + type: object + properties: + stores: + type: array + items: + $ref: '#/components/schemas/indices.shard_stores:ShardStore' + required: + - stores + indices.simulate_template:Overlapping: + type: object + properties: + name: + $ref: '#/components/schemas/_common:Name' + index_patterns: + type: array + items: + type: string + required: + - index_patterns + - name + indices.simulate_template:Template: + type: object + properties: + aliases: + type: object + additionalProperties: + $ref: '#/components/schemas/indices._common:Alias' + mappings: + $ref: '#/components/schemas/_common.mapping:TypeMapping' + settings: + $ref: '#/components/schemas/indices._common:IndexSettings' + required: + - aliases + - mappings + - settings + indices.stats:AllIndicesStats: + type: object + properties: + primaries: + $ref: '#/components/schemas/indices.stats:IndexStats' + total: + $ref: '#/components/schemas/indices.stats:IndexStats' + required: + - primaries + - total + indices.stats:IndexShardStats: + allOf: + - $ref: '#/components/schemas/indices.stats:IndexStatsBase' + - type: object + properties: + routing: + $ref: '#/components/schemas/indices.stats:ShardRouting' + commit: + $ref: '#/components/schemas/indices.stats:ShardCommit' + seq_no: + $ref: '#/components/schemas/indices.stats:ShardSequenceNumber' + retention_leases: + $ref: '#/components/schemas/indices.stats:ShardRetentionLeases' + shard_path: + $ref: '#/components/schemas/indices.stats:ShardPath' + indices.stats:IndexStats: + allOf: + - $ref: '#/components/schemas/indices.stats:IndexStatsBase' + - type: object + indices.stats:IndexStatsBase: + type: object + properties: + docs: + $ref: '#/components/schemas/_common:DocStats' + store: + $ref: '#/components/schemas/_common:StoreStats' + indexing: + $ref: '#/components/schemas/_common:IndexingStats' + get: + $ref: '#/components/schemas/_common:GetStats' + search: + $ref: '#/components/schemas/_common:SearchStats' + merges: + $ref: '#/components/schemas/_common:MergesStats' + refresh: + $ref: '#/components/schemas/_common:RefreshStats' + flush: + $ref: '#/components/schemas/_common:FlushStats' + warmer: + $ref: '#/components/schemas/_common:WarmerStats' + query_cache: + $ref: '#/components/schemas/_common:QueryCacheStats' + fielddata: + $ref: '#/components/schemas/_common:FielddataStats' + completion: + $ref: '#/components/schemas/_common:CompletionStats' + segments: + $ref: '#/components/schemas/_common:SegmentsStats' + translog: + $ref: '#/components/schemas/_common:TranslogStats' + request_cache: + $ref: '#/components/schemas/_common:RequestCacheStats' + recovery: + $ref: '#/components/schemas/_common:RecoveryStats' + indices.stats:IndicesStats: + type: object + properties: + uuid: + $ref: '#/components/schemas/_common:Uuid' + primaries: + $ref: '#/components/schemas/indices.stats:IndexStats' + total: + $ref: '#/components/schemas/indices.stats:IndexStats' + shards: + type: object + additionalProperties: + type: array + items: + $ref: '#/components/schemas/indices.stats:IndexShardStats' + required: + - primaries + - total + - uuid + indices.stats:ShardCommit: + type: object + properties: + generation: + type: number + id: + $ref: '#/components/schemas/_common:Id' + num_docs: + type: number + user_data: + type: object + additionalProperties: + type: string + required: + - generation + - id + - num_docs + - user_data + indices.stats:ShardFileSizeInfo: + type: object + properties: + description: + type: string + size_in_bytes: + type: number + min_size_in_bytes: + type: number + max_size_in_bytes: + type: number + average_size_in_bytes: + type: number + count: + type: number + required: + - description + - size_in_bytes + indices.stats:ShardLease: + type: object + properties: + id: + $ref: '#/components/schemas/_common:Id' + retaining_seq_no: + $ref: '#/components/schemas/_common:SequenceNumber' + timestamp: + type: number + source: + type: string + required: + - id + - retaining_seq_no + - source + - timestamp + indices.stats:ShardPath: + type: object + properties: + data_path: + type: string + is_custom_data_path: + type: boolean + state_path: + type: string + required: + - data_path + - is_custom_data_path + - state_path + indices.stats:ShardRetentionLeases: + type: object + properties: + primary_term: + type: number + version: + $ref: '#/components/schemas/_common:VersionNumber' + leases: + type: array + items: + $ref: '#/components/schemas/indices.stats:ShardLease' + required: + - leases + - primary_term + - version + indices.stats:ShardRouting: + type: object + properties: + node: + type: string + primary: + type: boolean + relocating_node: + type: + - 'null' + - string + state: + $ref: '#/components/schemas/indices.stats:ShardRoutingState' + required: + - node + - primary + - state + indices.stats:ShardRoutingState: + type: string + enum: + - INITIALIZING + - RELOCATING + - STARTED + - UNASSIGNED + indices.stats:ShardSequenceNumber: + type: object + properties: + global_checkpoint: + type: number + local_checkpoint: + type: number + max_seq_no: + $ref: '#/components/schemas/_common:SequenceNumber' + required: + - global_checkpoint + - local_checkpoint + - max_seq_no + indices.update_aliases:Action: + type: object + properties: + add: + $ref: '#/components/schemas/indices.update_aliases:AddAction' + remove: + $ref: '#/components/schemas/indices.update_aliases:RemoveAction' + remove_index: + $ref: '#/components/schemas/indices.update_aliases:RemoveIndexAction' + minProperties: 1 + maxProperties: 1 + indices.update_aliases:AddAction: + type: object + properties: + alias: + $ref: '#/components/schemas/_common:IndexAlias' + aliases: + description: |- + Aliases for the action. + Index alias names support date math. + oneOf: + - $ref: '#/components/schemas/_common:IndexAlias' + - type: array + items: + $ref: '#/components/schemas/_common:IndexAlias' + filter: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + index: + $ref: '#/components/schemas/_common:IndexName' + indices: + $ref: '#/components/schemas/_common:Indices' + index_routing: + $ref: '#/components/schemas/_common:Routing' + is_hidden: + description: If `true`, the alias is hidden. + type: boolean + is_write_index: + description: If `true`, sets the write index or data stream for the alias. + type: boolean + routing: + $ref: '#/components/schemas/_common:Routing' + search_routing: + $ref: '#/components/schemas/_common:Routing' + must_exist: + description: If `true`, the alias must exist to perform the action. + type: boolean + indices.update_aliases:RemoveAction: + type: object + properties: + alias: + $ref: '#/components/schemas/_common:IndexAlias' + aliases: + description: |- + Aliases for the action. + Index alias names support date math. + oneOf: + - $ref: '#/components/schemas/_common:IndexAlias' + - type: array + items: + $ref: '#/components/schemas/_common:IndexAlias' + index: + $ref: '#/components/schemas/_common:IndexName' + indices: + $ref: '#/components/schemas/_common:Indices' + must_exist: + description: If `true`, the alias must exist to perform the action. + type: boolean + indices.update_aliases:RemoveIndexAction: + type: object + properties: + index: + $ref: '#/components/schemas/_common:IndexName' + indices: + $ref: '#/components/schemas/_common:Indices' + must_exist: + description: If `true`, the alias must exist to perform the action. + type: boolean + indices.validate_query:IndicesValidationExplanation: + type: object + properties: + error: + type: string + explanation: + type: string + index: + $ref: '#/components/schemas/_common:IndexName' + valid: + type: boolean + required: + - index + - valid + ingest._common:AppendProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + value: + description: The value to be appended. Supports template snippets. + type: array + items: + type: object + allow_duplicates: + description: If `false`, the processor does not append values already present in the field. + type: boolean + required: + - field + - value + ingest._common:AttachmentProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + ignore_missing: + description: If `true` and field does not exist, the processor quietly exits without modifying the document. + type: boolean + indexed_chars: + description: |- + The number of chars being used for extraction to prevent huge fields. + Use `-1` for no limit. + type: number + indexed_chars_field: + $ref: '#/components/schemas/_common:Field' + properties: + description: |- + Array of properties to select to be stored. + Can be `content`, `title`, `name`, `author`, `keywords`, `date`, `content_type`, `content_length`, `language`. + type: array + items: + type: string + target_field: + $ref: '#/components/schemas/_common:Field' + resource_name: + description: |- + Field containing the name of the resource to decode. + If specified, the processor passes this resource name to the underlying Tika library to enable Resource Name Based Detection. + type: string + required: + - field + ingest._common:BytesProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + ignore_missing: + description: If `true` and `field` does not exist or is `null`, the processor quietly exits without modifying the document. + type: boolean + target_field: + $ref: '#/components/schemas/_common:Field' + required: + - field + ingest._common:CircleProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + error_distance: + description: The difference between the resulting inscribed distance from center to side and the circle's radius (measured in meters for `geo_shape`, unit-less for `shape`). + type: number + field: + $ref: '#/components/schemas/_common:Field' + ignore_missing: + description: If `true` and `field` does not exist, the processor quietly exits without modifying the document. + type: boolean + shape_type: + $ref: '#/components/schemas/ingest._common:ShapeType' + target_field: + $ref: '#/components/schemas/_common:Field' + required: + - error_distance + - field + - shape_type + ingest._common:ConvertProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + ignore_missing: + description: If `true` and `field` does not exist or is `null`, the processor quietly exits without modifying the document. + type: boolean + target_field: + $ref: '#/components/schemas/_common:Field' + type: + $ref: '#/components/schemas/ingest._common:ConvertType' + required: + - field + - type + ingest._common:ConvertType: + type: string + enum: + - auto + - boolean + - double + - float + - integer + - long + - string + ingest._common:CsvProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + empty_value: + description: |- + Value used to fill empty fields. + Empty fields are skipped if this is not provided. + An empty field is one with no value (2 consecutive separators) or empty quotes (`""`). + type: object + field: + $ref: '#/components/schemas/_common:Field' + ignore_missing: + description: If `true` and `field` does not exist, the processor quietly exits without modifying the document. + type: boolean + quote: + description: Quote used in CSV, has to be single character string. + type: string + separator: + description: Separator used in CSV, has to be single character string. + type: string + target_fields: + $ref: '#/components/schemas/_common:Fields' + trim: + description: Trim whitespaces in unquoted fields. + type: boolean + required: + - field + - target_fields + ingest._common:DateIndexNameProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + date_formats: + description: |- + An array of the expected date formats for parsing dates / timestamps in the document being preprocessed. + Can be a java time pattern or one of the following formats: ISO8601, UNIX, UNIX_MS, or TAI64N. + type: array + items: + type: string + date_rounding: + description: |- + How to round the date when formatting the date into the index name. Valid values are: + `y` (year), `M` (month), `w` (week), `d` (day), `h` (hour), `m` (minute) and `s` (second). + Supports template snippets. + type: string + field: + $ref: '#/components/schemas/_common:Field' + index_name_format: + description: |- + The format to be used when printing the parsed date into the index name. + A valid java time pattern is expected here. + Supports template snippets. + type: string + index_name_prefix: + description: |- + A prefix of the index name to be prepended before the printed date. + Supports template snippets. + type: string + locale: + description: The locale to use when parsing the date from the document being preprocessed, relevant when parsing month names or week days. + type: string + timezone: + description: The timezone to use when parsing the date and when date math index supports resolves expressions into concrete index names. + type: string + required: + - date_formats + - date_rounding + - field + ingest._common:DateProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + formats: + description: |- + An array of the expected date formats. + Can be a java time pattern or one of the following formats: ISO8601, UNIX, UNIX_MS, or TAI64N. + type: array + items: + type: string + locale: + description: |- + The locale to use when parsing the date, relevant when parsing month names or week days. + Supports template snippets. + type: string + target_field: + $ref: '#/components/schemas/_common:Field' + timezone: + description: |- + The timezone to use when parsing the date. + Supports template snippets. + type: string + required: + - field + - formats + ingest._common:DissectProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + append_separator: + description: The character(s) that separate the appended fields. + type: string + field: + $ref: '#/components/schemas/_common:Field' + ignore_missing: + description: If `true` and `field` does not exist or is `null`, the processor quietly exits without modifying the document. + type: boolean + pattern: + description: The pattern to apply to the field. + type: string + required: + - field + - pattern + ingest._common:DotExpanderProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + path: + description: |- + The field that contains the field to expand. + Only required if the field to expand is part another object field, because the `field` option can only understand leaf fields. + type: string + required: + - field + ingest._common:DropProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + ingest._common:EnrichProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + ignore_missing: + description: If `true` and `field` does not exist, the processor quietly exits without modifying the document. + type: boolean + max_matches: + description: |- + The maximum number of matched documents to include under the configured target field. + The `target_field` will be turned into a json array if `max_matches` is higher than 1, otherwise `target_field` will become a json object. + In order to avoid documents getting too large, the maximum allowed value is 128. + type: number + override: + description: |- + If processor will update fields with pre-existing non-null-valued field. + When set to `false`, such fields will not be touched. + type: boolean + policy_name: + description: The name of the enrich policy to use. + type: string + shape_relation: + $ref: '#/components/schemas/_common:GeoShapeRelation' + target_field: + $ref: '#/components/schemas/_common:Field' + required: + - field + - policy_name + - target_field + ingest._common:FailProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + message: + description: |- + The error message thrown by the processor. + Supports template snippets. + type: string + required: + - message + ingest._common:ForeachProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + ignore_missing: + description: If `true`, the processor silently exits without changing the document if the `field` is `null` or missing. + type: boolean + processor: + $ref: '#/components/schemas/ingest._common:ProcessorContainer' + required: + - field + - processor + ingest._common:GeoIpProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + database_file: + description: The database filename referring to a database the module ships with (GeoLite2-City.mmdb, GeoLite2-Country.mmdb, or GeoLite2-ASN.mmdb) or a custom database in the ingest-geoip config directory. + type: string + field: + $ref: '#/components/schemas/_common:Field' + first_only: + description: If `true`, only the first found geoip data will be returned, even if the field contains an array. + type: boolean + ignore_missing: + description: If `true` and `field` does not exist, the processor quietly exits without modifying the document. + type: boolean + properties: + description: Controls what properties are added to the `target_field` based on the geoip lookup. + type: array + items: + type: string + target_field: + $ref: '#/components/schemas/_common:Field' + required: + - field + ingest._common:GrokProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + ignore_missing: + description: If `true` and `field` does not exist or is `null`, the processor quietly exits without modifying the document. + type: boolean + pattern_definitions: + description: |- + A map of pattern-name and pattern tuples defining custom patterns to be used by the current processor. + Patterns matching existing names will override the pre-existing definition. + type: object + additionalProperties: + type: string + patterns: + description: |- + An ordered list of grok expression to match and extract named captures with. + Returns on the first expression in the list that matches. + type: array + items: + type: string + trace_match: + description: When `true`, `_ingest._grok_match_index` will be inserted into your matched document's metadata with the index into the pattern found in `patterns` that matched. + type: boolean + required: + - field + - patterns + ingest._common:GsubProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + ignore_missing: + description: If `true` and `field` does not exist or is `null`, the processor quietly exits without modifying the document. + type: boolean + pattern: + description: The pattern to be replaced. + type: string + replacement: + description: The string to replace the matching patterns with. + type: string + target_field: + $ref: '#/components/schemas/_common:Field' + required: + - field + - pattern + - replacement + ingest._common:InferenceConfig: + type: object + properties: + regression: + $ref: '#/components/schemas/ingest._common:InferenceConfigRegression' + classification: + $ref: '#/components/schemas/ingest._common:InferenceConfigClassification' + minProperties: 1 + maxProperties: 1 + ingest._common:InferenceConfigClassification: + type: object + properties: + num_top_classes: + description: Specifies the number of top class predictions to return. + type: number + num_top_feature_importance_values: + description: Specifies the maximum number of feature importance values per document. + type: number + results_field: + $ref: '#/components/schemas/_common:Field' + top_classes_results_field: + $ref: '#/components/schemas/_common:Field' + prediction_field_type: + description: |- + Specifies the type of the predicted field to write. + Valid values are: `string`, `number`, `boolean`. + type: string + ingest._common:InferenceConfigRegression: + type: object + properties: + results_field: + $ref: '#/components/schemas/_common:Field' + num_top_feature_importance_values: + description: Specifies the maximum number of feature importance values per document. + type: number + ingest._common:InferenceProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + model_id: + $ref: '#/components/schemas/_common:Id' + target_field: + $ref: '#/components/schemas/_common:Field' + field_map: + description: |- + Maps the document field names to the known field names of the model. + This mapping takes precedence over any default mappings provided in the model configuration. + type: object + additionalProperties: + type: object + inference_config: + $ref: '#/components/schemas/ingest._common:InferenceConfig' + required: + - model_id + ingest._common:JoinProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + separator: + description: The separator character. + type: string + target_field: + $ref: '#/components/schemas/_common:Field' + required: + - field + - separator + ingest._common:JsonProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + add_to_root: + description: |- + Flag that forces the parsed JSON to be added at the top level of the document. + `target_field` must not be set when this option is chosen. + type: boolean + add_to_root_conflict_strategy: + $ref: '#/components/schemas/ingest._common:JsonProcessorConflictStrategy' + allow_duplicate_keys: + description: |- + When set to `true`, the JSON parser will not fail if the JSON contains duplicate keys. + Instead, the last encountered value for any duplicate key wins. + type: boolean + field: + $ref: '#/components/schemas/_common:Field' + target_field: + $ref: '#/components/schemas/_common:Field' + required: + - field + ingest._common:JsonProcessorConflictStrategy: + type: string + enum: + - merge + - replace + ingest._common:KeyValueProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + exclude_keys: + description: List of keys to exclude from document. + type: array + items: + type: string + field: + $ref: '#/components/schemas/_common:Field' + field_split: + description: Regex pattern to use for splitting key-value pairs. + type: string + ignore_missing: + description: If `true` and `field` does not exist or is `null`, the processor quietly exits without modifying the document. + type: boolean + include_keys: + description: |- + List of keys to filter and insert into document. + Defaults to including all keys. + type: array + items: + type: string + prefix: + description: Prefix to be added to extracted keys. + type: string + strip_brackets: + description: If `true`. strip brackets `()`, `<>`, `[]` as well as quotes `'` and `"` from extracted values. + type: boolean + target_field: + $ref: '#/components/schemas/_common:Field' + trim_key: + description: String of characters to trim from extracted keys. + type: string + trim_value: + description: String of characters to trim from extracted values. + type: string + value_split: + description: Regex pattern to use for splitting the key from the value within a key-value pair. + type: string + required: + - field + - field_split + - value_split + ingest._common:LowercaseProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + ignore_missing: + description: If `true` and `field` does not exist or is `null`, the processor quietly exits without modifying the document. + type: boolean + target_field: + $ref: '#/components/schemas/_common:Field' + required: + - field + ingest._common:Pipeline: + type: object + properties: + description: + description: Description of the ingest pipeline. + type: string + on_failure: + description: Processors to run immediately after a processor failure. + type: array + items: + $ref: '#/components/schemas/ingest._common:ProcessorContainer' + processors: + description: |- + Processors used to perform transformations on documents before indexing. + Processors run sequentially in the order specified. + type: array + items: + $ref: '#/components/schemas/ingest._common:ProcessorContainer' + version: + $ref: '#/components/schemas/_common:VersionNumber' + _meta: + $ref: '#/components/schemas/_common:Metadata' + ingest._common:PipelineProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + name: + $ref: '#/components/schemas/_common:Name' + ignore_missing_pipeline: + description: Whether to ignore missing pipelines instead of failing. + type: boolean + required: + - name + ingest._common:ProcessorBase: + type: object + properties: + description: + description: |- + Description of the processor. + Useful for describing the purpose of the processor or its configuration. + type: string + if: + description: Conditionally execute the processor. + type: string + ignore_failure: + description: Ignore failures for the processor. + type: boolean + on_failure: + description: Handle failures for the processor. + type: array + items: + $ref: '#/components/schemas/ingest._common:ProcessorContainer' + tag: + description: |- + Identifier for the processor. + Useful for debugging and metrics. + type: string + ingest._common:ProcessorContainer: + type: object + properties: + attachment: + $ref: '#/components/schemas/ingest._common:AttachmentProcessor' + append: + $ref: '#/components/schemas/ingest._common:AppendProcessor' + csv: + $ref: '#/components/schemas/ingest._common:CsvProcessor' + convert: + $ref: '#/components/schemas/ingest._common:ConvertProcessor' + date: + $ref: '#/components/schemas/ingest._common:DateProcessor' + date_index_name: + $ref: '#/components/schemas/ingest._common:DateIndexNameProcessor' + dot_expander: + $ref: '#/components/schemas/ingest._common:DotExpanderProcessor' + enrich: + $ref: '#/components/schemas/ingest._common:EnrichProcessor' + fail: + $ref: '#/components/schemas/ingest._common:FailProcessor' + foreach: + $ref: '#/components/schemas/ingest._common:ForeachProcessor' + json: + $ref: '#/components/schemas/ingest._common:JsonProcessor' + user_agent: + $ref: '#/components/schemas/ingest._common:UserAgentProcessor' + kv: + $ref: '#/components/schemas/ingest._common:KeyValueProcessor' + geoip: + $ref: '#/components/schemas/ingest._common:GeoIpProcessor' + grok: + $ref: '#/components/schemas/ingest._common:GrokProcessor' + gsub: + $ref: '#/components/schemas/ingest._common:GsubProcessor' + join: + $ref: '#/components/schemas/ingest._common:JoinProcessor' + lowercase: + $ref: '#/components/schemas/ingest._common:LowercaseProcessor' + remove: + $ref: '#/components/schemas/ingest._common:RemoveProcessor' + rename: + $ref: '#/components/schemas/ingest._common:RenameProcessor' + script: + $ref: '#/components/schemas/_common:Script' + set: + $ref: '#/components/schemas/ingest._common:SetProcessor' + sort: + $ref: '#/components/schemas/ingest._common:SortProcessor' + split: + $ref: '#/components/schemas/ingest._common:SplitProcessor' + trim: + $ref: '#/components/schemas/ingest._common:TrimProcessor' + uppercase: + $ref: '#/components/schemas/ingest._common:UppercaseProcessor' + urldecode: + $ref: '#/components/schemas/ingest._common:UrlDecodeProcessor' + bytes: + $ref: '#/components/schemas/ingest._common:BytesProcessor' + dissect: + $ref: '#/components/schemas/ingest._common:DissectProcessor' + set_security_user: + $ref: '#/components/schemas/ingest._common:SetSecurityUserProcessor' + pipeline: + $ref: '#/components/schemas/ingest._common:PipelineProcessor' + drop: + $ref: '#/components/schemas/ingest._common:DropProcessor' + circle: + $ref: '#/components/schemas/ingest._common:CircleProcessor' + inference: + $ref: '#/components/schemas/ingest._common:InferenceProcessor' + text_embedding: + $ref: '#/components/schemas/ingest._common:TextEmbeddingProcessor' + minProperties: 1 + maxProperties: 1 + ingest._common:RemoveProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Fields' + ignore_missing: + description: If `true` and `field` does not exist or is `null`, the processor quietly exits without modifying the document. + type: boolean + required: + - field + ingest._common:RenameProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + ignore_missing: + description: If `true` and `field` does not exist, the processor quietly exits without modifying the document. + type: boolean + target_field: + $ref: '#/components/schemas/_common:Field' + required: + - field + - target_field + ingest._common:SetProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + copy_from: + $ref: '#/components/schemas/_common:Field' + field: + $ref: '#/components/schemas/_common:Field' + ignore_empty_value: + description: If `true` and `value` is a template snippet that evaluates to `null` or the empty string, the processor quietly exits without modifying the document. + type: boolean + media_type: + description: |- + The media type for encoding `value`. + Applies only when value is a template snippet. + Must be one of `application/json`, `text/plain`, or `application/x-www-form-urlencoded`. + type: string + override: + description: |- + If `true` processor will update fields with pre-existing non-null-valued field. + When set to `false`, such fields will not be touched. + type: boolean + value: + description: |- + The value to be set for the field. + Supports template snippets. + May specify only one of `value` or `copy_from`. + type: object + required: + - field + ingest._common:SetSecurityUserProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + properties: + description: Controls what user related properties are added to the field. + type: array + items: + type: string + required: + - field + ingest._common:ShapeType: + type: string + enum: + - geo_shape + - shape + ingest._common:SortProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + order: + $ref: '#/components/schemas/_common:SortOrder' + target_field: + $ref: '#/components/schemas/_common:Field' + required: + - field + ingest._common:SplitProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + ignore_missing: + description: If `true` and `field` does not exist, the processor quietly exits without modifying the document. + type: boolean + preserve_trailing: + description: Preserves empty trailing fields, if any. + type: boolean + separator: + description: A regex which matches the separator, for example, `,` or `\s+`. + type: string + target_field: + $ref: '#/components/schemas/_common:Field' + required: + - field + - separator + ingest._common:TextEmbeddingProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + model_id: + $ref: '#/components/schemas/_common:Id' + field_map: + description: Contains key-value pairs that specify the mapping of a text field to a vector field. + type: object + additionalProperties: + type: string + description: + type: string + description: A brief description of the processor. + required: + - field_map + - model_id + ingest._common:TrimProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + ignore_missing: + description: If `true` and `field` does not exist, the processor quietly exits without modifying the document. + type: boolean + target_field: + $ref: '#/components/schemas/_common:Field' + required: + - field + ingest._common:UppercaseProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + ignore_missing: + description: If `true` and `field` does not exist or is `null`, the processor quietly exits without modifying the document. + type: boolean + target_field: + $ref: '#/components/schemas/_common:Field' + required: + - field + ingest._common:UrlDecodeProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + ignore_missing: + description: If `true` and `field` does not exist or is `null`, the processor quietly exits without modifying the document. + type: boolean + target_field: + $ref: '#/components/schemas/_common:Field' + required: + - field + ingest._common:UserAgentProcessor: + allOf: + - $ref: '#/components/schemas/ingest._common:ProcessorBase' + - type: object + properties: + field: + $ref: '#/components/schemas/_common:Field' + ignore_missing: + description: If `true` and `field` does not exist, the processor quietly exits without modifying the document. + type: boolean + options: + type: array + items: + $ref: '#/components/schemas/ingest._common:UserAgentProperty' + regex_file: + description: The name of the file in the `config/ingest-user-agent` directory containing the regular expressions for parsing the user agent string. Both the directory and the file have to be created before starting OpenSearch. If not specified, ingest-user-agent will use the `regexes.yaml` from uap-core it ships with. + type: string + target_field: + $ref: '#/components/schemas/_common:Field' + required: + - field + ingest._common:UserAgentProperty: + type: string + enum: + - BUILD + - DEVICE + - MAJOR + - MINOR + - NAME + - OS + - OS_MAJOR + - OS_MINOR + - OS_NAME + - PATCH + ingest.simulate:Document: + type: object + properties: + _id: + $ref: '#/components/schemas/_common:Id' + _index: + $ref: '#/components/schemas/_common:IndexName' + _source: + description: JSON body for the document. + type: object + required: + - _source + ingest.simulate:DocumentSimulation: + type: object + properties: + _id: + $ref: '#/components/schemas/_common:Id' + _index: + $ref: '#/components/schemas/_common:IndexName' + _ingest: + $ref: '#/components/schemas/ingest.simulate:Ingest' + _routing: + description: Value used to send the document to a specific primary shard. + type: string + _source: + description: JSON body for the document. + type: object + additionalProperties: + type: object + _version: + $ref: '#/components/schemas/_common:StringifiedVersionNumber' + _version_type: + $ref: '#/components/schemas/_common:VersionType' + required: + - _id + - _index + - _ingest + - _source + ingest.simulate:Ingest: + type: object + properties: + timestamp: + $ref: '#/components/schemas/_common:DateTime' + pipeline: + $ref: '#/components/schemas/_common:Name' + required: + - timestamp + ingest.simulate:PipelineSimulation: + type: object + properties: + doc: + $ref: '#/components/schemas/ingest.simulate:DocumentSimulation' + processor_results: + type: array + items: + $ref: '#/components/schemas/ingest.simulate:PipelineSimulation' + tag: + type: string + processor_type: + type: string + status: + $ref: '#/components/schemas/_common:ActionStatusOptions' + knn._common:DefaultOperator: + type: string + description: The default operator for query string query (AND or OR). + enum: + - AND + - OR + knn._common:SearchType: + type: string + description: Search operation type. + enum: + - dfs_query_then_fetch + - query_then_fetch + knn._common:SuggestMode: + type: string + description: Specify suggest mode. + enum: + - always + - missing + - popular + ml._common:HitsTotal: + type: object + properties: + value: + type: integer + description: The total number of hits. + relation: + type: string + description: The relation. + required: + - relation + - value + ml._common:ModelGroup: + type: object + properties: + name: + type: string + description: The model group name. + latest_version: + type: number + description: The latest version. + description: + type: string + description: The model group description. + access: + type: string + description: The model group access. + created_time: + type: integer + format: int64 + last_updated_time: + type: integer + format: int64 + required: + - access + - description + - latest_version + - name + ml._common:ModelGroupRegistration: + type: object + properties: + model_group_id: + type: string + description: The model group ID. + status: + type: string + description: The status. + required: + - model_group_id + - status + ml._common:SearchModelsHits: + type: object + properties: + total: + $ref: '#/components/schemas/ml._common:HitsTotal' + hits: + type: array + items: + $ref: '#/components/schemas/ml._common:SearchModelsHitsHit' + required: + - hits + - total + ml._common:SearchModelsHitsHit: + type: object + properties: + _index: + type: string + description: The index. + _id: + type: string + description: The hit ID. + model_id: + type: string + description: The model ID. + required: + - _id + - model_id + ml._common:SearchModelsQuery: + type: object + properties: + query: + type: object + description: The query. + size: + type: integer + description: The number of models to return. + required: + - query + - size + ml._common:SearchModelsResponse: + type: object + properties: + hits: + $ref: '#/components/schemas/ml._common:SearchModelsHits' + required: + - hits + ml._common:Task: + type: object + properties: + model_id: + type: string + task_id: + type: string + state: + type: string + enum: + - CANCELLED + - COMPLETED + - COMPLETED_WITH_ERROR + - CREATED + - FAILED + - RUNNING + task_type: + type: string + description: Task type. + enum: + - DEPLOY_MODEL + - REGISTER_MODEL + function_name: + type: string + worker_node: + type: array + items: + $ref: '#/components/schemas/_common:NodeIds' + create_time: + type: integer + format: int64 + last_update_time: + type: integer + format: int64 + is_async: + type: boolean + error: + type: string + required: + - state + ml._common:UndeployModelNode: + type: object + properties: + stats: + $ref: '#/components/schemas/ml._common:UndeployModelNodeStats' + ml._common:UndeployModelNodeStats: + type: object + additionalProperties: true + ml._common:UndeployModelResponse: + type: object + additionalProperties: + title: nodes + $ref: '#/components/schemas/ml._common:UndeployModelNode' + nodes._common:AdaptiveSelection: + type: object + properties: + avg_queue_size: + description: The exponentially weighted moving average queue size of search requests on the keyed node. + type: number + avg_response_time: + $ref: '#/components/schemas/_common:Duration' + avg_response_time_ns: + description: The exponentially weighted moving average response time, in nanoseconds, of search requests on the keyed node. + type: number + avg_service_time: + $ref: '#/components/schemas/_common:Duration' + avg_service_time_ns: + description: The exponentially weighted moving average service time, in nanoseconds, of search requests on the keyed node. + type: number + outgoing_searches: + description: The number of outstanding search requests to the keyed node from the node these stats are for. + type: number + rank: + description: The rank of this node; used for shard selection when routing search requests. + type: string + nodes._common:Breaker: + type: object + properties: + estimated_size: + description: Estimated memory used for the operation. + type: string + estimated_size_in_bytes: + description: Estimated memory used, in bytes, for the operation. + type: number + limit_size: + description: Memory limit for the circuit breaker. + type: string + limit_size_in_bytes: + description: Memory limit, in bytes, for the circuit breaker. + type: number + overhead: + description: A constant that all estimates for the circuit breaker are multiplied with to calculate a final estimate. + type: number + tripped: + description: Total number of times the circuit breaker has been triggered and prevented an out of memory error. + type: number + nodes._common:Cgroup: + type: object + properties: + cpuacct: + $ref: '#/components/schemas/nodes._common:CpuAcct' + cpu: + $ref: '#/components/schemas/nodes._common:CgroupCpu' + memory: + $ref: '#/components/schemas/nodes._common:CgroupMemory' + nodes._common:CgroupCpu: + type: object + properties: + control_group: + description: The `cpu` control group to which the OpenSearch process belongs. + type: string + cfs_period_micros: + description: The period of time, in microseconds, for how regularly all tasks in the same cgroup as the OpenSearch process should have their access to CPU resources reallocated. + type: number + cfs_quota_micros: + description: The total amount of time, in microseconds, for which all tasks in the same cgroup as the OpenSearch process can run during one period `cfs_period_micros`. + type: number + stat: + $ref: '#/components/schemas/nodes._common:CgroupCpuStat' + nodes._common:CgroupCpuStat: + type: object + properties: + number_of_elapsed_periods: + description: The number of reporting periods (as specified by `cfs_period_micros`) that have elapsed. + type: number + number_of_times_throttled: + description: The number of times all tasks in the same cgroup as the OpenSearch process have been throttled. + type: number + time_throttled_nanos: + $ref: '#/components/schemas/_common:DurationValueUnitNanos' + nodes._common:CgroupMemory: + type: object + properties: + control_group: + description: The `memory` control group to which the OpenSearch process belongs. + type: string + limit_in_bytes: + description: |- + The maximum amount of user memory (including file cache) allowed for all tasks in the same cgroup as the OpenSearch process. + This value can be too big to store in a `long`, so is returned as a string so that the value returned can exactly match what the underlying operating system interface returns. + Any value that is too large to parse into a `long` almost certainly means no limit has been set for the cgroup. + type: string + usage_in_bytes: + description: |- + The total current memory usage by processes in the cgroup, in bytes, by all tasks in the same cgroup as the OpenSearch process. + This value is stored as a string for consistency with `limit_in_bytes`. + type: string + nodes._common:Client: + type: object + properties: + id: + description: Unique ID for the HTTP client. + type: number + agent: + description: |- + Reported agent for the HTTP client. + If unavailable, this property is not included in the response. + type: string + local_address: + description: Local address for the HTTP connection. + type: string + remote_address: + description: Remote address for the HTTP connection. + type: string + last_uri: + description: The URI of the client's most recent request. + type: string + opened_time_millis: + description: Time at which the client opened the connection. + type: number + closed_time_millis: + description: Time at which the client closed the connection if the connection is closed. + type: number + last_request_time_millis: + description: Time of the most recent request from this client. + type: number + request_count: + description: Number of requests from this client. + type: number + request_size_bytes: + description: Cumulative size in bytes of all requests from this client. + type: number + x_opaque_id: + description: |- + Value from the client's `x-opaque-id` HTTP header. + If unavailable, this property is not included in the response. + type: string + nodes._common:ClusterAppliedStats: + type: object + properties: + recordings: + type: array + items: + $ref: '#/components/schemas/nodes._common:Recording' + nodes._common:ClusterStateOverallStats: + type: object + properties: + update_count: + type: number + total_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + failed_count: + type: number + nodes._common:ClusterStateQueue: + type: object + properties: + total: + description: Total number of cluster states in queue. + type: number + pending: + description: Number of pending cluster states in queue. + type: number + committed: + description: Number of committed cluster states in queue. + type: number + nodes._common:ClusterStateStats: + type: object + properties: + overall: + $ref: '#/components/schemas/nodes._common:ClusterStateOverallStats' + nodes._common:ClusterStateUpdate: + type: object + properties: + count: + description: The number of cluster state update attempts that did not change the cluster state since the node started. + type: number + computation_time: + $ref: '#/components/schemas/_common:Duration' + computation_time_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + publication_time: + $ref: '#/components/schemas/_common:Duration' + publication_time_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + context_construction_time: + $ref: '#/components/schemas/_common:Duration' + context_construction_time_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + commit_time: + $ref: '#/components/schemas/_common:Duration' + commit_time_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + completion_time: + $ref: '#/components/schemas/_common:Duration' + completion_time_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + master_apply_time: + $ref: '#/components/schemas/_common:Duration' + master_apply_time_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + notification_time: + $ref: '#/components/schemas/_common:Duration' + notification_time_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + required: + - count + nodes._common:Context: + type: object + properties: + context: + type: string + compilations: + type: number + cache_evictions: + type: number + compilation_limit_triggered: + type: number + nodes._common:Cpu: + type: object + properties: + percent: + type: number + sys: + $ref: '#/components/schemas/_common:Duration' + sys_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + total: + $ref: '#/components/schemas/_common:Duration' + total_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + user: + $ref: '#/components/schemas/_common:Duration' + user_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + load_average: + type: object + additionalProperties: + type: number + nodes._common:CpuAcct: + type: object + properties: + control_group: + description: The `cpuacct` control group to which the OpenSearch process belongs. + type: string + usage_nanos: + $ref: '#/components/schemas/_common:DurationValueUnitNanos' + nodes._common:DataPathStats: + type: object + properties: + available: + description: Total amount of disk space available to this Java virtual machine on this file store. + type: string + available_in_bytes: + description: Total number of bytes available to this Java virtual machine on this file store. + type: number + cache_reserved_in_bytes: + x-version-added: '2.7' + description: Total number of cache bytes reserved available to this Java virtual machine on this file store. + type: number + disk_queue: + type: string + disk_reads: + type: number + disk_read_size: + type: string + disk_read_size_in_bytes: + type: number + disk_writes: + type: number + disk_write_size: + type: string + disk_write_size_in_bytes: + type: number + free: + description: Total amount of unallocated disk space in the file store. + type: string + free_in_bytes: + description: Total number of unallocated bytes in the file store. + type: number + mount: + description: 'Mount point of the file store (for example: `/dev/sda2`).' + type: string + path: + description: Path to the file store. + type: string + total: + description: Total size of the file store. + type: string + total_in_bytes: + description: Total size of the file store in bytes. + type: number + type: + description: 'Type of the file store (ex: ext4).' + type: string + nodes._common:Discovery: + type: object + properties: + cluster_state_queue: + $ref: '#/components/schemas/nodes._common:ClusterStateQueue' + cluster_state_stats: + $ref: '#/components/schemas/nodes._common:ClusterStateStats' + published_cluster_states: + $ref: '#/components/schemas/nodes._common:PublishedClusterStates' + cluster_state_update: + description: |- + Contains low-level statistics about how long various activities took during cluster state updates while the node was the elected master. + Omitted if the node is not master-eligible. + Every field whose name ends in `_time` within this object is also represented as a raw number of milliseconds in a field whose name ends in `_time_millis`. + The human-readable fields with a `_time` suffix are only returned if requested with the `?human=true` query parameter. + type: object + additionalProperties: + $ref: '#/components/schemas/nodes._common:ClusterStateUpdate' + serialized_cluster_states: + $ref: '#/components/schemas/nodes._common:SerializedClusterState' + cluster_applier_stats: + $ref: '#/components/schemas/nodes._common:ClusterAppliedStats' + nodes._common:ExtendedMemoryStats: + allOf: + - $ref: '#/components/schemas/nodes._common:MemoryStats' + - type: object + properties: + free_percent: + description: Percentage of free memory. + type: number + used_percent: + description: Percentage of used memory. + type: number + nodes._common:FileSystem: + type: object + properties: + data: + description: List of all file stores. + type: array + items: + $ref: '#/components/schemas/nodes._common:DataPathStats' + timestamp: + description: |- + Last time the file stores statistics were refreshed. + Recorded in milliseconds since the Unix Epoch. + type: number + total: + $ref: '#/components/schemas/nodes._common:FileSystemTotal' + io_stats: + $ref: '#/components/schemas/nodes._common:IoStats' + nodes._common:FileSystemTotal: + type: object + properties: + available: + description: |- + Total disk space available to this Java virtual machine on all file stores. + Depending on OS or process level restrictions, this might appear less than `free`. + This is the actual amount of free disk space the OpenSearch node can utilize. + type: string + available_in_bytes: + description: |- + Total number of bytes available to this Java virtual machine on all file stores. + Depending on OS or process level restrictions, this might appear less than `free_in_bytes`. + This is the actual amount of free disk space the OpenSearch node can utilize. + type: number + free: + description: Total unallocated disk space in all file stores. + type: string + free_in_bytes: + description: Total number of unallocated bytes in all file stores. + type: number + total: + description: Total size of all file stores. + type: string + total_in_bytes: + description: Total size of all file stores in bytes. + type: number + cache_reserved_in_bytes: + x-version-added: '2.7' + description: Total size of cache bytes reserved in all file stores. + type: number + nodes._common:GarbageCollector: + type: object + properties: + collectors: + description: Contains statistics about JVM garbage collectors for the node. + type: object + additionalProperties: + $ref: '#/components/schemas/nodes._common:GarbageCollectorTotal' + nodes._common:GarbageCollectorTotal: + type: object + properties: + collection_count: + description: Total number of JVM garbage collectors that collect objects. + type: number + collection_time: + description: Total time spent by JVM collecting objects. + type: string + collection_time_in_millis: + description: Total time, in milliseconds, spent by JVM collecting objects. + type: number + nodes._common:Http: + type: object + properties: + current_open: + description: Current number of open HTTP connections for the node. + type: number + total_opened: + description: Total number of HTTP connections opened for the node. + type: number + clients: + description: |- + Information on current and recently-closed HTTP client connections. + Clients that have been closed longer than the `http.client_stats.closed_channels.max_age` setting will not be represented here. + type: array + items: + $ref: '#/components/schemas/nodes._common:Client' + nodes._common:IndexingPressure: + type: object + properties: + memory: + $ref: '#/components/schemas/nodes._common:IndexingPressureMemory' + nodes._common:IndexingPressureMemory: + type: object + properties: + limit: + $ref: '#/components/schemas/_common:ByteSize' + limit_in_bytes: + description: |- + Configured memory limit, in bytes, for the indexing requests. + Replica requests have an automatic limit that is 1.5x this value. + type: number + current: + $ref: '#/components/schemas/nodes._common:PressureMemory' + total: + $ref: '#/components/schemas/nodes._common:PressureMemory' + nodes._common:Ingest: + type: object + properties: + pipelines: + description: Contains statistics about ingest pipelines for the node. + type: object + additionalProperties: + $ref: '#/components/schemas/nodes._common:IngestTotal' + total: + $ref: '#/components/schemas/nodes._common:IngestTotal' + nodes._common:IngestTotal: + type: object + properties: + count: + description: Total number of documents ingested during the lifetime of this node. + type: number + current: + description: Total number of documents currently being ingested. + type: number + failed: + description: Total number of failed ingest operations during the lifetime of this node. + type: number + processors: + description: Total number of ingest processors. + type: array + items: + type: object + additionalProperties: + $ref: '#/components/schemas/nodes._common:KeyedProcessor' + time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + nodes._common:IoStatDevice: + type: object + properties: + device_name: + description: The Linux device name. + type: string + operations: + description: The total number of read and write operations for the device completed since starting OpenSearch. + type: number + read_kilobytes: + description: The total number of kilobytes read for the device since starting OpenSearch. + type: number + read_operations: + description: The total number of read operations for the device completed since starting OpenSearch. + type: number + write_kilobytes: + description: The total number of kilobytes written for the device since starting OpenSearch. + type: number + write_operations: + description: The total number of write operations for the device completed since starting OpenSearch. + type: number + read_time: + type: number + write_time: + type: number + queue_size: + type: number + io_time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + nodes._common:IoStats: + type: object + properties: + devices: + description: |- + Array of disk metrics for each device that is backing an OpenSearch data path. + These disk metrics are probed periodically and averages between the last probe and the current probe are computed. + type: array + items: + $ref: '#/components/schemas/nodes._common:IoStatDevice' + total: + $ref: '#/components/schemas/nodes._common:IoStatDevice' + nodes._common:Jvm: + type: object + properties: + buffer_pools: + description: Contains statistics about JVM buffer pools for the node. + type: object + additionalProperties: + $ref: '#/components/schemas/nodes._common:NodeBufferPool' + classes: + $ref: '#/components/schemas/nodes._common:JvmClasses' + gc: + $ref: '#/components/schemas/nodes._common:GarbageCollector' + mem: + $ref: '#/components/schemas/nodes._common:JvmMemoryStats' + threads: + $ref: '#/components/schemas/nodes._common:JvmThreads' + timestamp: + description: Last time JVM statistics were refreshed. + type: number + uptime: + description: |- + Human-readable JVM uptime. + Only returned if the `human` query parameter is `true`. + type: string + uptime_in_millis: + description: JVM uptime in milliseconds. + type: number + nodes._common:JvmClasses: + type: object + properties: + current_loaded_count: + description: Number of classes currently loaded by JVM. + type: number + total_loaded_count: + description: Total number of classes loaded since the JVM started. + type: number + total_unloaded_count: + description: Total number of classes unloaded since the JVM started. + type: number + nodes._common:JvmMemoryStats: + type: object + properties: + heap_used_in_bytes: + description: Memory, in bytes, currently in use by the heap. + type: number + heap_used_percent: + description: Percentage of memory currently in use by the heap. + type: number + heap_committed_in_bytes: + description: Amount of memory, in bytes, available for use by the heap. + type: number + heap_max_in_bytes: + description: Maximum amount of memory, in bytes, available for use by the heap. + type: number + non_heap_used_in_bytes: + description: Non-heap memory used, in bytes. + type: number + non_heap_committed_in_bytes: + description: Amount of non-heap memory available, in bytes. + type: number + pools: + description: Contains statistics about heap memory usage for the node. + type: object + additionalProperties: + $ref: '#/components/schemas/nodes._common:Pool' + nodes._common:JvmThreads: + type: object + properties: + count: + description: Number of active threads in use by JVM. + type: number + peak_count: + description: Highest number of threads used by JVM. + type: number + nodes._common:KeyedProcessor: + type: object + properties: + stats: + $ref: '#/components/schemas/nodes._common:Processor' + type: + type: string + nodes._common:LastGcStats: + type: object + properties: + used_in_bytes: + type: number + max_in_bytes: + type: number + usage_percent: + type: number + nodes._common:MemoryStats: + type: object + properties: + adjusted_total_in_bytes: + description: |- + If the amount of physical memory has been overridden using the `es`.`total_memory_bytes` system property then this reports the overridden value in bytes. + Otherwise it reports the same value as `total_in_bytes`. + type: number + resident: + type: string + resident_in_bytes: + type: number + share: + type: string + share_in_bytes: + type: number + total_virtual: + type: string + total_virtual_in_bytes: + type: number + total_in_bytes: + description: Total amount of physical memory in bytes. + type: number + free_in_bytes: + description: Amount of free physical memory in bytes. + type: number + used_in_bytes: + description: Amount of used physical memory in bytes. + type: number + nodes._common:NodeBufferPool: + type: object + properties: + count: + description: Number of buffer pools. + type: number + total_capacity: + description: Total capacity of buffer pools. + type: string + total_capacity_in_bytes: + description: Total capacity of buffer pools in bytes. + type: number + used: + description: Size of buffer pools. + type: string + used_in_bytes: + description: Size of buffer pools in bytes. + type: number + nodes._common:NodeReloadError: + type: object + properties: + name: + $ref: '#/components/schemas/_common:Name' + reload_exception: + $ref: '#/components/schemas/_common:ErrorCause' + required: + - name + nodes._common:NodeReloadResult: + oneOf: + - $ref: '#/components/schemas/nodes._common:Stats' + - $ref: '#/components/schemas/nodes._common:NodeReloadError' + nodes._common:NodesResponseBase: + type: object + properties: + _nodes: + $ref: '#/components/schemas/_common:NodeStatistics' + nodes._common:OperatingSystem: + type: object + properties: + cpu: + $ref: '#/components/schemas/nodes._common:Cpu' + mem: + $ref: '#/components/schemas/nodes._common:ExtendedMemoryStats' + swap: + $ref: '#/components/schemas/nodes._common:MemoryStats' + cgroup: + $ref: '#/components/schemas/nodes._common:Cgroup' + timestamp: + type: number + nodes._common:Pool: + type: object + properties: + used_in_bytes: + description: Memory, in bytes, used by the heap. + type: number + max_in_bytes: + description: Maximum amount of memory, in bytes, available for use by the heap. + type: number + peak_used_in_bytes: + description: Largest amount of memory, in bytes, historically used by the heap. + type: number + peak_max_in_bytes: + description: Largest amount of memory, in bytes, historically used by the heap. + type: number + last_gc_stats: + description: Most recent GC cycle stats for a particular memory pool. + $ref: '#/components/schemas/nodes._common:LastGcStats' + nodes._common:PressureMemory: + type: object + properties: + all: + $ref: '#/components/schemas/_common:ByteSize' + all_in_bytes: + description: Memory consumed, in bytes, by indexing requests in the coordinating, primary, or replica stage. + type: number + combined_coordinating_and_primary: + $ref: '#/components/schemas/_common:ByteSize' + combined_coordinating_and_primary_in_bytes: + description: |- + Memory consumed, in bytes, by indexing requests in the coordinating or primary stage. + This value is not the sum of coordinating and primary as a node can reuse the coordinating memory if the primary stage is executed locally. + type: number + coordinating: + $ref: '#/components/schemas/_common:ByteSize' + coordinating_in_bytes: + description: Memory consumed, in bytes, by indexing requests in the coordinating stage. + type: number + primary: + $ref: '#/components/schemas/_common:ByteSize' + primary_in_bytes: + description: Memory consumed, in bytes, by indexing requests in the primary stage. + type: number + replica: + $ref: '#/components/schemas/_common:ByteSize' + replica_in_bytes: + description: Memory consumed, in bytes, by indexing requests in the replica stage. + type: number + coordinating_rejections: + description: Number of indexing requests rejected in the coordinating stage. + type: number + primary_rejections: + description: Number of indexing requests rejected in the primary stage. + type: number + replica_rejections: + description: Number of indexing requests rejected in the replica stage. + type: number + nodes._common:Process: + type: object + properties: + cpu: + $ref: '#/components/schemas/nodes._common:Cpu' + mem: + $ref: '#/components/schemas/nodes._common:MemoryStats' + open_file_descriptors: + description: Number of opened file descriptors associated with the current or `-1` if not supported. + type: number + max_file_descriptors: + description: Maximum number of file descriptors allowed on the system, or `-1` if not supported. + type: number + timestamp: + description: |- + Last time the statistics were refreshed. + Recorded in milliseconds since the Unix Epoch. + type: number + nodes._common:Processor: + type: object + properties: + count: + description: Number of documents transformed by the processor. + type: number + current: + description: Number of documents currently being transformed by the processor. + type: number + failed: + description: Number of failed operations for the processor. + type: number + time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + nodes._common:PublishedClusterStates: + type: object + properties: + full_states: + description: Number of published cluster states. + type: number + incompatible_diffs: + description: Number of incompatible differences between published cluster states. + type: number + compatible_diffs: + description: Number of compatible differences between published cluster states. + type: number + nodes._common:Recording: + type: object + properties: + name: + type: string + cumulative_execution_count: + type: number + cumulative_execution_time: + $ref: '#/components/schemas/_common:Duration' + cumulative_execution_time_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + nodes._common:SampleType: + type: string + description: The type to sample. + enum: + - block + - cpu + - wait + nodes._common:ScriptCache: + type: object + properties: + cache_evictions: + description: Total number of times the script cache has evicted old data. + type: number + compilation_limit_triggered: + description: Total number of times the script compilation circuit breaker has limited inline script compilations. + type: number + compilations: + description: Total number of inline script compilations performed by the node. + type: number + context: + type: string + nodes._common:Scripting: + type: object + properties: + cache_evictions: + description: Total number of times the script cache has evicted old data. + type: number + compilations: + description: Total number of inline script compilations performed by the node. + type: number + compilations_history: + description: Contains this recent history of script compilations. + type: object + additionalProperties: + type: number + compilation_limit_triggered: + description: Total number of times the script compilation circuit breaker has limited inline script compilations. + type: number + contexts: + type: array + items: + $ref: '#/components/schemas/nodes._common:Context' + nodes._common:SerializedClusterState: + type: object + properties: + full_states: + $ref: '#/components/schemas/nodes._common:SerializedClusterStateDetail' + diffs: + $ref: '#/components/schemas/nodes._common:SerializedClusterStateDetail' + nodes._common:SerializedClusterStateDetail: + type: object + properties: + count: + type: number + uncompressed_size: + type: string + uncompressed_size_in_bytes: + type: number + compressed_size: + type: string + compressed_size_in_bytes: + type: number + nodes._common:ShardAdmissionControlStats: + type: object + properties: + global_io_usage: + $ref: '#/components/schemas/nodes._common:UsageStats' + global_cpu_usage: + $ref: '#/components/schemas/nodes._common:UsageStats' + nodes._common:ShardCachesStats: + type: object + additionalProperties: + $ref: '#/components/schemas/nodes._common:ShardCacheStats' + nodes._common:ShardCacheStats: + type: object + properties: + size_in_bytes: + type: number + evictions: + type: number + hit_count: + type: number + miss_count: + type: number + item_count: + type: number + store_name: + type: string + nodes._common:ShardClusterManagerThrottlingStats: + type: object + properties: + stats: + $ref: '#/components/schemas/nodes._common:ShardClusterManagerThrottlingStatsDetail' + nodes._common:ShardClusterManagerThrottlingStatsDetail: + type: object + properties: + total_throttled_tasks: + type: number + throttled_tasks_per_task_type: + type: object + nodes._common:ShardIndexingPressureStats: + type: object + properties: + stats: + type: object + enabled: + type: boolean + enforced: + type: boolean + total_rejections_breakup: + $ref: '#/components/schemas/nodes._common:TotalRejectionsBreakup' + total_rejections_breakup_shadow_mode: + $ref: '#/components/schemas/nodes._common:TotalRejectionsBreakup' + nodes._common:ShardRepositoriesStats: + type: array + nodes._common:ShardResourceUsageStats: + type: object + additionalProperties: + $ref: '#/components/schemas/nodes._common:ShardResourceUsageStatsDetail' + nodes._common:ShardResourceUsageStatsDetail: + type: object + properties: + timestamp: + type: number + cpu_utilization_percent: + $ref: '#/components/schemas/_common:Percentage' + memory_utilization_percent: + $ref: '#/components/schemas/_common:Percentage' + io_usage_stats: + $ref: '#/components/schemas/nodes._common:ShardResourceUsageStatsIoUsageStats' + nodes._common:ShardResourceUsageStatsIoUsageStats: + type: object + properties: + max_io_utilization_percent: + $ref: '#/components/schemas/_common:Percentage' + nodes._common:ShardSearchBackpressureMode: + type: string + enum: + - disabled + - enforced + - monitor_only + nodes._common:ShardSearchBackpressureStats: + type: object + properties: + search_task: + $ref: '#/components/schemas/nodes._common:ShardSearchBackpressureTaskStats' + search_shard_task: + $ref: '#/components/schemas/nodes._common:ShardSearchBackpressureTaskStats' + mode: + $ref: '#/components/schemas/nodes._common:ShardSearchBackpressureMode' + nodes._common:ShardSearchBackpressureTaskCancellationStats: + type: object + properties: + cancellation_count: + type: number + cancellation_limit_reached_count: + type: number + cancelled_task_percentage: + type: number + current_cancellation_eligible_tasks_count: + type: number + nodes._common:ShardSearchBackpressureTaskResourceTrackerCpuUsageTrackerStats: + type: object + properties: + cancellation_count: + type: number + current_max_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + current_avg_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + nodes._common:ShardSearchBackpressureTaskResourceTrackerElapsedTimeTrackerStats: + type: object + properties: + cancellation_count: + type: number + current_max_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + current_avg_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + nodes._common:ShardSearchBackpressureTaskResourceTrackerHeapUsageTrackerStats: + type: object + properties: + cancellation_count: + type: number + current_max_bytes: + type: number + current_avg_bytes: + type: number + rolling_avg_bytes: + type: number + nodes._common:ShardSearchBackpressureTaskResourceTrackerStats: + type: object + properties: + heap_usage_tracker: + $ref: '#/components/schemas/nodes._common:ShardSearchBackpressureTaskResourceTrackerHeapUsageTrackerStats' + elapsed_time_tracker: + $ref: '#/components/schemas/nodes._common:ShardSearchBackpressureTaskResourceTrackerElapsedTimeTrackerStats' + cpu_usage_tracker: + $ref: '#/components/schemas/nodes._common:ShardSearchBackpressureTaskResourceTrackerCpuUsageTrackerStats' + nodes._common:ShardSearchBackpressureTaskStats: + type: object + properties: + resource_tracker_stats: + $ref: '#/components/schemas/nodes._common:ShardSearchBackpressureTaskResourceTrackerStats' + cancellation_stats: + $ref: '#/components/schemas/nodes._common:ShardSearchBackpressureTaskCancellationStats' + completion_count: + x-version-added: '3.0' + type: number + nodes._common:ShardSearchPipelineStats: + type: object + properties: + total_request: + $ref: '#/components/schemas/nodes._common:ShardSearchPipelineTotalStats' + total_response: + $ref: '#/components/schemas/nodes._common:ShardSearchPipelineTotalStats' + pipelines: + type: object + nodes._common:ShardSearchPipelineTotalStats: + type: object + properties: + count: + type: number + time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + current: + type: number + failed: + type: number + nodes._common:ShardSegmentReplicationBackpressureStats: + type: object + properties: + total_rejected_requests: + type: number + nodes._common:ShardTaskCancellationStats: + type: object + properties: + search_shard_task: + $ref: '#/components/schemas/nodes._common:ShardTaskCancellationStatsDetail' + nodes._common:ShardTaskCancellationStatsDetail: + type: object + properties: + current_count_post_cancel: + type: number + total_count_post_cancel: + type: number + nodes._common:ShardWeightedRoutingStats: + type: object + properties: + stats: + $ref: '#/components/schemas/nodes._common:ShardWeightedRoutingStatsDetail' + nodes._common:ShardWeightedRoutingStatsDetail: + type: object + properties: + fail_open_count: + type: number + nodes._common:Stats: + type: object + properties: + adaptive_selection: + description: Statistics about adaptive replica selection. + type: object + additionalProperties: + $ref: '#/components/schemas/nodes._common:AdaptiveSelection' + breakers: + description: Statistics about the field data circuit breaker. + type: object + additionalProperties: + $ref: '#/components/schemas/nodes._common:Breaker' + fs: + $ref: '#/components/schemas/nodes._common:FileSystem' + host: + $ref: '#/components/schemas/_common:Host' + http: + $ref: '#/components/schemas/nodes._common:Http' + ingest: + $ref: '#/components/schemas/nodes._common:Ingest' + ip: + description: IP address and port for the node. + oneOf: + - $ref: '#/components/schemas/_common:Ip' + - type: array + items: + $ref: '#/components/schemas/_common:Ip' + jvm: + $ref: '#/components/schemas/nodes._common:Jvm' + name: + $ref: '#/components/schemas/_common:Name' + os: + $ref: '#/components/schemas/nodes._common:OperatingSystem' + process: + $ref: '#/components/schemas/nodes._common:Process' + roles: + $ref: '#/components/schemas/_common:NodeRoles' + script: + $ref: '#/components/schemas/nodes._common:Scripting' + script_cache: + type: object + additionalProperties: + oneOf: + - $ref: '#/components/schemas/nodes._common:ScriptCache' + - type: array + items: + $ref: '#/components/schemas/nodes._common:ScriptCache' + thread_pool: + description: Statistics about each thread pool, including current size, queue and rejected tasks. + type: object + additionalProperties: + $ref: '#/components/schemas/nodes._common:ThreadCount' + timestamp: + type: number + transport: + $ref: '#/components/schemas/nodes._common:Transport' + transport_address: + $ref: '#/components/schemas/_common:TransportAddress' + attributes: + description: Contains a list of attributes for the node. + type: object + additionalProperties: + type: string + discovery: + $ref: '#/components/schemas/nodes._common:Discovery' + indexing_pressure: + $ref: '#/components/schemas/nodes._common:IndexingPressure' + indices: + $ref: '#/components/schemas/indices.stats:IndexShardStats' + shard_indexing_pressure: + $ref: '#/components/schemas/nodes._common:ShardIndexingPressureStats' + search_backpressure: + $ref: '#/components/schemas/nodes._common:ShardSearchBackpressureStats' + cluster_manager_throttling: + $ref: '#/components/schemas/nodes._common:ShardClusterManagerThrottlingStats' + weighted_routing: + $ref: '#/components/schemas/nodes._common:ShardWeightedRoutingStats' + task_cancellation: + $ref: '#/components/schemas/nodes._common:ShardTaskCancellationStats' + resource_usage_stats: + $ref: '#/components/schemas/nodes._common:ShardResourceUsageStats' + search_pipeline: + $ref: '#/components/schemas/nodes._common:ShardSearchPipelineStats' + segment_replication_backpressure: + $ref: '#/components/schemas/nodes._common:ShardSegmentReplicationBackpressureStats' + repositories: + $ref: '#/components/schemas/nodes._common:ShardRepositoriesStats' + admission_control: + $ref: '#/components/schemas/nodes._common:ShardAdmissionControlStats' + caches: + $ref: '#/components/schemas/nodes._common:ShardCachesStats' + nodes._common:ThreadCount: + type: object + properties: + active: + description: Number of active threads in the thread pool. + type: number + completed: + description: Number of tasks completed by the thread pool executor. + type: number + largest: + description: Highest number of active threads in the thread pool. + type: number + queue: + description: Number of tasks in queue for the thread pool. + type: number + rejected: + description: Number of tasks rejected by the thread pool executor. + type: number + threads: + description: Number of threads in the thread pool. + type: number + total_wait_time_in_nanos: + description: | + The total amount of time that tasks spend waiting in the thread pool queue. + Currently, only `search`, `search_throttled`, and `index_searcher` thread pools support this metric. + type: number + nodes._common:TotalRejectionsBreakup: + type: object + properties: + node_limits: + type: number + no_successful_request_limits: + type: number + throughput_degradation_limits: + type: number + nodes._common:Transport: + type: object + properties: + inbound_handling_time_histogram: + description: The distribution of the time spent handling each inbound message on a transport thread, represented as a histogram. + type: array + items: + $ref: '#/components/schemas/nodes._common:TransportHistogram' + outbound_handling_time_histogram: + description: The distribution of the time spent sending each outbound transport message on a transport thread, represented as a histogram. + type: array + items: + $ref: '#/components/schemas/nodes._common:TransportHistogram' + rx_count: + description: Total number of RX (receive) packets received by the node during internal cluster communication. + type: number + rx_size: + description: Size of RX packets received by the node during internal cluster communication. + type: string + rx_size_in_bytes: + description: Size, in bytes, of RX packets received by the node during internal cluster communication. + type: number + server_open: + description: Current number of inbound TCP connections used for internal communication between nodes. + type: number + tx_count: + description: Total number of TX (transmit) packets sent by the node during internal cluster communication. + type: number + tx_size: + description: Size of TX packets sent by the node during internal cluster communication. + type: string + tx_size_in_bytes: + description: Size, in bytes, of TX packets sent by the node during internal cluster communication. + type: number + total_outbound_connections: + description: |- + The cumulative number of outbound transport connections that this node has opened since it started. + Each transport connection may comprise multiple TCP connections but is only counted once in this statistic. + Transport connections are typically long-lived so this statistic should remain constant in a stable cluster. + type: number + nodes._common:TransportHistogram: + type: object + properties: + count: + description: The number of times a transport thread took a period of time within the bounds of this bucket to handle an inbound message. + type: number + lt_millis: + description: |- + The exclusive upper bound of the bucket in milliseconds. + May be omitted on the last bucket if this bucket has no upper bound. + type: number + ge_millis: + description: The inclusive lower bound of the bucket in milliseconds. May be omitted on the first bucket if this bucket has no lower bound. + type: number + nodes._common:TransportUsageStats: + type: object + properties: + rejection_count: + type: object + nodes._common:UsageStats: + type: object + properties: + transport: + $ref: '#/components/schemas/nodes._common:TransportUsageStats' + nodes.info:DeprecationIndexing: + type: object + properties: + enabled: + oneOf: + - type: boolean + - type: string + required: + - enabled + nodes.info:Metric: + type: string + enum: + - _all + - aggregations + - http + - indices + - ingest + - jvm + - os + - plugins + - process + - search_pipelines + - settings + - thread_pool + - transport + nodes.info:NodeInfo: + type: object + properties: + attributes: + type: object + additionalProperties: + type: string + build_flavor: + type: string + build_hash: + description: Short hash of the last git commit in this release. + type: string + build_type: + type: string + host: + $ref: '#/components/schemas/_common:Host' + http: + $ref: '#/components/schemas/nodes.info:NodeInfoHttp' + ip: + $ref: '#/components/schemas/_common:Ip' + jvm: + $ref: '#/components/schemas/nodes.info:NodeJvmInfo' + name: + $ref: '#/components/schemas/_common:Name' + network: + $ref: '#/components/schemas/nodes.info:NodeInfoNetwork' + os: + $ref: '#/components/schemas/nodes.info:NodeOperatingSystemInfo' + plugins: + type: array + items: + $ref: '#/components/schemas/_common:PluginStats' + process: + $ref: '#/components/schemas/nodes.info:NodeProcessInfo' + roles: + $ref: '#/components/schemas/_common:NodeRoles' + settings: + $ref: '#/components/schemas/nodes.info:NodeInfoSettings' + thread_pool: + type: object + additionalProperties: + $ref: '#/components/schemas/nodes.info:NodeThreadPoolInfo' + total_indexing_buffer: + description: Total heap allowed to be used to hold recently indexed documents before they must be written to disk. This size is a shared pool across all shards on this node, and is controlled by Indexing Buffer settings. + type: number + total_indexing_buffer_in_bytes: + $ref: '#/components/schemas/_common:ByteSize' + transport: + $ref: '#/components/schemas/nodes.info:NodeInfoTransport' + transport_address: + $ref: '#/components/schemas/_common:TransportAddress' + version: + $ref: '#/components/schemas/_common:VersionString' + modules: + type: array + items: + $ref: '#/components/schemas/_common:PluginStats' + ingest: + $ref: '#/components/schemas/nodes.info:NodeInfoIngest' + aggregations: + type: object + additionalProperties: + $ref: '#/components/schemas/nodes.info:NodeInfoAggregation' + search_pipelines: + $ref: '#/components/schemas/nodes.info:NodeInfoSearchPipelines' + required: + - build_hash + - build_type + - name + - roles + - version + nodes.info:NodeInfoAction: + type: object + properties: + destructive_requires_name: + type: string + required: + - destructive_requires_name + nodes.info:NodeInfoAggregation: + type: object + properties: + types: + type: array + items: + type: string + required: + - types + nodes.info:NodeInfoBootstrap: + type: object + properties: + memory_lock: + type: string + required: + - memory_lock + nodes.info:NodeInfoClient: + type: object + properties: + type: + type: string + required: + - type + nodes.info:NodeInfoDiscovery: + type: object + properties: + type: + type: string + seed_hosts: + type: string + nodes.info:NodeInfoHttp: + type: object + properties: + bound_address: + type: array + items: + type: string + max_content_length: + $ref: '#/components/schemas/_common:ByteSize' + max_content_length_in_bytes: + type: number + publish_address: + type: string + required: + - bound_address + - max_content_length_in_bytes + - publish_address + nodes.info:NodeInfoIngest: + type: object + properties: + processors: + type: array + items: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestProcessor' + required: + - processors + nodes.info:NodeInfoIngestDownloader: + type: object + properties: + enabled: + type: string + required: + - enabled + nodes.info:NodeInfoIngestInfo: + type: object + properties: + downloader: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestDownloader' + required: + - downloader + nodes.info:NodeInfoIngestProcessor: + type: object + properties: + type: + type: string + required: + - type + nodes.info:NodeInfoJvmMemory: + type: object + properties: + direct_max: + $ref: '#/components/schemas/_common:ByteSize' + direct_max_in_bytes: + type: number + heap_init: + $ref: '#/components/schemas/_common:ByteSize' + heap_init_in_bytes: + type: number + heap_max: + $ref: '#/components/schemas/_common:ByteSize' + heap_max_in_bytes: + type: number + non_heap_init: + $ref: '#/components/schemas/_common:ByteSize' + non_heap_init_in_bytes: + type: number + non_heap_max: + $ref: '#/components/schemas/_common:ByteSize' + non_heap_max_in_bytes: + type: number + required: + - direct_max_in_bytes + - heap_init_in_bytes + - heap_max_in_bytes + - non_heap_init_in_bytes + - non_heap_max_in_bytes + nodes.info:NodeInfoMemory: + type: object + properties: + total: + type: string + total_in_bytes: + type: number + required: + - total + - total_in_bytes + nodes.info:NodeInfoNetwork: + type: object + properties: + primary_interface: + $ref: '#/components/schemas/nodes.info:NodeInfoNetworkInterface' + refresh_interval: + type: number + required: + - primary_interface + - refresh_interval + nodes.info:NodeInfoNetworkInterface: + type: object + properties: + address: + type: string + mac_address: + type: string + name: + $ref: '#/components/schemas/_common:Name' + required: + - address + - mac_address + - name + nodes.info:NodeInfoOSCPU: + type: object + properties: + cache_size: + type: string + cache_size_in_bytes: + type: number + cores_per_socket: + type: number + mhz: + type: number + model: + type: string + total_cores: + type: number + total_sockets: + type: number + vendor: + type: string + required: + - cache_size + - cache_size_in_bytes + - cores_per_socket + - mhz + - model + - total_cores + - total_sockets + - vendor + nodes.info:NodeInfoPath: + type: object + properties: + logs: + type: string + home: + type: string + repo: + type: array + items: + type: string + data: + type: array + items: + type: string + required: + - home + - logs + nodes.info:NodeInfoRepositories: + type: object + properties: + url: + $ref: '#/components/schemas/nodes.info:NodeInfoRepositoriesUrl' + required: + - url + nodes.info:NodeInfoRepositoriesUrl: + type: object + properties: + allowed_urls: + type: string + required: + - allowed_urls + nodes.info:NodeInfoScript: + type: object + properties: + allowed_types: + type: string + disable_max_compilations_rate: + type: string + required: + - allowed_types + - disable_max_compilations_rate + nodes.info:NodeInfoSearch: + type: object + properties: + remote: + $ref: '#/components/schemas/nodes.info:NodeInfoSearchRemote' + required: + - remote + nodes.info:NodeInfoSearchPipelines: + type: object + properties: + response_processors: + type: array + items: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestProcessor' + request_processors: + type: array + items: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestProcessor' + required: + - request_processors + - response_processors + nodes.info:NodeInfoSearchRemote: + type: object + properties: + connect: + type: string + required: + - connect + nodes.info:NodeInfoSettings: + type: object + properties: + cluster: + $ref: '#/components/schemas/nodes.info:NodeInfoSettingsCluster' + node: + $ref: '#/components/schemas/nodes.info:NodeInfoSettingsNode' + path: + $ref: '#/components/schemas/nodes.info:NodeInfoPath' + repositories: + $ref: '#/components/schemas/nodes.info:NodeInfoRepositories' + discovery: + $ref: '#/components/schemas/nodes.info:NodeInfoDiscovery' + action: + $ref: '#/components/schemas/nodes.info:NodeInfoAction' + client: + $ref: '#/components/schemas/nodes.info:NodeInfoClient' + http: + $ref: '#/components/schemas/nodes.info:NodeInfoSettingsHttp' + bootstrap: + $ref: '#/components/schemas/nodes.info:NodeInfoBootstrap' + transport: + $ref: '#/components/schemas/nodes.info:NodeInfoSettingsTransport' + network: + $ref: '#/components/schemas/nodes.info:NodeInfoSettingsNetwork' + script: + $ref: '#/components/schemas/nodes.info:NodeInfoScript' + search: + $ref: '#/components/schemas/nodes.info:NodeInfoSearch' + ingest: + $ref: '#/components/schemas/nodes.info:NodeInfoSettingsIngest' + index: + $ref: '#/components/schemas/nodes.info:NodeInfoSettingsIndex' + plugins: + $ref: '#/components/schemas/nodes.info:NodeInfoSettingsPlugins' + required: + - client + - cluster + - http + - node + - path + - transport + nodes.info:NodeInfoSettingsCluster: + type: object + properties: + name: + $ref: '#/components/schemas/_common:Name' + routing: + $ref: '#/components/schemas/indices._common:IndexRouting' + election: + $ref: '#/components/schemas/nodes.info:NodeInfoSettingsClusterElection' + initial_cluster_manager_nodes: + type: string + initial_master_nodes: + type: string + deprecation_indexing: + $ref: '#/components/schemas/nodes.info:DeprecationIndexing' + required: + - name + nodes.info:NodeInfoSettingsClusterElection: + type: object + properties: + strategy: + $ref: '#/components/schemas/_common:Name' + required: + - strategy + nodes.info:NodeInfoSettingsHttp: + type: object + properties: + type: + type: string + type.default: + type: string + compression: + oneOf: + - type: boolean + - type: string + port: + oneOf: + - type: number + - type: string + required: + - type + nodes.info:NodeInfoSettingsIndex: + type: object + properties: + store: + $ref: '#/components/schemas/nodes.info:NodeInfoSettingsIndexStore' + nodes.info:NodeInfoSettingsIndexHybrid: + type: object + properties: + mmap: + $ref: '#/components/schemas/nodes.info:NodeInfoSettingsIndexStoreMmap' + nodes.info:NodeInfoSettingsIndexStore: + type: object + properties: + hybrid: + $ref: '#/components/schemas/nodes.info:NodeInfoSettingsIndexHybrid' + nodes.info:NodeInfoSettingsIndexStoreMmap: + type: object + properties: + extensions: + type: array + items: + type: string + nodes.info:NodeInfoSettingsIngest: + type: object + properties: + attachment: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + append: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + csv: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + convert: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + date: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + date_index_name: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + dot_expander: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + enrich: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + fail: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + foreach: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + json: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + user_agent: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + kv: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + geoip: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + grok: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + gsub: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + join: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + lowercase: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + remove: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + rename: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + script: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + set: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + sort: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + split: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + trim: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + uppercase: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + urldecode: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + bytes: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + dissect: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + set_security_user: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + pipeline: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + drop: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + circle: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + inference: + $ref: '#/components/schemas/nodes.info:NodeInfoIngestInfo' + nodes.info:NodeInfoSettingsNetwork: + type: object + properties: + host: + $ref: '#/components/schemas/_common:Host' + required: + - host + nodes.info:NodeInfoSettingsNode: + type: object + properties: + name: + $ref: '#/components/schemas/_common:Name' + attr: + $ref: '#/components/schemas/nodes.info:NodeInfoShardIndexingPressureEnabled' + max_local_storage_nodes: + type: string + required: + - attr + - name + nodes.info:NodeInfoSettingsPlugins: + type: object + additionalProperties: + $ref: '#/components/schemas/_common:FieldValue' + nodes.info:NodeInfoSettingsTransport: + type: object + properties: + type: + type: string + type.default: + type: string + required: + - type + nodes.info:NodeInfoShardIndexingPressureEnabled: + type: object + properties: + shard_indexing_pressure_enabled: + type: string + required: + - shard_indexing_pressure_enabled + nodes.info:NodeInfoTransport: + type: object + properties: + bound_address: + type: array + items: + type: string + publish_address: + type: string + profiles: + type: object + additionalProperties: + type: string + required: + - bound_address + - profiles + - publish_address + nodes.info:NodeJvmInfo: + type: object + properties: + gc_collectors: + type: array + items: + type: string + mem: + $ref: '#/components/schemas/nodes.info:NodeInfoJvmMemory' + memory_pools: + type: array + items: + type: string + pid: + type: number + start_time_in_millis: + $ref: '#/components/schemas/_common:EpochTimeUnitMillis' + version: + $ref: '#/components/schemas/_common:VersionString' + vm_name: + $ref: '#/components/schemas/_common:Name' + vm_vendor: + type: string + vm_version: + $ref: '#/components/schemas/_common:VersionString' + bundled_jdk: + type: boolean + using_bundled_jdk: + type: + - boolean + - 'null' + using_compressed_ordinary_object_pointers: + oneOf: + - type: boolean + - type: string + input_arguments: + type: array + items: + type: string + required: + - bundled_jdk + - mem + - pid + - start_time_in_millis + nodes.info:NodeOperatingSystemInfo: + type: object + properties: + arch: + description: 'Name of the JVM architecture (ex: amd64, x86)' + type: string + available_processors: + description: Number of processors available to the Java virtual machine + type: number + allocated_processors: + description: The number of processors actually used to calculate thread pool size. This number can be set with the node.processors setting of a node and defaults to the number of processors reported by the OS. + type: number + name: + $ref: '#/components/schemas/_common:Name' + pretty_name: + $ref: '#/components/schemas/_common:Name' + refresh_interval_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + version: + $ref: '#/components/schemas/_common:VersionString' + cpu: + $ref: '#/components/schemas/nodes.info:NodeInfoOSCPU' + mem: + $ref: '#/components/schemas/nodes.info:NodeInfoMemory' + swap: + $ref: '#/components/schemas/nodes.info:NodeInfoMemory' + required: + - available_processors + - refresh_interval_in_millis + nodes.info:NodeProcessInfo: + type: object + properties: + id: + description: Process identifier (PID) + type: number + mlockall: + description: Indicates if the process address space has been successfully locked in memory + type: boolean + refresh_interval_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + required: + - id + - mlockall + - refresh_interval_in_millis + nodes.info:NodeThreadPoolInfo: + type: object + properties: + core: + type: number + keep_alive: + $ref: '#/components/schemas/_common:Duration' + max: + type: number + queue_size: + type: number + size: + type: number + type: + type: string + required: + - queue_size + - type + nodes.info:ResponseBase: + allOf: + - $ref: '#/components/schemas/nodes._common:NodesResponseBase' + - type: object + properties: + cluster_name: + $ref: '#/components/schemas/_common:Name' + nodes: + type: object + additionalProperties: + $ref: '#/components/schemas/nodes.info:NodeInfo' + required: + - cluster_name + - nodes + nodes.reload_secure_settings:ResponseBase: + allOf: + - $ref: '#/components/schemas/nodes._common:NodesResponseBase' + - type: object + properties: + cluster_name: + $ref: '#/components/schemas/_common:Name' + nodes: + type: object + additionalProperties: + $ref: '#/components/schemas/nodes._common:NodeReloadResult' + required: + - cluster_name + - nodes + nodes.stats:IndexMetric: + type: string + enum: + - _all + - completion + - docs + - fielddata + - flush + - get + - indexing + - merge + - query_cache + - recovery + - refresh + - request_cache + - search + - segments + - store + - suggest + - translog + - warmer + nodes.stats:Metric: + type: string + enum: + - _all + - adaptive_selection + - admission_control + - breaker + - caches + - cluster_manager_throttling + - discovery + - file_cache + - fs + - http + - indexing_pressure + - indices + - ingest + - jvm + - os + - process + - repositories + - resource_usage_stats + - script + - script_cache + - search_backpressure + - search_pipeline + - segment_replication_backpressure + - shard_indexing_pressure + - task_cancellation + - thread_pool + - transport + - weighted_routing + nodes.stats:ResponseBase: + allOf: + - $ref: '#/components/schemas/nodes._common:NodesResponseBase' + - type: object + properties: + cluster_name: + $ref: '#/components/schemas/_common:Name' + nodes: + type: object + additionalProperties: + $ref: '#/components/schemas/nodes._common:Stats' + required: + - nodes + nodes.usage:Metric: + type: string + enum: + - _all + - rest_actions + nodes.usage:NodeUsage: + type: object + properties: + rest_actions: + type: object + additionalProperties: + type: number + since: + $ref: '#/components/schemas/_common:EpochTimeUnitMillis' + timestamp: + $ref: '#/components/schemas/_common:EpochTimeUnitMillis' + aggregations: + type: object + additionalProperties: + type: object + required: + - aggregations + - rest_actions + - since + - timestamp + nodes.usage:ResponseBase: + allOf: + - $ref: '#/components/schemas/nodes._common:NodesResponseBase' + - type: object + properties: + cluster_name: + $ref: '#/components/schemas/_common:Name' + nodes: + type: object + additionalProperties: + $ref: '#/components/schemas/nodes.usage:NodeUsage' + required: + - cluster_name + - nodes + notifications._common:Chime: + type: object + properties: + url: + type: string + required: + - url + notifications._common:DeleteConfigsResponse: + type: object + properties: + delete_response_list: + $ref: '#/components/schemas/notifications._common:DeleteResponseList' + notifications._common:DeleteResponseList: + type: object + additionalProperties: + $ref: '#/components/schemas/notifications._common:RestStatus' + notifications._common:DeliveryStatus: + type: object + properties: + status_code: + type: string + status_text: + type: string + notifications._common:Email: + type: object + properties: + email_account_id: + type: string + recipient_list: + type: array + items: + $ref: '#/components/schemas/notifications._common:RecipientListItem' + required: + - email_account_id + notifications._common:EmailEncryptionMethod: + type: string + enum: + - none + - ssl + - start_tls + notifications._common:EmailGroup: + type: object + properties: + recipient_list: + type: array + items: + $ref: '#/components/schemas/notifications._common:RecipientListItem' + email_group_id_list: + type: array + items: + type: string + required: + - recipient_list + notifications._common:EmailRecipientStatus: + type: object + properties: + recipient: + type: string + delivery_status: + $ref: '#/components/schemas/notifications._common:DeliveryStatus' + notifications._common:EventSource: + type: object + properties: + title: + type: string + reference_id: + type: string + severity: + $ref: '#/components/schemas/notifications._common:SeverityType' + tags: + type: array + items: + type: string + notifications._common:EventStatus: + type: object + properties: + config_id: + type: string + config_name: + type: string + config_type: + $ref: '#/components/schemas/notifications._common:NotificationConfigType' + email_recipient_status: + type: array + items: + $ref: '#/components/schemas/notifications._common:EmailRecipientStatus' + delivery_status: + $ref: '#/components/schemas/notifications._common:DeliveryStatus' + notifications._common:GetConfigsResponse: + type: object + properties: + start_index: + type: integer + format: int64 + total_hits: + type: integer + format: int64 + total_hit_relation: + $ref: '#/components/schemas/notifications._common:TotalHitRelation' + config_list: + type: array + maxItems: 1 + items: + $ref: '#/components/schemas/notifications._common:NotificationsConfigsOutputItem' + notifications._common:HeaderParamsMap: + type: object + additionalProperties: + type: integer + format: int32 + notifications._common:HttpMethodType: + type: string + enum: + - PATCH + - POST + - PUT + notifications._common:MicrosoftTeamsItem: + type: object + properties: + url: + type: string + required: + - url + notifications._common:NotificationChannel: + type: object + properties: + config_id: + type: string + name: + type: string + description: + type: string + config_type: + $ref: '#/components/schemas/notifications._common:NotificationConfigType' + is_enabled: + type: boolean + notifications._common:NotificationConfigType: + type: string + description: Type of notification configuration. + enum: + - chime + - email + - email_group + - microsoft_teams + - ses_account + - slack + - smtp_account + - sns + - webhook + notifications._common:NotificationsConfig: + type: object + properties: + config_id: + type: string + config: + $ref: '#/components/schemas/notifications._common:NotificationsConfigItem' + required: + - config + notifications._common:NotificationsConfigItem: + type: object + properties: + name: + type: string + description: + type: string + config_type: + $ref: '#/components/schemas/notifications._common:NotificationConfigType' + is_enabled: + type: boolean + sns: + $ref: '#/components/schemas/notifications._common:SnsItem' + slack: + $ref: '#/components/schemas/notifications._common:SlackItem' + chime: + $ref: '#/components/schemas/notifications._common:Chime' + webhook: + $ref: '#/components/schemas/notifications._common:Webhook' + smtp_account: + $ref: '#/components/schemas/notifications._common:SmtpAccount' + ses_account: + $ref: '#/components/schemas/notifications._common:SesAccount' + email_group: + $ref: '#/components/schemas/notifications._common:EmailGroup' + email: + $ref: '#/components/schemas/notifications._common:Email' + microsoft_teams: + $ref: '#/components/schemas/notifications._common:MicrosoftTeamsItem' + required: + - config_type + - name + notifications._common:NotificationsConfigsOutputItem: + type: object + properties: + config_id: + type: string + last_updated_time_ms: + type: integer + format: int64 + created_time_ms: + type: integer + format: int64 + config: + $ref: '#/components/schemas/notifications._common:NotificationsConfigItem' + notifications._common:NotificationsPluginFeaturesMap: + type: object + additionalProperties: + type: string + notifications._common:RecipientListItem: + type: object + properties: + recipient: + type: string + notifications._common:RestStatus: + type: string + enum: + - accepted + - continue + - created + - found + - moved_permanently + - multi_status + - multiple_choices + - no_content + - non_authoritative_information + - not_modified + - ok + - partial_content + - reset_content + - see_other + - switching_protocols + - temporary_redirect + - use_proxy + notifications._common:SesAccount: + type: object + properties: + region: + type: string + role_arn: + type: string + from_address: + type: string + required: + - from_address + - region + notifications._common:SeverityType: + type: string + enum: + - critical + - high + - info + notifications._common:SlackItem: + type: object + properties: + url: + type: string + required: + - url + notifications._common:SmtpAccount: + type: object + properties: + host: + type: string + port: + type: integer + format: int32 + method: + $ref: '#/components/schemas/notifications._common:EmailEncryptionMethod' + from_address: + type: string + required: + - from_address + - host + - method + - port + notifications._common:SnsItem: + type: object + properties: + topic_arn: + type: string + role_arn: + type: string + required: + - topic_arn + notifications._common:TotalHitRelation: + type: string + enum: + - eq + - gte + notifications._common:Webhook: + type: object + properties: + url: + type: string + method: + $ref: '#/components/schemas/notifications._common:HttpMethodType' + header_params: + $ref: '#/components/schemas/notifications._common:HeaderParamsMap' + required: + - url + observability._common:ErrorResponse: + type: object + properties: + root_cause: + type: array + items: + $ref: '#/components/schemas/observability._common:RootCause' + type: + type: string + example: status_exception + reason: + type: string + example: ObservabilityObject {objectId} not found + required: + - reason + - root_cause + - type + observability._common:NotFoundResponse: + type: object + properties: + error: + $ref: '#/components/schemas/observability._common:ErrorResponse' + status: + type: integer + example: 404 + required: + - error + - status + observability._common:ObservabilityObject: + type: object + properties: + objectId: + type: string + lastUpdatedTimeMs: + type: integer + createdTimeMs: + type: integer + tenant: + type: string + operationalPanel: + $ref: '#/components/schemas/observability._common:OperationalPanel' + savedVisualization: + $ref: '#/components/schemas/observability._common:SavedVisualization' + savedQuery: + $ref: '#/components/schemas/observability._common:SavedQuery' + required: + - objectId + - tenant + observability._common:ObservabilityObjectList: + type: object + properties: + startIndex: + type: integer + totalHits: + type: integer + totalHitRelation: + type: string + observabilityObjectList: + type: array + items: + $ref: '#/components/schemas/observability._common:ObservabilityObject' + required: + - observabilityObjectList + - startIndex + - totalHitRelation + - totalHits + observability._common:OperationalPanel: + type: object + properties: + name: + type: string + visualizations: + type: array + items: + $ref: '#/components/schemas/observability._common:Visualization' + timeRange: + $ref: '#/components/schemas/observability._common:TimeRange' + queryFilter: + $ref: '#/components/schemas/observability._common:QueryFilter' + applicationId: + type: string + required: + - applicationId + - name + - queryFilter + - timeRange + - visualizations + observability._common:QueryFilter: + type: object + properties: + query: + type: string + language: + type: string + required: + - language + - query + observability._common:RootCause: + type: object + properties: + type: + type: string + example: status_exception + reason: + type: string + example: ObservabilityObject {objectId} not found + required: + - reason + - type + observability._common:SavedQuery: + type: object + properties: + name: + type: string + description: + type: string + query: + type: string + selected_date_range: + $ref: '#/components/schemas/observability._common:SelectedDateRange' + selected_timestamp: + $ref: '#/components/schemas/observability._common:SelectedTimestamp' + selected_fields: + $ref: '#/components/schemas/observability._common:SelectedFields' + required: + - description + - name + - query + - selected_date_range + - selected_fields + - selected_timestamp + observability._common:SavedVisualization: + type: object + properties: + name: + type: string + description: + type: string + query: + type: string + type: + type: string + selected_date_range: + $ref: '#/components/schemas/observability._common:SelectedDateRange' + selected_timestamp: + $ref: '#/components/schemas/observability._common:SelectedTimestamp' + selected_fields: + $ref: '#/components/schemas/observability._common:SelectedFields' + required: + - description + - name + - query + - selected_date_range + - selected_fields + - selected_timestamp + - type + observability._common:SelectedDateRange: + type: object + properties: + start: + type: string + end: + type: string + text: + type: string + required: + - end + - start + - text + observability._common:SelectedFields: + type: object + properties: + text: + type: string + tokens: + type: array + items: + $ref: '#/components/schemas/observability._common:Token' + required: + - text + - tokens + observability._common:SelectedTimestamp: + type: object + properties: + name: + type: string + type: + type: string + required: + - name + - type + observability._common:TimeRange: + type: object + properties: + to: + type: string + from: + type: string + required: + - from + - to + observability._common:Token: + type: object + properties: + name: + type: string + type: + type: string + required: + - name + - type + observability._common:Visualization: + type: object + properties: + id: + type: string + savedVisualizationId: + type: string + x: + type: integer + y: + type: integer + w: + type: integer + h: + type: integer + required: + - h + - id + - savedVisualizationId + - w + - x + - y + query._common:Credentials: + type: object + properties: + username: + type: string + password: + type: string + required: + - password + - username + query._common:DataSource: + type: object + properties: + name: + type: string + description: + type: string + connector: + type: string + allowedRoles: + type: array + items: + type: string + properties: + type: object + additionalProperties: true + resultIndex: + type: string + status: + type: string + configuration: + $ref: '#/components/schemas/query._common:DataSourceConfiguration' + required: + - connector + - name + - properties + - resultIndex + - status + query._common:DataSourceConfiguration: + type: object + properties: + endpoint: + type: string + credentials: + $ref: '#/components/schemas/query._common:Credentials' + required: + - credentials + - endpoint + query._common:DataSourceList: + type: array + items: + $ref: '#/components/schemas/query._common:DataSource' + query._common:DataSourceNotFound: + type: object + properties: + error: + $ref: '#/components/schemas/query._common:ErrorResponse' + required: + - error + query._common:DataSourceRetrieve: + type: object + properties: + name: + type: string + description: + type: string + connector: + type: string + allowedRoles: + type: array + items: + type: string + properties: + type: object + additionalProperties: true + resultIndex: + type: string + status: + type: string + configuration: + $ref: '#/components/schemas/query._common:DataSourceConfiguration' + required: + - connector + - name + - properties + - resultIndex + - status + query._common:ErrorResponse: + type: object + properties: + root_cause: + type: array + items: + $ref: '#/components/schemas/query._common:RootCause' + type: + type: string + reason: + type: string + required: + - reason + - root_cause + - type + query._common:RootCause: + type: object + properties: + type: + type: string + reason: + type: string + required: + - reason + - type + remote_store._common:RemoteStoreRestoreInfo: + type: object + properties: + snapshot: + type: string + indices: + type: array + items: + type: string + shards: + $ref: '#/components/schemas/remote_store._common:RemoteStoreRestoreShardsInfo' + remote_store._common:RemoteStoreRestoreShardsInfo: + type: object + properties: + total: + type: integer + format: int32 + failed: + type: integer + format: int32 + successful: + type: integer + format: int32 + rollups._common:Continuous: + type: object + properties: + next_window_start_time: + type: number + next_window_end_time: + type: number + status: + type: string + failure_reason: + type: string + stats: + $ref: '#/components/schemas/rollups._common:Stats' + rollups._common:Cron: + type: object + properties: + expression: + type: string + timezone: + type: string + rollups._common:DateHistogramDimension: + type: object + properties: + fixed_interval: + type: string + calendar_interval: + type: string + timezone: + type: string + source_field: + type: string + target_field: + type: string + rollups._common:DimensionsConfigItem: + type: object + properties: + histogram: + $ref: '#/components/schemas/rollups._common:HistogramDimension' + date_histogram: + $ref: '#/components/schemas/rollups._common:DateHistogramDimension' + terms: + $ref: '#/components/schemas/rollups._common:TermsDimension' + minProperties: 1 + maxProperties: 1 + rollups._common:Explain: + type: object + properties: + rollup_id: + type: string + last_updated_time: + type: number + continuous: + $ref: '#/components/schemas/rollups._common:Continuous' + rollups._common:ExplainEntities: + type: object + properties: + item: + $ref: '#/components/schemas/rollups._common:Explain' + rollups._common:HistogramDimension: + type: object + properties: + source_field: + type: string + target_field: + type: string + interval: + type: string + rollups._common:Interval: + type: object + properties: + start_time: + type: number + period: + type: number + unit: + type: string + cron: + oneOf: + - type: array + items: + $ref: '#/components/schemas/rollups._common:Cron' + - $ref: '#/components/schemas/rollups._common:Cron' + schedule_delay: + type: number + rollups._common:MetricsConfigItem: + type: object + properties: + source_field: + type: string + target_field: + type: string + metrics: + type: array + items: + $ref: '#/components/schemas/rollups._common:MetricsConfigMetrics' + rollups._common:MetricsConfigMetrics: + type: object + properties: + avg: + type: object + sum: + type: object + max: + type: object + min: + type: object + value_count: + type: object + minProperties: 1 + maxProperties: 1 + rollups._common:Rollup: + type: object + properties: + rollup_id: + type: string + enabled: + type: boolean + schedule: + $ref: '#/components/schemas/rollups._common:Schedule' + last_updated_time: + type: number + enabled_time: + type: number + description: + type: string + schema_version: + type: number + source_index: + type: string + target_index: + type: string + metadata_id: + type: string + page_size: + type: number + delay: + type: number + continuous: + type: boolean + dimensions: + type: array + items: + $ref: '#/components/schemas/rollups._common:DimensionsConfigItem' + metrics: + type: array + items: + $ref: '#/components/schemas/rollups._common:MetricsConfigItem' + error_notification: + type: string + description: Set up a Mustache message template for error notifications. For example, if an index rollup job fails, the system sends a message to a Slack channel. + rollups._common:RollupEntity: + type: object + properties: + _id: + type: string + _seqNo: + type: number + _primaryTerm: + type: number + rollup: + $ref: '#/components/schemas/rollups._common:Rollup' + rollups._common:Schedule: + type: object + properties: + interval: + $ref: '#/components/schemas/rollups._common:Interval' + rollups._common:Stats: + type: object + properties: + pages_processed: + type: number + documents_processed: + type: number + rollups_indexed: + type: number + index_time_in_ms: + type: number + search_time_in_ms: + type: number + rollups._common:TermsDimension: + type: object + properties: + source_field: + type: string + target_field: + type: string + search_pipeline._common:CollapseResponseProcessor: + type: object + properties: + tag: + type: string + description: + type: string + ignore_failure: + type: boolean + field: + type: string + context_prefix: + type: string + required: + - field + search_pipeline._common:FilterQueryRequestProcessor: + type: object + properties: + tag: + type: string + description: + type: string + ignore_failure: + type: boolean + query: + $ref: '#/components/schemas/search_pipeline._common:UserDefinedObjectStructure' + search_pipeline._common:MLOpenSearchReranker: + type: object + properties: + model_id: + type: string + required: + - model_id + search_pipeline._common:NeuralFieldMap: + type: object + additionalProperties: + type: string + search_pipeline._common:NeuralQueryEnricherRequestProcessor: + type: object + properties: + tag: + type: string + description: + type: string + default_model_id: + type: string + neural_field_default_id: + $ref: '#/components/schemas/search_pipeline._common:NeuralFieldMap' + search_pipeline._common:NormalizationPhaseResultsProcessor: + type: object + properties: + tag: + type: string + description: + type: string + ignore_failure: + type: boolean + normalization: + $ref: '#/components/schemas/search_pipeline._common:ScoreNormalization' + combination: + $ref: '#/components/schemas/search_pipeline._common:ScoreCombination' + search_pipeline._common:OversampleRequestProcessor: + type: object + properties: + tag: + type: string + description: + type: string + ignore_failure: + type: boolean + sample_factor: + type: number + format: float + content_prefix: + type: string + required: + - sample_factor + search_pipeline._common:PersonalizeSearchRankingResponseProcessor: + type: object + properties: + tag: + type: string + description: + type: string + ignore_failure: + type: boolean + campaign_arn: + type: string + recipe: + type: string + weight: + type: number + format: float + item_id_field: + type: string + iam_role_arn: + type: string + required: + - campaign_arn + - recipe + - weight + search_pipeline._common:PhaseResultsProcessor: + oneOf: + - type: object + title: normalization-processor + properties: + normalization-processor: + $ref: '#/components/schemas/search_pipeline._common:NormalizationPhaseResultsProcessor' + required: + - normalization-processor + search_pipeline._common:RenameFieldResponseProcessor: + type: object + properties: + tag: + type: string + description: + type: string + ignore_failure: + type: boolean + field: + type: string + target_field: + type: string + required: + - field + - target_field + search_pipeline._common:RequestProcessor: + oneOf: + - type: object + title: filter_query + properties: + filter_query: + $ref: '#/components/schemas/search_pipeline._common:FilterQueryRequestProcessor' + required: + - filter_query + - type: object + title: neural_query_enricher + properties: + neural_query_enricher: + $ref: '#/components/schemas/search_pipeline._common:NeuralQueryEnricherRequestProcessor' + required: + - neural_query_enricher + - type: object + title: script + properties: + script: + $ref: '#/components/schemas/search_pipeline._common:SearchScriptRequestProcessor' + required: + - script + - type: object + title: oversample + properties: + oversample: + $ref: '#/components/schemas/search_pipeline._common:OversampleRequestProcessor' + required: + - oversample + search_pipeline._common:RerankContext: + type: object + properties: + document_fields: + type: array + items: + type: string + required: + - document_fields + search_pipeline._common:RerankResponseProcessor: + type: object + properties: + tag: + type: string + description: + type: string + ignore_failure: + type: boolean + ml_opensearch: + $ref: '#/components/schemas/search_pipeline._common:MLOpenSearchReranker' + context: + $ref: '#/components/schemas/search_pipeline._common:RerankContext' + search_pipeline._common:ResponseProcessor: + oneOf: + - type: object + title: personalize_search_ranking + properties: + personalize_search_ranking: + $ref: '#/components/schemas/search_pipeline._common:PersonalizeSearchRankingResponseProcessor' + required: + - personalize_search_ranking + - type: object + title: retrieval_augmented_generation + properties: + retrieval_augmented_generation: + $ref: '#/components/schemas/search_pipeline._common:RetrievalAugmentedGenerationResponseProcessor' + required: + - retrieval_augmented_generation + - type: object + title: rename_field + properties: + rename_field: + $ref: '#/components/schemas/search_pipeline._common:RenameFieldResponseProcessor' + required: + - rename_field + - type: object + title: rerank + properties: + rerank: + $ref: '#/components/schemas/search_pipeline._common:RerankResponseProcessor' + required: + - rerank + - type: object + title: collapse + properties: + collapse: + $ref: '#/components/schemas/search_pipeline._common:CollapseResponseProcessor' + required: + - collapse + - type: object + title: truncate_hits + properties: + truncate_hits: + $ref: '#/components/schemas/search_pipeline._common:TruncateHitsResponseProcessor' + required: + - truncate_hits + - type: object + title: sort + properties: + sort: + $ref: '#/components/schemas/search_pipeline._common:SortResponseProcessor' + required: + - sort + - type: object + title: split + properties: + split: + $ref: '#/components/schemas/search_pipeline._common:SplitResponseProcessor' + required: + - split + search_pipeline._common:RetrievalAugmentedGenerationResponseProcessor: + type: object + properties: + tag: + type: string + description: + type: string + model_id: + type: string + context_field_list: + type: array + items: + type: string + system_prompt: + type: string + user_instructions: + type: string + required: + - context_field_list + - model_id + search_pipeline._common:ScoreCombination: + type: object + properties: + technique: + $ref: '#/components/schemas/search_pipeline._common:ScoreCombinationTechnique' + parameters: + type: array + items: + type: number + format: float + search_pipeline._common:ScoreCombinationTechnique: + type: string + enum: + - arithmetic_mean + - geometric_mean + - harmonic_mean + search_pipeline._common:ScoreNormalization: + type: object + properties: + technique: + $ref: '#/components/schemas/search_pipeline._common:ScoreNormalizationTechnique' + search_pipeline._common:ScoreNormalizationTechnique: + type: string + enum: + - l2 + - min_max + search_pipeline._common:SearchPipelineMap: + type: object + additionalProperties: + $ref: '#/components/schemas/search_pipeline._common:SearchPipelineStructure' + search_pipeline._common:SearchPipelineStructure: + type: object + properties: + version: + type: integer + format: int32 + request_processors: + type: array + items: + $ref: '#/components/schemas/search_pipeline._common:RequestProcessor' + response_processors: + type: array + items: + $ref: '#/components/schemas/search_pipeline._common:ResponseProcessor' + phase_results_processors: + type: array + items: + $ref: '#/components/schemas/search_pipeline._common:PhaseResultsProcessor' + search_pipeline._common:SearchScriptRequestProcessor: + type: object + properties: + tag: + type: string + description: + type: string + ignore_failure: + type: boolean + source: + type: string + lang: + type: string + required: + - source + search_pipeline._common:SortResponseProcessor: + type: object + properties: + tag: + type: string + description: + type: string + ignore_failure: + type: boolean + field: + type: string + order: + type: string + target_field: + type: string + required: + - field + search_pipeline._common:SplitResponseProcessor: + type: object + properties: + tag: + type: string + description: + type: string + ignore_failure: + type: boolean + field: + type: string + separator: + type: string + preserve_trailing: + type: boolean + target_field: + type: string + required: + - field + - separator + search_pipeline._common:TruncateHitsResponseProcessor: + type: object + properties: + tag: + type: string + description: + type: string + ignore_failure: + type: boolean + target_size: + type: integer + format: int32 + context_prefix: + type: string + search_pipeline._common:UserDefinedObjectStructure: + type: object + properties: + bool: {} + boosting: {} + combined_fields: {} + constant_score: {} + dis_max: {} + distance_feature: {} + exists: {} + function_score: {} + fuzzy: + $ref: '#/components/schemas/search_pipeline._common:UserDefinedValueMap' + geo_bounding_box: {} + geo_distance: {} + geo_polygon: {} + geo_shape: {} + has_child: {} + has_parent: {} + ids: {} + intervals: + $ref: '#/components/schemas/search_pipeline._common:UserDefinedValueMap' + knn: {} + match: + $ref: '#/components/schemas/search_pipeline._common:UserDefinedValueMap' + match_all: {} + match_bool_prefix: + $ref: '#/components/schemas/search_pipeline._common:UserDefinedValueMap' + match_none: {} + match_phrase: + $ref: '#/components/schemas/search_pipeline._common:UserDefinedValueMap' + match_phrase_prefix: + $ref: '#/components/schemas/search_pipeline._common:UserDefinedValueMap' + more_like_this: {} + multi_match: {} + nested: {} + parent_id: {} + percolate: {} + pinned: {} + prefix: + $ref: '#/components/schemas/search_pipeline._common:UserDefinedValueMap' + query_string: {} + range: + $ref: '#/components/schemas/search_pipeline._common:UserDefinedValueMap' + rank_feature: {} + regexp: + $ref: '#/components/schemas/search_pipeline._common:UserDefinedValueMap' + script: {} + script_score: {} + shape: {} + simple_query_string: {} + span_containing: {} + field_masking_span: {} + span_first: {} + span_multi: {} + span_near: {} + span_not: {} + span_or: {} + span_term: + $ref: '#/components/schemas/search_pipeline._common:UserDefinedValueMap' + span_within: {} + term: + $ref: '#/components/schemas/search_pipeline._common:UserDefinedValueMap' + terms: {} + terms_set: + $ref: '#/components/schemas/search_pipeline._common:UserDefinedValueMap' + wildcard: + $ref: '#/components/schemas/search_pipeline._common:UserDefinedValueMap' + wrapper: {} + search_pipeline._common:UserDefinedValueMap: + type: object + additionalProperties: {} + security._common:AccountDetails: + type: object + properties: + user_name: + type: string + is_reserved: + type: boolean + is_hidden: + type: boolean + is_internal_user: + type: boolean + user_requested_tenant: + type: + - 'null' + - string + backend_roles: + type: array + items: + type: string + custom_attribute_names: + type: array + items: + type: string + tenants: + $ref: '#/components/schemas/security._common:UserTenants' + roles: + type: array + items: + type: string + security._common:ActionGroup: + type: object + properties: + reserved: + type: boolean + hidden: + type: boolean + allowed_actions: + type: array + items: + type: string + type: + type: string + description: + type: string + static: + type: boolean + security._common:ActionGroupsMap: + type: object + additionalProperties: + $ref: '#/components/schemas/security._common:ActionGroup' + security._common:AllowListConfig: + type: object + properties: + enabled: + type: boolean + requests: + type: object + description: An object with APIs as key and array of http methods as values. + security._common:AuditConfig: + type: object + properties: + compliance: + $ref: '#/components/schemas/security._common:ComplianceConfig' + enabled: + type: boolean + audit: + $ref: '#/components/schemas/security._common:AuditLogsConfig' + security._common:AuditConfigWithReadOnly: + type: object + properties: + _readonly: + type: array + items: + type: string + config: + $ref: '#/components/schemas/security._common:AuditConfig' + security._common:AuditLogsConfig: + type: object + properties: + ignore_users: + type: array + items: + type: string + ignore_requests: + type: array + items: + type: string + ignore_headers: + type: array + items: + type: string + ignore_url_params: + type: array + items: + type: string + disabled_rest_categories: + type: array + items: + type: string + disabled_transport_categories: + type: array + items: + type: string + log_request_body: + type: boolean + resolve_indices: + type: boolean + resolve_bulk_requests: + type: boolean + exclude_sensitive_headers: + type: boolean + enable_transport: + type: boolean + enable_rest: + type: boolean + security._common:AuthInfo: + type: object + properties: + user: + type: string + description: Stringified User object. + user_name: + type: string + description: User's name. + user_requested_tenant: + type: + - 'null' + - string + description: Name of the tenant the user wants to switch to. + remote_address: + type: + - 'null' + - string + description: The IP address of remote user. + backend_roles: + type: array + description: Backend roles associated with the user. + items: + type: string + custom_attribute_names: + type: array + description: Name of the attributes associated with the user. + items: + type: string + roles: + type: array + description: Roles associated with the user. + items: + type: string + tenants: + type: object + description: Tenants the user has access to with read-write or read-only access indicator. + principal: + type: + - 'null' + - string + description: User principal. + peer_certificates: + type: + - number + - string + description: Number of peer certificates. + sso_logout_url: + type: + - 'null' + - string + description: Logout url. + size_of_user: + type: string + description: Size of user in memory. + size_of_custom_attributes: + type: string + description: Size of user's custom attributes in bytes. + size_of_backendroles: + type: string + description: Size of backend roles in bytes. + security._common:CertificateCountPerNode: + type: object + properties: + total: + type: number + description: Total number of nodes. + successful: + type: number + description: Number of nodes for which certificates could be fetched. + failed: + type: number + description: Number of nodes for which certificates could not be fetched. + security._common:CertificatesDetail: + type: object + properties: + issuer_dn: + type: string + subject_dn: + type: string + san: + type: string + not_before: + type: string + not_after: + type: string + security._common:CertificatesPerNode: + type: object + properties: + name: + type: string + description: Name of the node. + certificates: + type: object + additionalProperties: + $ref: '#/components/schemas/security._common:CertificateTypes' + security._common:CertificateTypes: + type: object + properties: + http: + type: array + items: + type: object + additionalProperties: + $ref: '#/components/schemas/security._common:CertificatesDetail' + transport: + type: array + items: + type: object + additionalProperties: + $ref: '#/components/schemas/security._common:CertificatesDetail' + security._common:ChangePasswordRequestContent: + type: object + properties: + current_password: + type: string + description: The current password. + password: + type: string + description: The new password to set. + required: + - current_password + - password + security._common:ComplianceConfig: + type: object + properties: + enabled: + type: boolean + write_log_diffs: + type: boolean + read_watched_fields: {} + read_ignore_users: + type: array + items: + type: string + write_watched_indices: + type: array + items: + type: string + write_ignore_users: + type: array + items: + type: string + read_metadata_only: + type: boolean + write_metadata_only: + type: boolean + external_config: + type: boolean + internal_config: + type: boolean + security._common:ConfigUpgradePayload: + type: object + properties: + config: + type: array + description: List of configs to be upgraded. + items: + type: string + security._common:Created: + type: object + properties: + status: + type: + - number + - string + message: + type: string + description: Message returned as part of CREATED response. + security._common:CreateTenantParams: + type: object + properties: + description: + type: string + security._common:DashboardsInfo: + type: object + properties: + user_name: + type: string + description: User's name + not_fail_on_forbidden_enabled: + type: boolean + description: Indicates whether DNFOF is enabled. + opensearch_dashboards_mt_enabled: + type: boolean + description: Indicates whether multi-tenancy is enabled. + opensearch_dashboards_index: + type: string + description: Name of the dashboards index. + opensearch_dashboards_server_user: + type: string + description: Name of the user used to connect dashboards to the server. + multitenancy_enabled: + type: boolean + description: Indicates whether multi-tenancy is enabled. + private_tenant_enabled: + type: boolean + description: Indicates whether private tenant is enabled for all users. + default_tenant: + type: string + description: The default tenant setting for the dashboard. + sign_in_options: + type: array + description: List of available sign-in options available. + items: + type: string + password_validation_error_message: + type: string + description: Error message when password validation fails. + password_validation_regex: + type: string + description: Reg-ex to be used to perform password validation. + security._common:DistinguishedNames: + type: object + properties: + nodes_dn: + type: array + items: + type: string + security._common:DistinguishedNamesMap: + type: object + additionalProperties: + $ref: '#/components/schemas/security._common:DistinguishedNames' + security._common:DynamicConfig: + type: object + properties: + dynamic: + $ref: '#/components/schemas/security._common:DynamicOptions' + security._common:DynamicOptions: + type: object + properties: + filtered_alias_mode: + type: string + disable_rest_auth: + type: boolean + disable_intertransport_auth: + type: boolean + respect_request_indices_options: + type: boolean + opensearch-dashboards: + type: object + kibana: + type: object + http: + type: object + authc: + type: object + authz: + type: object + auth_failure_listeners: + type: object + do_not_fail_on_forbidden: + type: boolean + multi_rolespan_enabled: + type: boolean + hosts_resolver_mode: + type: string + do_not_fail_on_forbidden_empty: + type: boolean + on_behalf_of: + type: object + security._common:GenerateOBOToken: + type: object + properties: + user: + type: string + description: The name of the entity requesting token. + authenticationToken: + type: string + description: The generated OBO token. + durationSeconds: + type: string + description: The duration of the token, defaulted to 300s. + security._common:GetCertificates: + type: object + properties: + http_certificates_list: + type: array + items: + $ref: '#/components/schemas/security._common:CertificatesDetail' + transport_certificates_list: + type: array + items: + $ref: '#/components/schemas/security._common:CertificatesDetail' + security._common:GetCertificatesNew: + type: object + properties: + _nodes: + type: object + additionalProperties: + $ref: '#/components/schemas/security._common:CertificateCountPerNode' + cluster_name: + type: string + description: Name of this cluster. + nodes: + type: object + additionalProperties: + $ref: '#/components/schemas/security._common:CertificatesPerNode' + security._common:HealthInfo: + type: object + properties: + message: + type: + - 'null' + - string + mode: + type: string + status: + type: string + security._common:IndexPermission: + type: object + properties: + index_patterns: + type: array + items: + type: string + dls: + type: string + fls: + type: array + items: + type: string + masked_fields: + type: array + items: + type: string + allowed_actions: + type: array + items: + type: string + security._common:InternalServerError: + type: object + properties: + error: + type: string + description: Error message during request execution. + security._common:MultiTenancyConfig: + type: object + properties: + default_tenant: + type: string + private_tenant_enabled: + type: boolean + multitenancy_enabled: + type: boolean + sign_in_options: + type: array + items: + type: string + security._common:OBOToken: + type: object + properties: + description: + type: string + description: Contains the description supplied by the user to describe the token. + service: + type: string + description: A name of the service if generating a token for that service. + duration: + type: string + description: Value in seconds. + required: + - description + security._common:Ok: + type: object + properties: + status: + type: + - number + - string + message: + type: string + description: Message returned as part of OK response. + security._common:PatchOperation: + type: object + properties: + op: + type: string + description: 'The operation to perform. Possible values: remove, add, replace, move, copy, test.' + path: + type: string + description: The path to the resource. + value: + description: The new values used for the update. + required: + - op + - path + security._common:PermissionsInfo: + type: object + properties: + user: + type: string + user_name: + type: string + has_api_access: + type: boolean + disabled_endpoints: + type: object + description: An object with disabled APIs as key and array of http methods as values. + security._common:Role: + type: object + properties: + reserved: + type: boolean + hidden: + type: boolean + description: + type: string + cluster_permissions: + type: array + items: + type: string + index_permissions: + type: array + items: + $ref: '#/components/schemas/security._common:IndexPermission' + tenant_permissions: + type: array + items: + $ref: '#/components/schemas/security._common:TenantPermission' + static: + type: boolean + security._common:RoleMapping: + type: object + properties: + hosts: + type: array + items: + type: string + users: + type: array + items: + type: string + reserved: + type: boolean + hidden: + type: boolean + backend_roles: + type: array + items: + type: string + and_backend_roles: + type: array + items: + type: string + description: + type: string + security._common:RoleMappings: + type: object + additionalProperties: + $ref: '#/components/schemas/security._common:RoleMapping' + security._common:RolesMap: + type: object + additionalProperties: + $ref: '#/components/schemas/security._common:Role' + security._common:SecurityConfig: + type: object + properties: + config: + $ref: '#/components/schemas/security._common:DynamicConfig' + security._common:SSLInfo: + type: object + properties: + principal: + type: + - 'null' + - string + description: User principal. + peer_certificates: + type: + - number + - string + description: Number of certificates. + peer_certificates_list: + type: + - array + - 'null' + description: List of domain names from peer certificates. + items: + type: string + local_certificates_list: + type: array + description: List of domain names from local certificates. + items: + type: string + ssl_protocol: + type: + - 'null' + - string + description: Protocol for this ssl setup. + ssl_cipher: + type: + - 'null' + - string + description: Cipher for this ssl setup. + ssl_openssl_available: + type: boolean + description: A boolean to indicate if OpenSSL is available. + ssl_openssl_version: + type: + - number + - string + description: Version of openssl. + ssl_openssl_version_string: + type: + - 'null' + - string + description: Full version string for openssl version. + ssl_openssl_non_available_cause: + type: + - 'null' + - string + description: Reason for openssl unavailability. + ssl_openssl_supports_key_manager_factory: + type: boolean + description: Indicates where KMF is supported. + ssl_openssl_supports_hostname_validation: + type: boolean + description: Indicates whether hostname validation is supported. + ssl_provider_http: + type: + - 'null' + - string + description: Returns http provider's name. + ssl_provider_transport_server: + type: string + description: Returns transport server's name. + ssl_provider_transport_client: + type: string + description: Returns transport client's name. + required: + - peer_certificates + - principal + - ssl_cipher + - ssl_openssl_available + - ssl_openssl_non_available_cause + - ssl_openssl_supports_hostname_validation + - ssl_openssl_supports_key_manager_factory + - ssl_openssl_version + - ssl_openssl_version_string + - ssl_protocol + - ssl_provider_http + - ssl_provider_transport_client + - ssl_provider_transport_server + security._common:Tenant: + type: object + properties: + reserved: + type: boolean + hidden: + type: boolean + description: + type: string + static: + type: boolean + security._common:TenantInfo: + type: object + additionalProperties: + type: string + security._common:TenantPermission: + type: object + properties: + tenant_patterns: + type: array + items: + type: string + allowed_actions: + type: array + items: + type: string + security._common:TenantsMap: + type: object + additionalProperties: + $ref: '#/components/schemas/security._common:Tenant' + security._common:UpgradeCheck: + type: object + properties: + status: + type: string + upgradeAvailable: + type: boolean + upgradeActions: + type: object + security._common:UpgradePerform: + type: object + properties: + status: + type: string + upgrades: + type: object + security._common:User: + type: object + properties: + password: + type: string + hash: + type: string + reserved: + type: boolean + hidden: + type: boolean + backend_roles: + type: array + items: + type: string + attributes: + $ref: '#/components/schemas/security._common:UserAttributes' + description: + type: string + opendistro_security_roles: + type: array + items: + type: string + static: + type: boolean + security._common:UserAttributes: + type: object + additionalProperties: + type: string + security._common:UsersMap: + type: object + additionalProperties: + $ref: '#/components/schemas/security._common:User' + security._common:UserTenants: + type: object + properties: + global_tenant: + type: boolean + admin_tenant: + type: boolean + admin: + type: boolean + security._common:WhoAmI: + type: object + properties: + dn: + type: + - 'null' + - string + is_admin: + type: boolean + is_node_certificate_request: + type: boolean + snapshot._common:FileCountSnapshotStats: + type: object + properties: + file_count: + type: number + size_in_bytes: + type: number + required: + - file_count + - size_in_bytes + snapshot._common:IndexDetails: + type: object + properties: + shard_count: + type: number + size: + $ref: '#/components/schemas/_common:ByteSize' + size_in_bytes: + type: number + max_segments_per_shard: + type: number + required: + - max_segments_per_shard + - shard_count + - size_in_bytes + snapshot._common:InfoFeatureState: + type: object + properties: + feature_name: + type: string + indices: + $ref: '#/components/schemas/_common:Indices' + required: + - feature_name + - indices + snapshot._common:Repository: + type: object + properties: + type: + type: string + uuid: + $ref: '#/components/schemas/_common:Uuid' + settings: + $ref: '#/components/schemas/snapshot._common:RepositorySettings' + required: + - settings + - type + snapshot._common:RepositorySettings: + type: object + properties: + chunk_size: + type: string + compress: + oneOf: + - type: string + - type: boolean + concurrent_streams: + oneOf: + - type: string + - type: number + location: + type: string + read_only: + oneOf: + - type: string + - type: boolean + required: + - location + snapshot._common:ShardsStats: + type: object + properties: + done: + type: number + failed: + type: number + finalizing: + type: number + initializing: + type: number + started: + type: number + total: + type: number + required: + - done + - failed + - finalizing + - initializing + - started + - total + snapshot._common:ShardsStatsStage: + type: string + enum: + - DONE + - FAILURE + - FINALIZE + - INIT + - STARTED + snapshot._common:ShardsStatsSummary: + type: object + properties: + incremental: + $ref: '#/components/schemas/snapshot._common:ShardsStatsSummaryItem' + total: + $ref: '#/components/schemas/snapshot._common:ShardsStatsSummaryItem' + start_time_in_millis: + $ref: '#/components/schemas/_common:EpochTimeUnitMillis' + time: + $ref: '#/components/schemas/_common:Duration' + time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + required: + - incremental + - start_time_in_millis + - time_in_millis + - total + snapshot._common:ShardsStatsSummaryItem: + type: object + properties: + file_count: + type: number + size_in_bytes: + type: number + required: + - file_count + - size_in_bytes + snapshot._common:SnapshotIndexStats: + type: object + properties: + shards: + type: object + additionalProperties: + $ref: '#/components/schemas/snapshot._common:SnapshotShardsStatus' + shards_stats: + $ref: '#/components/schemas/snapshot._common:ShardsStats' + stats: + $ref: '#/components/schemas/snapshot._common:SnapshotStats' + required: + - shards + - shards_stats + - stats + snapshot._common:SnapshotInfo: + type: object + properties: + data_streams: + type: array + items: + type: string + duration: + $ref: '#/components/schemas/_common:Duration' + duration_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + end_time: + $ref: '#/components/schemas/_common:DateTime' + end_time_in_millis: + $ref: '#/components/schemas/_common:EpochTimeUnitMillis' + failures: + type: array + items: + $ref: '#/components/schemas/snapshot._common:SnapshotShardFailure' + include_global_state: + type: boolean + indices: + type: array + items: + $ref: '#/components/schemas/_common:IndexName' + index_details: + type: object + additionalProperties: + $ref: '#/components/schemas/snapshot._common:IndexDetails' + metadata: + $ref: '#/components/schemas/_common:Metadata' + reason: + type: string + repository: + $ref: '#/components/schemas/_common:Name' + snapshot: + $ref: '#/components/schemas/_common:Name' + shards: + $ref: '#/components/schemas/_common:ShardStatistics' + start_time: + $ref: '#/components/schemas/_common:DateTime' + start_time_in_millis: + $ref: '#/components/schemas/_common:EpochTimeUnitMillis' + state: + type: string + uuid: + $ref: '#/components/schemas/_common:Uuid' + version: + $ref: '#/components/schemas/_common:VersionString' + version_id: + $ref: '#/components/schemas/_common:VersionNumber' + feature_states: + type: array + items: + $ref: '#/components/schemas/snapshot._common:InfoFeatureState' + required: + - data_streams + - snapshot + - uuid + snapshot._common:SnapshotShardFailure: + type: object + properties: + index: + $ref: '#/components/schemas/_common:IndexName' + node_id: + $ref: '#/components/schemas/_common:Id' + reason: + type: string + shard_id: + $ref: '#/components/schemas/_common:Id' + status: + type: string + required: + - index + - reason + - shard_id + - status + snapshot._common:SnapshotShardsStatus: + type: object + properties: + stage: + $ref: '#/components/schemas/snapshot._common:ShardsStatsStage' + stats: + $ref: '#/components/schemas/snapshot._common:ShardsStatsSummary' + required: + - stage + - stats + snapshot._common:SnapshotStats: + type: object + properties: + incremental: + $ref: '#/components/schemas/snapshot._common:FileCountSnapshotStats' + start_time_in_millis: + $ref: '#/components/schemas/_common:EpochTimeUnitMillis' + time: + $ref: '#/components/schemas/_common:Duration' + time_in_millis: + $ref: '#/components/schemas/_common:DurationValueUnitMillis' + total: + $ref: '#/components/schemas/snapshot._common:FileCountSnapshotStats' + required: + - incremental + - start_time_in_millis + - time_in_millis + - total + snapshot._common:Status: + type: object + properties: + include_global_state: + type: boolean + indices: + type: object + additionalProperties: + $ref: '#/components/schemas/snapshot._common:SnapshotIndexStats' + repository: + type: string + shards_stats: + $ref: '#/components/schemas/snapshot._common:ShardsStats' + snapshot: + type: string + state: + type: string + stats: + $ref: '#/components/schemas/snapshot._common:SnapshotStats' + uuid: + $ref: '#/components/schemas/_common:Uuid' + required: + - include_global_state + - indices + - repository + - shards_stats + - snapshot + - state + - stats + - uuid + snapshot.cleanup_repository:CleanupRepositoryResults: + type: object + properties: + deleted_blobs: + description: Number of binary large objects (blobs) removed during cleanup. + type: number + deleted_bytes: + description: Number of bytes freed by cleanup operations. + type: number + required: + - deleted_blobs + - deleted_bytes + snapshot.get:SnapshotResponseItem: + type: object + properties: + repository: + $ref: '#/components/schemas/_common:Name' + snapshots: + type: array + items: + $ref: '#/components/schemas/snapshot._common:SnapshotInfo' + error: + $ref: '#/components/schemas/_common:ErrorCause' + required: + - repository + snapshot.restore:SnapshotRestore: + type: object + properties: + indices: + type: array + items: + $ref: '#/components/schemas/_common:IndexName' + snapshot: + type: string + shards: + $ref: '#/components/schemas/_common:ShardStatistics' + required: + - indices + - shards + - snapshot + snapshot.verify_repository:CompactNodeInfo: + type: object + properties: + name: + $ref: '#/components/schemas/_common:Name' + required: + - name + sql._common:Cursor: + type: object + properties: + keep_alive: + type: string + sql._common:Explain: + type: object + properties: + query: + type: string + filter: + type: object + fetch_size: + type: integer + sql._common:ExplainBody: + type: object + properties: + name: + type: string + description: + type: object + children: + type: array + items: + $ref: '#/components/schemas/sql._common:ExplainBody' + sql._common:ExplainResponse: + type: object + properties: + root: + $ref: '#/components/schemas/sql._common:ExplainBody' + sql._common:Plugins: + type: object + properties: + ppl: + $ref: '#/components/schemas/sql._common:Ppl' + query: + $ref: '#/components/schemas/sql._common:PluginsQuery' + sql: + $ref: '#/components/schemas/sql._common:Sql' + sql._common:PluginsQuery: + type: object + properties: + memory_limit: + type: string + size_limit: + anyOf: + - type: string + - type: integer + sql._common:Ppl: + type: object + properties: + enabled: + anyOf: + - type: boolean + - type: string + sql._common:Query: + type: object + properties: + query: + type: string + filter: + type: object + fetch_size: + type: integer + sql._common:QueryResponse: + type: object + properties: + schema: + type: array + items: + type: object + datarows: + type: array + items: + type: array + cursor: + type: string + total: + type: integer + size: + type: integer + status: + type: integer + sql._common:Sql: + type: object + properties: + enabled: + anyOf: + - type: boolean + - type: string + slowlog: + anyOf: + - type: integer + - type: string + cursor: + $ref: '#/components/schemas/sql._common:Cursor' + sql._common:SqlClose: + type: object + properties: + cursor: + type: string + sql._common:SqlCloseResponse: + type: object + properties: + succeeded: + type: boolean + sql._common:SqlSettings: + type: object + properties: + transient: + $ref: '#/components/schemas/sql._common:Transient' + sql._common:SqlSettingsPlain: + type: object + properties: + transient: + $ref: '#/components/schemas/sql._common:TransientPlain' + sql._common:SqlSettingsResponse: + type: object + properties: + acknowledged: + type: boolean + persistent: + type: object + transient: + $ref: '#/components/schemas/sql._common:Transient' + sql._common:Stats: + type: object + properties: + start_time: + type: string + end_time: + type: object + cluster_name: + type: object + index: + type: object + query: + type: object + user: + type: object + execution_time: + type: object + sql._common:Transient: + type: object + properties: + plugins: + $ref: '#/components/schemas/sql._common:Plugins' + sql._common:TransientPlain: + type: object + properties: + plugins.sql.enabled: + type: boolean + plugins.ppl.enabled: + type: boolean + plugins.sql.slowlog: + type: integer + plugins.sql.cursor.keep_alive: + type: string + plugins.query.memory_limit: + type: string + plugins.query.size_limit: + type: integer + tasks._common:GroupBy: + type: string + enum: + - nodes + - none + - parents + tasks._common:NodeTasks: + type: object + properties: + name: + $ref: '#/components/schemas/_common:NodeId' + transport_address: + $ref: '#/components/schemas/_common:TransportAddress' + host: + $ref: '#/components/schemas/_common:Host' + ip: + $ref: '#/components/schemas/_common:Ip' + roles: + type: array + items: + type: string + attributes: + type: object + additionalProperties: + type: string + tasks: + type: object + additionalProperties: + $ref: '#/components/schemas/tasks._common:TaskInfo' + required: + - tasks + tasks._common:ParentTaskInfo: + allOf: + - $ref: '#/components/schemas/tasks._common:TaskInfo' + - type: object + properties: + children: + type: array + items: + $ref: '#/components/schemas/tasks._common:TaskInfo' + tasks._common:TaskInfo: + type: object + properties: + action: + type: string + cancelled: + type: boolean + cancellable: + type: boolean + description: + type: string + headers: + type: object + additionalProperties: + type: string + id: + type: number + node: + $ref: '#/components/schemas/_common:NodeId' + running_time: + $ref: '#/components/schemas/_common:Duration' + running_time_in_nanos: + $ref: '#/components/schemas/_common:DurationValueUnitNanos' + start_time_in_millis: + $ref: '#/components/schemas/_common:EpochTimeUnitMillis' + status: + description: Task status information can vary wildly from task to task. + type: object + type: + type: string + parent_task_id: + $ref: '#/components/schemas/_common:TaskId' + required: + - action + - cancellable + - headers + - id + - node + - running_time_in_nanos + - start_time_in_millis + - type + tasks._common:TaskInfos: + oneOf: + - type: array + items: + $ref: '#/components/schemas/tasks._common:TaskInfo' + - type: object + additionalProperties: + $ref: '#/components/schemas/tasks._common:ParentTaskInfo' + tasks._common:TaskListResponseBase: + type: object + properties: + node_failures: + type: array + items: + $ref: '#/components/schemas/_common:ErrorCause' + task_failures: + type: array + items: + $ref: '#/components/schemas/_common:TaskFailure' + nodes: + description: Task information grouped by node, if `group_by` was set to `node` (the default). + type: object + additionalProperties: + $ref: '#/components/schemas/tasks._common:NodeTasks' + tasks: + $ref: '#/components/schemas/tasks._common:TaskInfos' + transforms._common:ContinuousStats: + type: object + properties: + last_timestamp: + type: number + documents_behind: + type: object + additionalProperties: + type: number + transforms._common:DateHistogramGroup: + type: object + properties: + fixed_interval: + type: string + calendar_interval: + type: string + timezone: + type: string + source_field: + type: string + target_field: + type: string + transforms._common:Explain: + type: object + properties: + metadata_id: + type: string + transform_metadata: + $ref: '#/components/schemas/transforms._common:TransformMetadata' + transforms._common:ExplainResponse: + type: object + additionalProperties: + $ref: '#/components/schemas/transforms._common:Explain' + transforms._common:ExplainStats: + type: object + properties: + pages_processed: + type: number + documents_processed: + type: number + documents_indexed: + type: number + index_time_in_millis: + type: number + search_time_in_millis: + type: number + transforms._common:GroupsConfigItem: + type: object + properties: + histogram: + $ref: '#/components/schemas/transforms._common:HistogramGroup' + date_histogram: + $ref: '#/components/schemas/transforms._common:DateHistogramGroup' + terms: + $ref: '#/components/schemas/transforms._common:TermsGroup' + minProperties: 1 + maxProperties: 1 + transforms._common:HistogramGroup: + type: object + properties: + source_field: + type: string + target_field: + type: string + interval: + type: string + transforms._common:MetricsConfigItem: + type: object + properties: + source_field: + type: string + target_field: + type: string + metrics: + type: array + items: + $ref: '#/components/schemas/transforms._common:MetricsConfigMetrics' + transforms._common:MetricsConfigMetrics: + type: object + properties: + avg: + type: object + sum: + type: object + max: + type: object + min: + type: object + value_count: + type: object + minProperties: 1 + maxProperties: 1 + transforms._common:Preview: + type: object + properties: + documents: + type: array + items: + type: object + transforms._common:Schedule: + type: object + properties: + interval: + $ref: '#/components/schemas/transforms._common:ScheduleInterval' + required: + - interval + transforms._common:ScheduleInterval: + type: object + properties: + start_time: + type: number + period: + type: number + unit: + type: string + transforms._common:TermsGroup: + type: object + properties: + source_field: + type: string + target_field: + type: string + transforms._common:Transform: + type: object + properties: + transform_id: + type: string + schema_version: + type: number + continuous: + type: boolean + schedule: + $ref: '#/components/schemas/transforms._common:Schedule' + metadata_id: + type: string + updated_at: + type: string + enabled: + type: boolean + enabled_at: + type: number + description: + type: string + source_index: + type: string + data_selection_query: + $ref: '#/components/schemas/_common.query_dsl:QueryContainer' + target_index: + type: string + roles: + type: array + items: + type: string + page_size: + type: number + groups: + type: array + items: + $ref: '#/components/schemas/transforms._common:GroupsConfigItem' + aggregations: + type: array + items: + $ref: '#/components/schemas/transforms._common:MetricsConfigItem' + transforms._common:TransformEntity: + type: object + properties: + _id: + type: string + _seqNo: + type: number + _primaryTerm: + type: number + transform: + $ref: '#/components/schemas/transforms._common:Transform' + transforms._common:TransformMetadata: + type: object + properties: + continuous_stats: + $ref: '#/components/schemas/transforms._common:ContinuousStats' + transform_id: + type: string + last_updated_at: + type: number + status: + type: string + failure_reason: + type: string + stats: + $ref: '#/components/schemas/transforms._common:ExplainStats' + transforms._common:TransformsResponse: + type: object + properties: + total_transforms: + type: number + transforms: + type: array + items: + $ref: '#/components/schemas/transforms._common:TransformEntity' diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/CodeGenerator.java b/java-codegen/src/main/java/org/opensearch/client/codegen/CodeGenerator.java new file mode 100644 index 0000000000..51fdd6d32d --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/CodeGenerator.java @@ -0,0 +1,131 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen; + +import static org.opensearch.client.codegen.model.OperationGroupMatcher.*; + +import java.io.File; +import java.io.IOException; +import java.io.PrintWriter; +import java.net.URI; +import java.nio.file.Files; +import java.nio.file.Path; +import java.util.Comparator; +import java.util.stream.Stream; +import org.apache.commons.cli.DefaultParser; +import org.apache.commons.cli.HelpFormatter; +import org.apache.commons.cli.Option; +import org.apache.commons.cli.Options; +import org.apache.commons.cli.ParseException; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.opensearch.client.codegen.exceptions.ApiSpecificationParseException; +import org.opensearch.client.codegen.exceptions.RenderException; +import org.opensearch.client.codegen.model.Namespace; +import org.opensearch.client.codegen.model.OperationGroupMatcher; +import org.opensearch.client.codegen.model.ShapeRenderingContext; +import org.opensearch.client.codegen.model.SpecTransformer; +import org.opensearch.client.codegen.openapi.OpenApiSpecification; + +public class CodeGenerator { + private static final Logger LOGGER = LogManager.getLogger(); + private static final OperationGroupMatcher OPERATION_MATCHER = none(); + + public static void main(String[] args) { + var inputOpt = Option.builder("i") + .longOpt("input") + .desc("The URI or path of the OpenAPI specification") + .argName("INPUT") + .hasArg() + .required() + .build(); + var eclipseConfigOpt = Option.builder() + .longOpt("eclipse-config") + .desc("The path of the Eclipse formatting config file") + .argName("ECLIPSE_CONFIG") + .hasArg() + .required() + .build(); + var outputOpt = Option.builder("o") + .longOpt("output") + .desc("The path to the output directory to generate code into") + .argName("OUTPUT") + .hasArg() + .required() + .build(); + var helpOpt = Option.builder("h").longOpt("help").desc("Print this help information").build(); + final var usageString = + "CodeGenerator.class --input https://.../opensearch-openapi.yaml --eclipse-config ./buildSrc/formatterConfig.xml --output ./java-client/src/generated/java"; + + var options = new Options().addOption(inputOpt).addOption(eclipseConfigOpt).addOption(outputOpt).addOption(helpOpt); + + var cliParser = new DefaultParser(); + + try { + var cli = cliParser.parse(options, args); + + if (cli.hasOption(helpOpt)) { + var helpFormatter = HelpFormatter.builder().get(); + helpFormatter.printHelp(usageString, options); + return; + } + + var specLocation = new URI(cli.getOptionValue(inputOpt)); + var eclipseConfig = new File(cli.getOptionValue(eclipseConfigOpt)); + var outputDir = new File(cli.getOptionValue(outputOpt)); + LOGGER.info("Specification Location: {}", specLocation); + LOGGER.info("Eclipse Configuration: {}", eclipseConfig); + LOGGER.info("Output Directory: {}", outputDir); + + Namespace root = parseSpec(specLocation); + + cleanDirectory(outputDir); + + final var rootPackageOutputDir = new File(outputDir, root.getPackageName().replace('.', '/')); + + try ( + var ctx = ShapeRenderingContext.builder() + .withOutputDir(rootPackageOutputDir) + .withJavaCodeFormatter(b -> b.withRootDir(rootPackageOutputDir.toPath()).withEclipseFormatterConfig(eclipseConfig)) + .withTemplateLoader(b -> b.withTemplatesResourceSubPath("/org/opensearch/client/codegen/templates")) + .build() + ) { + root.render(ctx); + } + } catch (ParseException e) { + LOGGER.error("Argument Parsing Failed. Reason: {}", e.getMessage()); + + var helpFormatter = HelpFormatter.builder().setPrintWriter(new PrintWriter(System.err)).get(); + helpFormatter.printHelp(usageString, options); + + System.exit(1); + } catch (Throwable e) { + LOGGER.fatal("Unexpected Error", e); + System.exit(1); + } + } + + private static Namespace parseSpec(URI location) throws ApiSpecificationParseException { + var spec = OpenApiSpecification.retrieve(location); + var transformer = new SpecTransformer(OPERATION_MATCHER); + transformer.visit(spec); + return transformer.getRoot(); + } + + private static void cleanDirectory(File dir) throws RenderException { + if (!dir.exists()) { + return; + } + try (Stream walker = Files.walk(dir.toPath())) { + walker.sorted(Comparator.reverseOrder()).map(Path::toFile).forEach(File::delete); + } catch (IOException e) { + throw new RenderException("Unable to cleanup output directory: " + dir, e); + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/NameSanitizer.java b/java-codegen/src/main/java/org/opensearch/client/codegen/NameSanitizer.java new file mode 100644 index 0000000000..8370a06c14 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/NameSanitizer.java @@ -0,0 +1,33 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen; + +import java.util.HashSet; +import java.util.Set; +import javax.annotation.Nonnull; +import org.opensearch.client.codegen.utils.Strings; + +public class NameSanitizer { + private static final Set reservedWords = new HashSet<>() { + { + add("default"); + add("native"); + add("transient"); + } + }; + + @Nonnull + public static String wireNameToField(@Nonnull String wireName) { + var name = Strings.toCamelCase(wireName); + if (reservedWords.contains(name)) { + name += "_"; + } + return name; + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/exceptions/ApiSpecificationParseException.java b/java-codegen/src/main/java/org/opensearch/client/codegen/exceptions/ApiSpecificationParseException.java new file mode 100644 index 0000000000..eb8c8e8233 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/exceptions/ApiSpecificationParseException.java @@ -0,0 +1,21 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.exceptions; + +import java.util.List; + +public class ApiSpecificationParseException extends RuntimeException { + public ApiSpecificationParseException(String msg, Exception inner) { + super(msg, inner); + } + + public ApiSpecificationParseException(String msg, List errors) { + super(msg + "\n-" + String.join("\n-", errors)); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/exceptions/JavaFormatterException.java b/java-codegen/src/main/java/org/opensearch/client/codegen/exceptions/JavaFormatterException.java new file mode 100644 index 0000000000..66a0699051 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/exceptions/JavaFormatterException.java @@ -0,0 +1,19 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.exceptions; + +public class JavaFormatterException extends Exception { + public JavaFormatterException(String message) { + super(message); + } + + public JavaFormatterException(String message, Throwable cause) { + super(message, cause); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/exceptions/RenderException.java b/java-codegen/src/main/java/org/opensearch/client/codegen/exceptions/RenderException.java new file mode 100644 index 0000000000..22822558dd --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/exceptions/RenderException.java @@ -0,0 +1,15 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.exceptions; + +public class RenderException extends Exception { + public RenderException(String msg, Exception inner) { + super(msg, inner); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/model/ArrayShape.java b/java-codegen/src/main/java/org/opensearch/client/codegen/model/ArrayShape.java new file mode 100644 index 0000000000..d04f66f6f7 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/model/ArrayShape.java @@ -0,0 +1,40 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.model; + +import java.util.Collection; +import java.util.List; + +public class ArrayShape extends ObjectShape { + private final Field valueBodyField; + + public ArrayShape(Namespace parent, String className, Type arrayType, String typedefName, String description) { + super(parent, className, typedefName, description); + this.valueBodyField = new Field("_value_body", arrayType, true, "Response value.", null); + } + + @Override + public Collection getFields() { + return List.of(valueBodyField); + } + + @Override + public Collection getAnnotations() { + return List.of(Types.Client.Json.JsonpDeserializable); + } + + @Override + public Collection getImplementsTypes() { + return List.of(Types.Client.Json.PlainJsonSerializable); + } + + public Field getValueBodyField() { + return valueBodyField; + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/model/Deprecation.java b/java-codegen/src/main/java/org/opensearch/client/codegen/model/Deprecation.java new file mode 100644 index 0000000000..8f965bb14f --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/model/Deprecation.java @@ -0,0 +1,36 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.model; + +import java.util.Optional; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import org.semver4j.Semver; + +public class Deprecation { + @Nullable + private final String description; + @Nullable + private final Semver version; + + public Deprecation(@Nullable String description, @Nullable Semver version) { + this.description = description; + this.version = version; + } + + @Nonnull + public Optional getDescription() { + return Optional.ofNullable(description); + } + + @Nonnull + public Optional getVersion() { + return Optional.ofNullable(version); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/model/EnumShape.java b/java-codegen/src/main/java/org/opensearch/client/codegen/model/EnumShape.java new file mode 100644 index 0000000000..0968bd9886 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/model/EnumShape.java @@ -0,0 +1,65 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.model; + +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import org.opensearch.client.codegen.utils.JavaClassKind; +import org.opensearch.client.codegen.utils.Strings; + +public class EnumShape extends Shape { + private final List variants; + + public EnumShape(Namespace parent, String className, List variants, String typedefName, String description) { + super(parent, className, typedefName, description); + this.variants = variants; + } + + @Override + public JavaClassKind getClassKind() { + return JavaClassKind.Enum; + } + + @Override + public Collection getAnnotations() { + return List.of(Types.Client.Json.JsonpDeserializable); + } + + @Override + public Collection getImplementsTypes() { + return List.of(Types.Client.Json.JsonEnum); + } + + public Collection getVariants() { + return Collections.unmodifiableCollection(variants); + } + + public static class Variant { + private final String wireName; + private final boolean deprecated; + + public Variant(String wireName, boolean deprecated) { + this.wireName = wireName; + this.deprecated = deprecated; + } + + public String getWireName() { + return wireName; + } + + public String getName() { + return Strings.toPascalCase(wireName); + } + + public boolean isDeprecated() { + return deprecated; + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/model/Field.java b/java-codegen/src/main/java/org/opensearch/client/codegen/model/Field.java new file mode 100644 index 0000000000..e4d1734572 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/model/Field.java @@ -0,0 +1,87 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.model; + +import java.util.Objects; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import org.opensearch.client.codegen.NameSanitizer; +import org.opensearch.client.codegen.utils.Strings; + +public class Field { + @Nonnull + private final String wireName; + @Nonnull + private final Type type; + private boolean required; + @Nullable + private final String description; + @Nullable + private final Deprecation deprecation; + private final boolean isAdditionalProperties; + + public Field( + @Nonnull String wireName, + @Nonnull Type type, + boolean required, + @Nullable String description, + @Nullable Deprecation deprecation + ) { + this(wireName, type, required, description, deprecation, false); + } + + public Field( + @Nonnull String wireName, + @Nonnull Type type, + boolean required, + @Nullable String description, + @Nullable Deprecation deprecation, + boolean isAdditionalProperties + ) { + this.wireName = Strings.requireNonBlank(wireName, "wireName must not be null"); + this.type = Objects.requireNonNull(type, "type must not be null"); + this.required = required; + this.description = description; + this.deprecation = deprecation; + this.isAdditionalProperties = isAdditionalProperties; + } + + @Nonnull + public String getWireName() { + return wireName; + } + + @Nonnull + public String getName() { + return NameSanitizer.wireNameToField(wireName); + } + + @Nonnull + public Type getType() { + return required ? type : type.getBoxed(); + } + + public boolean isRequired() { + return required; + } + + public void setRequired(boolean required) { + this.required = required; + } + + @Nullable + public String getDescription() { + return description; + } + + @Nullable + public Deprecation getDeprecation() { + return deprecation; + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/model/HttpPath.java b/java-codegen/src/main/java/org/opensearch/client/codegen/model/HttpPath.java new file mode 100644 index 0000000000..36573e6e5e --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/model/HttpPath.java @@ -0,0 +1,120 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.model; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; +import java.util.function.Function; +import java.util.stream.Collectors; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import org.opensearch.client.codegen.openapi.OpenApiOperation; +import org.opensearch.client.codegen.utils.Either; +import org.opensearch.client.codegen.utils.Lists; + +public class HttpPath { + @Nonnull + private final List parts; + @Nullable + private final Deprecation deprecation; + @Nullable + private final String versionAdded; + + public static HttpPath from(String httpPath, OpenApiOperation operation, Map pathParams) { + var parts = new ArrayList(); + var isParameter = false; + var text = new StringBuilder(); + + for (char c : httpPath.toCharArray()) { + if (c == '{' || c == '}') { + if (text.length() > 0) { + parts.add(Part.from(isParameter, text.toString(), pathParams)); + } + text.setLength(0); + isParameter = c == '{'; + } else { + text.append(c); + } + } + + if (text.length() > 0) { + parts.add(Part.from(isParameter, text.toString(), pathParams)); + } + + return new HttpPath(parts, operation.getDeprecation().orElse(null), operation.getVersionAdded().orElse(null)); + } + + private HttpPath(@Nonnull List parts, @Nullable Deprecation deprecation, @Nullable String versionAdded) { + this.parts = Objects.requireNonNull(parts, "parts must not be null"); + this.deprecation = deprecation; + this.versionAdded = versionAdded; + } + + public List getParams() { + return Lists.filterMap(parts, Part::isParameter, Part::getParameter); + } + + public Set getParamWireNameSet() { + return parts.stream().filter(Part::isParameter).map(p -> p.getParameter().getWireName()).collect(Collectors.toSet()); + } + + public Deprecation getDeprecation() { + return deprecation; + } + + public Collection getParts() { + return parts; + } + + public boolean hasParams() { + return parts.stream().anyMatch(Part::isParameter); + } + + @Override + public String toString() { + return parts.stream().map(Part::toString).collect(Collectors.joining()); + } + + public static class Part { + private final Either part; + + public static Part from(boolean isParameter, String text, Map pathParams) { + if (text == null || text.isEmpty()) throw new IllegalStateException("Text cannot be null or empty"); + if (!isParameter) return new Part(Either.right(text)); + var param = pathParams.get(text); + if (param == null) throw new IllegalStateException("Parameter not found: " + text); + return new Part(Either.left(param)); + } + + private Part(Either part) { + this.part = part; + } + + public boolean isParameter() { + return part.isLeft(); + } + + public String getContent() { + return part.getRightOrThrow((p) -> new IllegalStateException("Cannot get content of non-content part")); + } + + public Field getParameter() { + return part.getLeftOrThrow((c) -> new IllegalStateException("Cannot get parameter of non-parameter part")); + } + + @Override + public String toString() { + return part.fold(f -> '{' + f.getName() + '}', Function.identity()); + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/model/Namespace.java b/java-codegen/src/main/java/org/opensearch/client/codegen/model/Namespace.java new file mode 100644 index 0000000000..68c6a4feb5 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/model/Namespace.java @@ -0,0 +1,176 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.model; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.opensearch.client.codegen.exceptions.RenderException; +import org.opensearch.client.codegen.utils.Lists; +import org.opensearch.client.codegen.utils.Strings; + +public class Namespace { + private final Namespace parent; + private final String name; + private final Map children = new TreeMap<>(); + private final Map operations = new TreeMap<>(); + private final List shapes = new ArrayList<>(); + + public Namespace() { + this(null, ""); + } + + private Namespace(Namespace parent, String name) { + this.parent = parent; + this.name = name; + } + + public void addOperation(RequestShape operation) { + operations.put(operation.getId(), operation); + addShape(operation); + } + + public void addShape(Shape shape) { + shapes.add(shape); + } + + public String getPackageName() { + return parent != null ? parent.getPackageName() + "." + getName() : "org.opensearch.client.opensearch"; + } + + @Nonnull + public String getName() { + return name; + } + + @Nonnull + public Namespace child(@Nullable String name) { + if (name == null || name.isEmpty()) { + return this; + } + + int idx = name.indexOf('.'); + var childName = idx >= 0 ? name.substring(0, idx) : name; + var grandChildName = idx >= 0 ? name.substring(idx + 1) : null; + + Namespace child = children.computeIfAbsent(childName, n -> new Namespace(this, n)); + return grandChildName == null ? child : child.child(grandChildName); + } + + public void render(ShapeRenderingContext ctx) throws RenderException { + for (Namespace child : children.values()) { + child.render(ctx.forSubDir(child.getName())); + } + + for (Shape shape : shapes) { + shape.render(ctx); + } + + var operations = getOperationsForClient(); + + if (operations.isEmpty()) return; + + var asBaseClass = "".equals(name); + + new Client(this, false, asBaseClass, operations).render(ctx); + new Client(this, true, asBaseClass, operations).render(ctx); + } + + private Collection getOperationsForClient() { + if ("core".equals(name)) return Collections.emptyList(); + return ("".equals(name) ? child("core") : this).operations.values(); + } + + private String getClientClassName(boolean async, boolean base) { + return "OpenSearch" + Strings.toPascalCase(name) + (async ? "Async" : "") + "Client" + (base ? "Base" : ""); + } + + private Type getClientType(boolean async) { + return Type.builder().withPackage(getPackageName()).withName(getClientClassName(async, false)).build(); + } + + private static class Client extends Shape { + private final boolean async; + private final boolean base; + private final Collection operations; + + private Client(Namespace parent, boolean async, boolean base, Collection operations) { + super(parent, parent.getClientClassName(async, base), null, "Client for the " + parent.name + " namespace."); + this.async = async; + this.base = base; + this.operations = operations; + } + + @Override + public TypeParameterDiamond getTypeParameters() { + if (!base) return null; + var thisType = getType().withTypeParams(Type.builder().withName("Self").build()); + return TypeParameterDiamond.builder() + .withParams(TypeParameterDefinition.builder().withName("Self").withExtends(thisType).build()) + .build(); + } + + @Override + public Type getExtendsType() { + return Types.Client.ApiClient( + Types.Client.Transport.OpenSearchTransport, + !base ? getType() : Type.builder().withName("Self").build() + ); + } + + public String getName() { + return parent.name; + } + + public Collection getChildren() { + return Lists.filterMap(parent.children.values(), n -> !n.getOperationsForClient().isEmpty(), n -> new ClientRef(n, async)); + } + + public Collection getOperations() { + return operations; + } + + public boolean isAsync() { + return this.async; + } + + public boolean isBase() { + return this.base; + } + + @Override + public String toString() { + return new ToStringBuilder(this).append("type", getType()).toString(); + } + + private static class ClientRef { + private final Type type; + private final String name; + + public ClientRef(Namespace namespace, boolean async) { + this.type = namespace.getClientType(async); + this.name = namespace.name; + } + + public Type getType() { + return type; + } + + public String getName() { + return name; + } + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/model/ObjectShape.java b/java-codegen/src/main/java/org/opensearch/client/codegen/model/ObjectShape.java new file mode 100644 index 0000000000..39bb2e2e86 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/model/ObjectShape.java @@ -0,0 +1,74 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.model; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import java.util.TreeMap; + +public class ObjectShape extends Shape { + protected Type extendsType; + protected final Map bodyFields = new TreeMap<>(); + protected Field additionalPropertiesField; + + public ObjectShape(Namespace parent, String className, String typedefName, String description) { + super(parent, className, typedefName, description); + } + + public void addBodyField(Field field) { + bodyFields.put(field.getName(), field); + } + + public Collection getBodyFields() { + return bodyFields.values(); + } + + public Collection getFields() { + if (additionalPropertiesField != null) { + var fields = new ArrayList<>(getBodyFields()); + fields.add(additionalPropertiesField); + return fields; + } + return getBodyFields(); + } + + public void setAdditionalPropertiesField(Field field) { + additionalPropertiesField = field; + } + + public Field getAdditionalPropertiesField() { + return additionalPropertiesField; + } + + public void setExtendsType(Type extendsType) { + this.extendsType = extendsType; + } + + public Type getExtendsType() { + return extendsType; + } + + public boolean extendsOtherShape() { + return extendsType != null; + } + + public boolean hasFieldsToSerialize() { + return !bodyFields.isEmpty() || additionalPropertiesField != null; + } + + public Collection getImplementsTypes() { + return hasFieldsToSerialize() && !extendsOtherShape() ? List.of(Types.Client.Json.PlainJsonSerializable) : null; + } + + public Collection getAnnotations() { + return (hasFieldsToSerialize() || extendsOtherShape()) && !isAbstract() ? List.of(Types.Client.Json.JsonpDeserializable) : null; + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/model/OperationGroup.java b/java-codegen/src/main/java/org/opensearch/client/codegen/model/OperationGroup.java new file mode 100644 index 0000000000..0d8dd650d9 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/model/OperationGroup.java @@ -0,0 +1,74 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.model; + +import java.util.Optional; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import org.apache.commons.lang3.builder.EqualsBuilder; +import org.apache.commons.lang3.builder.HashCodeBuilder; +import org.opensearch.client.codegen.utils.Strings; + +public class OperationGroup { + @Nullable + private final String namespace; + @Nonnull + private final String name; + + @Nonnull + public static OperationGroup from(@Nonnull String operationGroup) { + Strings.requireNonBlank(operationGroup, "operationGroup must not be blank"); + int index = operationGroup.lastIndexOf('.'); + if (index == -1) { + return new OperationGroup(null, operationGroup); + } + return new OperationGroup(operationGroup.substring(0, index), operationGroup.substring(index + 1)); + } + + public OperationGroup(@Nullable String namespace, @Nonnull String name) { + this.namespace = namespace; + this.name = Strings.requireNonBlank(name, "name must not be blank"); + } + + @Nonnull + public Optional getNamespace() { + return Optional.ofNullable(namespace); + } + + @Nonnull + public String getName() { + return name; + } + + @Nonnull + public String asTypedefPrefix() { + return (namespace == null ? "_global" : namespace) + "." + name; + } + + @Override + public String toString() { + return namespace == null ? name : namespace + "." + name; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + + if (o == null || getClass() != o.getClass()) return false; + + OperationGroup that = (OperationGroup) o; + + return new EqualsBuilder().append(namespace, that.namespace).append(name, that.name).isEquals(); + } + + @Override + public int hashCode() { + return new HashCodeBuilder(17, 37).append(namespace).append(name).toHashCode(); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/model/OperationGroupMatcher.java b/java-codegen/src/main/java/org/opensearch/client/codegen/model/OperationGroupMatcher.java new file mode 100644 index 0000000000..6a33bf3f81 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/model/OperationGroupMatcher.java @@ -0,0 +1,61 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.model; + +import java.util.Arrays; +import java.util.HashSet; +import javax.annotation.Nonnull; + +@FunctionalInterface +public interface OperationGroupMatcher { + boolean matches(OperationGroup group); + + static OperationGroupMatcher all() { + return group -> true; + } + + static OperationGroupMatcher none() { + return group -> false; + } + + static OperationGroupMatcher not(OperationGroupMatcher matcher) { + return group -> !matcher.matches(group); + } + + static OperationGroupMatcher or(OperationGroupMatcher... matchers) { + return group -> { + for (OperationGroupMatcher matcher : matchers) { + if (matcher.matches(group)) { + return true; + } + } + return false; + }; + } + + static OperationGroupMatcher and(OperationGroupMatcher... matchers) { + return group -> { + for (OperationGroupMatcher matcher : matchers) { + if (!matcher.matches(group)) { + return false; + } + } + return true; + }; + } + + static OperationGroupMatcher named(String... names) { + var set = new HashSet<>(Arrays.asList(names)); + return group -> set.contains(group.getName()); + } + + static OperationGroupMatcher namespace(@Nonnull String namespace) { + return group -> namespace.equals(group.getNamespace().orElse("")); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/model/RequestShape.java b/java-codegen/src/main/java/org/opensearch/client/codegen/model/RequestShape.java new file mode 100644 index 0000000000..2de1320733 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/model/RequestShape.java @@ -0,0 +1,182 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.model; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Set; +import java.util.TreeMap; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import org.apache.commons.lang3.tuple.Pair; +import org.opensearch.client.codegen.utils.Streams; +import org.opensearch.client.codegen.utils.Strings; + +public class RequestShape extends ObjectShape { + @Nonnull + private final OperationGroup operationGroup; + @Nonnull + private final Set httpMethods = new HashSet<>(); + @Nonnull + private final List httpPaths = new ArrayList<>(); + @Nonnull + private final Map queryParams = new TreeMap<>(); + @Nonnull + private final Map pathParams = new TreeMap<>(); + @Nonnull + private final Map fields = new TreeMap<>(); + + public RequestShape(@Nonnull Namespace parent, @Nonnull OperationGroup operationGroup, @Nullable String description) { + super(parent, requestClassName(operationGroup), operationGroup.asTypedefPrefix() + ".Request", description); + this.operationGroup = operationGroup; + } + + @Nonnull + public OperationGroup getOperationGroup() { + return operationGroup; + } + + public String getId() { + return operationGroup.getName(); + } + + @Override + public boolean extendsOtherShape() { + return extendsType != Types.Client.OpenSearch._Types.RequestBase; + } + + public String getHttpMethod() { + return Streams.sortedBy(httpMethods.stream(), m -> { + switch (m) { + case "PUT": + case "DELETE": + case "PATCH": + case "HEAD": + return 0; + case "POST": + return 1; + case "GET": + return 2; + default: + return 99; + } + }).findFirst().orElseThrow(); + } + + public void addSupportedHttpMethod(String method) { + httpMethods.add(method); + } + + public Type getResponseType() { + return Type.builder().withPackage(getPackageName()).withName(responseClassName(operationGroup)).build(); + } + + public boolean canBeSingleton() { + return !hasRequestBody() && !hasQueryParams() && hasSinglePath() && !getFirstPath().hasParams(); + } + + public boolean hasRequestBody() { + return !getBodyFields().isEmpty(); + } + + public void addQueryParam(Field field) { + queryParams.put(field.getName(), field); + addField(field); + } + + public Collection getQueryParams() { + return queryParams.values(); + } + + public boolean hasQueryParams() { + return !queryParams.isEmpty(); + } + + public void addHttpPath(HttpPath httpPath) { + httpPaths.add(httpPath); + } + + public Collection getHttpPaths() { + return httpPaths; + } + + public HttpPath getFirstPath() { + return httpPaths.get(0); + } + + public boolean hasSinglePath() { + return httpPaths.size() == 1; + } + + public void addPathParam(Field field) { + pathParams.put(field.getName(), field); + addField(field); + } + + public Collection> getIndexedPathParams() { + var indexed = new ArrayList>(); + var i = 0; + for (var param : pathParams.values()) { + indexed.add(Pair.of(param.getName(), i++)); + } + return indexed; + } + + public Collection getPathParams() { + return pathParams.values(); + } + + @Override + public void addBodyField(Field field) { + super.addBodyField(field); + addField(field); + } + + private void addField(Field field) { + fields.put(field.getName(), field); + } + + @Override + public Collection getFields() { + return fields.values(); + } + + public boolean hasAnyRequiredFields() { + return fields.values().stream().anyMatch(Field::isRequired); + } + + public Type getJsonEndpointType() { + return Types.Client.Transport.JsonEndpoint(getType(), getResponseType(), Types.Client.OpenSearch._Types.ErrorResponse); + } + + @Nonnull + private static String requestClassName(@Nonnull OperationGroup operationGroup) { + return classBaseName(operationGroup) + "Request"; + } + + @Nonnull + private static String responseClassName(@Nonnull OperationGroup operationGroup) { + return classBaseName(operationGroup) + "Response"; + } + + @Nonnull + private static String classBaseName(@Nonnull OperationGroup operationGroup) { + Objects.requireNonNull(operationGroup, "operationGroup must not be null"); + switch (operationGroup.toString()) { + case "tasks.get": + return "GetTasks"; + default: + return Strings.toPascalCase(operationGroup.getName()); + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/model/Shape.java b/java-codegen/src/main/java/org/opensearch/client/codegen/model/Shape.java new file mode 100644 index 0000000000..8f6eaa5c04 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/model/Shape.java @@ -0,0 +1,105 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.model; + +import java.util.Collection; +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; +import java.util.TreeSet; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.opensearch.client.codegen.exceptions.RenderException; +import org.opensearch.client.codegen.utils.JavaClassKind; + +public abstract class Shape { + private static final Logger LOGGER = LogManager.getLogger(); + protected final Namespace parent; + private final String className; + private final Set referencedTypes = new HashSet<>(); + private final String typedefName; + private final String description; + + public Shape(Namespace parent, String className, String typedefName, String description) { + this.parent = parent; + this.className = className; + this.typedefName = typedefName; + this.description = description; + } + + public String getPackageName() { + return parent.getPackageName(); + } + + public String getClassName() { + return this.className; + } + + public JavaClassKind getClassKind() { + return JavaClassKind.Class; + } + + public boolean isAbstract() { + return this.className.endsWith("Base") || this.className.startsWith("Base"); + } + + public String getTypedefName() { + return this.typedefName; + } + + public String getDescription() { + return this.description; + } + + public Collection getAnnotations() { + return Collections.emptyList(); + } + + public TypeParameterDiamond getTypeParameters() { + return null; + } + + public Type getExtendsType() { + return null; + } + + public Collection getImplementsTypes() { + return Collections.emptyList(); + } + + public Type getType() { + return Type.builder().withPackage(getPackageName()).withName(className).build(); + } + + public Namespace getParent() { + return this.parent; + } + + public void render(ShapeRenderingContext ctx) throws RenderException { + var outFile = ctx.getOutputFile(className + ".java"); + LOGGER.info("Rendering: {}", outFile); + var renderer = ctx.getTemplateRenderer(b -> b.withFormatter(Type.class, t -> { + referencedTypes.add(t); + return t.toString(); + })); + renderer.renderJava(this, outFile); + } + + public Set getImports() { + var imports = new TreeSet(); + for (var type : referencedTypes) { + type.getRequiredImports(imports, getPackageName()); + } + return imports; + } + + public boolean needsLegacyLicense() { + return !"ml".equals(parent.getName()); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/model/ShapeRenderingContext.java b/java-codegen/src/main/java/org/opensearch/client/codegen/model/ShapeRenderingContext.java new file mode 100644 index 0000000000..097dee806c --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/model/ShapeRenderingContext.java @@ -0,0 +1,132 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.model; + +import java.io.File; +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nonnull; +import org.opensearch.client.codegen.renderer.JavaCodeFormatter; +import org.opensearch.client.codegen.renderer.TemplateLoader; +import org.opensearch.client.codegen.renderer.TemplateRenderer; +import org.opensearch.client.codegen.renderer.TemplateValueFormatter; +import org.opensearch.client.codegen.utils.ObjectBuilderBase; +import org.opensearch.client.codegen.utils.Strings; + +public final class ShapeRenderingContext implements AutoCloseable { + @Nonnull + private final File outputDir; + @Nonnull + private final TemplateLoader templateLoader; + @Nonnull + private final JavaCodeFormatter javaCodeFormatter; + private final boolean ownedJavaCodeFormatter; + + private ShapeRenderingContext(Builder builder) { + this.outputDir = Objects.requireNonNull(builder.outputDir, "outputDir must not be null"); + this.templateLoader = Objects.requireNonNull(builder.templateLoader, "templateLoader must not be null"); + this.javaCodeFormatter = Objects.requireNonNull(builder.javaCodeFormatter, "javaCodeFormatter must not be null"); + this.ownedJavaCodeFormatter = builder.ownedJavaCodeFormatter; + } + + @Nonnull + public ShapeRenderingContext forSubDir(@Nonnull String name) { + return builder().withOutputDir(new File(outputDir, Strings.requireNonBlank(name, "name must not be null"))) + .withTemplateLoader(templateLoader) + .withJavaCodeFormatter(javaCodeFormatter) + .build(); + } + + @Nonnull + public File getOutputFile(@Nonnull String name) { + outputDir.mkdirs(); + return new File(outputDir, Strings.requireNonBlank(name, "name must not be blank")); + } + + @Nonnull + public TemplateRenderer getTemplateRenderer( + @Nonnull Function valueFormatterConfigurator + ) { + return TemplateRenderer.builder() + .withValueFormatter(valueFormatterConfigurator) + .withTemplateLoader(templateLoader) + .withJavaCodeFormatter(javaCodeFormatter) + .build(); + } + + @Override + public void close() throws Exception { + if (ownedJavaCodeFormatter) { + javaCodeFormatter.close(); + } + } + + @Nonnull + public static Builder builder() { + return new Builder(); + } + + public static final class Builder extends ObjectBuilderBase { + private File outputDir; + private TemplateLoader templateLoader; + private JavaCodeFormatter javaCodeFormatter; + private boolean ownedJavaCodeFormatter; + + private Builder() { + super(ShapeRenderingContext::new); + } + + @Override + protected @Nonnull Builder self() { + return this; + } + + @Nonnull + public Builder withOutputDir(@Nonnull File outputDir) { + this.outputDir = Objects.requireNonNull(outputDir, "outputDir must not be null"); + return this; + } + + @Nonnull + public Builder withTemplateLoader(@Nonnull TemplateLoader templateLoader) { + this.templateLoader = Objects.requireNonNull(templateLoader, "templateLoader must not be null"); + return this; + } + + @Nonnull + public Builder withTemplateLoader(@Nonnull Function configurator) { + return withTemplateLoader( + Objects.requireNonNull(configurator, "configurator must not be null").apply(TemplateLoader.builder()).build() + ); + } + + @Nonnull + public Builder withJavaCodeFormatter(@Nonnull JavaCodeFormatter javaCodeFormatter, boolean owned) { + if (this.ownedJavaCodeFormatter && this.javaCodeFormatter != null) { + this.javaCodeFormatter.close(); + } + this.javaCodeFormatter = Objects.requireNonNull(javaCodeFormatter, "javaCodeFormatter must not be null"); + this.ownedJavaCodeFormatter = owned; + return this; + } + + @Nonnull + public Builder withJavaCodeFormatter(@Nonnull JavaCodeFormatter javaCodeFormatter) { + return withJavaCodeFormatter(javaCodeFormatter, false); + } + + @Nonnull + public Builder withJavaCodeFormatter(@Nonnull Function configurator) { + return withJavaCodeFormatter( + Objects.requireNonNull(configurator, "configurator must not be null").apply(JavaCodeFormatter.builder()).build(), + true + ); + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/model/SpecTransformer.java b/java-codegen/src/main/java/org/opensearch/client/codegen/model/SpecTransformer.java new file mode 100644 index 0000000000..9c9b622bf6 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/model/SpecTransformer.java @@ -0,0 +1,513 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.model; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Function; +import java.util.stream.Stream; +import javax.annotation.Nonnull; +import org.apache.commons.lang3.NotImplementedException; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.opensearch.client.codegen.openapi.HttpStatusCode; +import org.opensearch.client.codegen.openapi.In; +import org.opensearch.client.codegen.openapi.JsonPointer; +import org.opensearch.client.codegen.openapi.MimeType; +import org.opensearch.client.codegen.openapi.OpenApiMediaType; +import org.opensearch.client.codegen.openapi.OpenApiOperation; +import org.opensearch.client.codegen.openapi.OpenApiParameter; +import org.opensearch.client.codegen.openapi.OpenApiPath; +import org.opensearch.client.codegen.openapi.OpenApiRefElement; +import org.opensearch.client.codegen.openapi.OpenApiRequestBody; +import org.opensearch.client.codegen.openapi.OpenApiResponse; +import org.opensearch.client.codegen.openapi.OpenApiSchema; +import org.opensearch.client.codegen.openapi.OpenApiSchemaFormat; +import org.opensearch.client.codegen.openapi.OpenApiSchemaType; +import org.opensearch.client.codegen.openapi.OpenApiSpecification; +import org.opensearch.client.codegen.utils.Lists; +import org.opensearch.client.codegen.utils.Versions; + +public class SpecTransformer { + private static final Logger LOGGER = LogManager.getLogger(); + @Nonnull + private final OperationGroupMatcher matcher; + @Nonnull + private final Namespace root = new Namespace(); + @Nonnull + private final Set visitedSchemas = new HashSet<>(); + @Nonnull + private final Map schemaToType = new ConcurrentHashMap<>(); + + public SpecTransformer(@Nonnull OperationGroupMatcher matcher) { + this.matcher = Objects.requireNonNull(matcher, "matcher must not be null"); + } + + @Nonnull + public Namespace getRoot() { + return root; + } + + public void visit(@Nonnull OpenApiSpecification spec) { + Objects.requireNonNull(spec, "spec must not be null"); + + LOGGER.info("Visiting Specification: {}", spec); + + var groupedOperations = new HashMap>(); + + spec.getPaths() + .stream() + .map(Map::values) + .flatMap(Collection::stream) + .map(OpenApiPath::getOperations) + .flatMap(Optional::stream) + .map(Map::values) + .flatMap(Collection::stream) + .forEach(operation -> { + var group = operation.getOperationGroup(); + if (!matcher.matches(group)) { + return; + } + groupedOperations.computeIfAbsent(group, k -> new ArrayList<>()).add(operation); + }); + + groupedOperations.forEach(this::visit); + } + + private void visit(@Nonnull OperationGroup group, @Nonnull List variants) { + LOGGER.info("Visiting Operation Group: {} [{} variants]", group, variants.size()); + + var parent = root.child(group.getNamespace().orElse("core")); + + var requestShape = visit(parent, group, variants); + parent.addOperation(requestShape); + + var responseSchema = variants.stream() + .map(OpenApiOperation::getResponses) + .flatMap(Optional::stream) + .findFirst() + .flatMap(r -> r.get(HttpStatusCode.Ok)) + .map(OpenApiResponse::resolve) + .flatMap(OpenApiResponse::getContent) + .flatMap(c -> c.get(MimeType.Json)) + .flatMap(OpenApiMediaType::getSchema) + .map(s -> { + if (s.get$ref() + .map(OpenApiRefElement.RelativeRef::getPointer) + .flatMap(JsonPointer::getLastKey) + .map(k -> k.endsWith("Base")) + .orElse(false)) { + return OpenApiSchema.builder().withPointer(s.getPointer()).withAllOf(s, OpenApiSchema.ANONYMOUS_OBJECT).build(); + } + return s.resolve(); + }) + .orElse(OpenApiSchema.ANONYMOUS_OBJECT); + + visit(parent, requestShape.getResponseType().getName(), group + ".Response", responseSchema); + } + + @Nonnull + private RequestShape visit(@Nonnull Namespace parent, @Nonnull OperationGroup group, @Nonnull List variants) { + var seenHttpPaths = new HashSet(); + HashSet requiredPathParams = null; + var allPathParams = new HashMap(); + var canonicalPaths = new HashMap, HttpPath>(); + var deprecatedPaths = new HashMap, HttpPath>(); + + var description = variants.stream().map(OpenApiOperation::getDescription).flatMap(Optional::stream).findFirst().orElse(null); + + var shape = new RequestShape(parent, group, description); + + for (var variant : variants) { + shape.addSupportedHttpMethod(variant.getHttpMethod().toString().toUpperCase()); + + var httpPathStr = variant.getHttpPath(); + if (!seenHttpPaths.add(httpPathStr)) { + continue; + } + + variant.getAllRelevantParameters(In.Path).forEach(parameter -> { + var paramName = parameter.getName().orElseThrow(); + if (!allPathParams.containsKey(paramName)) { + allPathParams.put(paramName, visit(parameter)); + } + }); + + var httpPath = HttpPath.from(httpPathStr, variant, allPathParams); + + (httpPath.getDeprecation() == null ? canonicalPaths : deprecatedPaths).put(httpPath.getParamWireNameSet(), httpPath); + + if (requiredPathParams != null) { + requiredPathParams.retainAll(httpPath.getParamWireNameSet()); + } else { + requiredPathParams = new HashSet<>(httpPath.getParamWireNameSet()); + } + } + + Stream.of( + canonicalPaths.values().stream(), + deprecatedPaths.entrySet().stream().filter(p -> !canonicalPaths.containsKey(p.getKey())).map(Map.Entry::getValue) + ).flatMap(Function.identity()).sorted((p1, p2) -> { + var params1 = p1.getParams(); + var p1Size = params1.size(); + var params2 = p2.getParams(); + var p2Size = params2.size(); + var len = Math.max(p1Size, p2Size); + + for (int i = 0; i < len; i++) { + if (i >= p1Size) { + return -1; + } + if (i >= p2Size) { + return 1; + } + var cmp = params1.get(i).getName().compareTo(params2.get(i).getName()); + if (cmp != 0) { + return cmp; + } + } + + return 0; + }).forEachOrdered(shape::addHttpPath); + + for (var entry : allPathParams.entrySet()) { + entry.getValue().setRequired(requiredPathParams.contains(entry.getKey())); + shape.addPathParam(entry.getValue()); + } + + variants.stream() + .flatMap(v -> v.getAllRelevantParameters(In.Query).stream()) + .filter(p -> !p.isGlobal()) + .map(this::visit) + .forEachOrdered(shape::addQueryParam); + + var bodySchema = variants.stream() + .map(OpenApiOperation::getRequestBody) + .flatMap(Optional::stream) + .findFirst() + .map(OpenApiRequestBody::resolve) + .flatMap(OpenApiRequestBody::getContent) + .flatMap(c -> c.get(MimeType.Json)) + .flatMap(OpenApiMediaType::getSchema) + .map(OpenApiSchema::resolve) + .orElse(OpenApiSchema.ANONYMOUS_OBJECT); + + visitInto(bodySchema, shape); + + if (shape.getExtendsType() == null) { + shape.setExtendsType(Types.Client.OpenSearch._Types.RequestBase); + } + + return shape; + } + + private Field visit(OpenApiParameter parameter) { + LOGGER.info("Visiting Parameter: {}", parameter); + return new Field( + parameter.getName().orElseThrow(), + mapType(parameter.getSchema().orElseThrow()), + parameter.getRequired(), + parameter.getDescription().orElse(null), + parameter.getDeprecation().orElse(null) + ); + } + + private void visit(OpenApiSchema schema) { + var namespace = schema.getNamespace().orElseThrow(); + var name = schema.getName().orElseThrow(); + visit(root.child(namespace), name, namespace + "." + name, schema); + } + + private void visit(Namespace parent, String className, String typedefName, OpenApiSchema schema) { + if (!visitedSchemas.add(schema)) { + return; + } + + LOGGER.info("Visiting Schema: {}", schema); + + Shape shape; + + var description = schema.getDescription().orElse(null); + + if (schema.isArray()) { + shape = new ArrayShape(parent, className, mapType(schema), typedefName, description); + } else if (schema.determineSingleType().orElse(null) == OpenApiSchemaType.Object) { + var objShape = new ObjectShape(parent, className, typedefName, description); + visitInto(schema, objShape); + shape = objShape; + } else if (schema.isString() && schema.hasEnums()) { + var deprecatedEnums = schema.getDeprecatedEnums().orElseGet(Collections::emptySet); + shape = new EnumShape( + parent, + className, + Lists.map(schema.getEnums().orElseThrow(), v -> new EnumShape.Variant(v, deprecatedEnums.contains(v))), + typedefName, + description + ); + } else if (schema.hasOneOf()) { + var taggedUnion = new TaggedUnionShape(parent, className, typedefName, description); + schema.getOneOf().orElseThrow().forEach(s -> { + var title = s.getTitle() + .orElseThrow(() -> new IllegalStateException("oneOf variant [" + s.getPointer() + "] is missing a `title` tag")); + taggedUnion.addVariant(title, mapType(s)); + }); + shape = taggedUnion; + } else { + throw new NotImplementedException("Unsupported schema: " + schema); + } + + parent.addShape(shape); + } + + private void visitInto(OpenApiSchema schema, ObjectShape shape) { + var allOf = schema.getAllOf(); + if (allOf.isPresent()) { + shape.setExtendsType(mapType(allOf.get().get(0))); + schema = allOf.get().get(1); + } + + final var properties = new HashMap(); + final var additionalProperties = new ArrayList(); + final var required = collectObjectProperties(schema, properties, additionalProperties); + + properties.forEach( + (k, v) -> shape.addBodyField(new Field(k, mapType(v), required.contains(k), v.getDescription().orElse(null), null)) + ); + + if (!additionalProperties.isEmpty()) { + var valueSchema = additionalProperties.size() == 1 ? additionalProperties.get(0) : OpenApiSchema.ANONYMOUS_UNTYPED; + shape.setAdditionalPropertiesField( + new Field( + valueSchema.getTitle().orElse("metadata"), + Types.Java.Util.Map(Types.Java.Lang.String, mapType(valueSchema)), + false, + valueSchema.getDescription().orElse(null), + null, + true + ) + ); + } + } + + private Set collectObjectProperties( + OpenApiSchema schema, + Map properties, + List additionalProperties + ) { + if (schema.has$ref()) { + return collectObjectProperties(schema.resolve(), properties, additionalProperties); + } + + if (schema.hasAllOf()) { + var required = new HashSet(); + for (var component : schema.getAllOf().orElseThrow()) { + required.addAll(collectObjectProperties(component, properties, additionalProperties)); + } + return required; + } + + if (schema.hasAnyOf() || schema.hasOneOf()) { + Set required = null; + for (var component : schema.getAnyOf().or(schema::getOneOf).orElseThrow()) { + var componentRequired = collectObjectProperties(component, properties, additionalProperties); + if (required == null) { + required = new HashSet<>(componentRequired); + } else { + required.retainAll(componentRequired); + } + } + return required; + } + + schema.getProperties().ifPresent(props -> props.forEach((propName, propSchema) -> { + var resolvedPropSchema = propSchema.resolve(); + var isRemoved = propSchema.getVersionRemoved() + .or(resolvedPropSchema::getVersionRemoved) + .map(ver -> ver.isLowerThanOrEqualTo(Versions.V2_0_0)) + .orElse(false); + + if (isRemoved) { + return; + } + + var existing = properties.get(propName); + if (existing != null) { + var existingType = existing.determineSingleType().orElse(null); + var newType = propSchema.determineSingleType().orElse(null); + if (existingType != null + && (existingType == OpenApiSchemaType.Object || existingType == OpenApiSchemaType.Array || existingType != newType)) { + propSchema = OpenApiSchema.ANONYMOUS_UNTYPED; + } + } + + properties.put(propName, propSchema); + })); + + schema.getAdditionalProperties().ifPresent(additionalProperties::add); + + return schema.getRequired().orElseGet(Collections::emptySet); + } + + private Type mapType(OpenApiSchema schema) { + return mapType(schema, false); + } + + private Type mapType(OpenApiSchema schema, boolean boxed) { + var type = schemaToType.get(schema); + if (type == null) { + type = mapTypeInner(schema); + schemaToType.put(schema, type); + } + return boxed ? type.getBoxed() : type; + } + + private Type mapTypeInner(OpenApiSchema schema) { + if (schema.has$ref()) { + schema = schema.resolve(); + + if (!shouldKeepRef(schema)) { + return mapType(schema); + } + + visit(schema); + + return Type.builder() + .withPackage(Types.Client.OpenSearch.PACKAGE + "." + schema.getNamespace().orElseThrow()) + .withName(schema.getName().orElseThrow()) + .isEnum(schema.hasEnums()) + .build(); + } + + var oneOf = schema.getOneOf(); + if (oneOf.isPresent()) { + return mapOneOf(oneOf.get()); + } + + var allOf = schema.getAllOf(); + if (allOf.isPresent()) { + return mapAllOf(allOf.get()); + } + + var types = schema.getTypes().orElse(null); + + if (types == null || types.size() != 1) { + return Types.Client.Json.JsonData; + } + + switch (types.iterator().next()) { + case Object: + return mapObject(schema); + case Array: + return mapArray(schema); + case String: + if ("_common:Duration".equals(schema.getPointer().getLastKey().orElse(null))) return Types.Client.OpenSearch._Types.Time; + return Types.Java.Lang.String; + case Boolean: + return Types.Primitive.Boolean; + case Integer: + case Number: + return mapNumber(schema); + } + + throw new UnsupportedOperationException("Can not get type name for: " + types); + } + + private Type mapOneOf(List oneOf) { + if (isOneOfSingleAndArray(oneOf)) { + return mapType(oneOf.get(1)); + } + + var types = OpenApiSchema.determineTypes(oneOf); + + if (types.size() == 2 + && types.contains(OpenApiSchemaType.String) + && (types.contains(OpenApiSchemaType.Boolean) || types.contains(OpenApiSchemaType.Number))) { + return Types.Java.Lang.String; + } + + throw new UnsupportedOperationException("Can not get type name for oneOf: " + oneOf); + } + + private Type mapAllOf(List allOf) { + if (allOf.size() == 1) { + return mapType(allOf.get(0)); + } + + throw new UnsupportedOperationException("Can not get type name for allOf: " + allOf); + } + + private Type mapObject(OpenApiSchema schema) { + var values = schema.getAdditionalProperties().map(s -> mapType(s, true)).orElse(Types.Client.Json.JsonData); + return Types.Java.Util.Map(Types.Java.Lang.String, values); + } + + private Type mapArray(OpenApiSchema schema) { + var items = schema.getItems().map(i -> mapType(i, true)).orElse(Types.Java.Lang.String); + return Types.Java.Util.List(items); + } + + private Type mapNumber(OpenApiSchema schema) { + var format = schema.getFormat().orElse(OpenApiSchemaFormat.Int32); + switch (format) { + case Int32: + return Types.Primitive.Int; + case Int64: + return Types.Primitive.Long; + case Float: + return Types.Primitive.Float; + case Double: + return Types.Primitive.Double; + default: + throw new UnsupportedOperationException("Can not get type name for integer/number with format: " + format); + } + } + + private boolean shouldKeepRef(OpenApiSchema schema) { + if (schema.isNumber() || schema.isArray()) { + return false; + } + if (schema.isString() && schema.getEnums().isEmpty()) { + return false; + } + if (schema.isObject() + && schema.getProperties().map(Map::isEmpty).orElse(true) + && schema.getAdditionalProperties().map(s -> s.getTitle().isEmpty()).orElse(false)) { + return false; + } + if (schema.getOneOf().isPresent()) { + return schema.getOneOf().orElseThrow().stream().allMatch(s -> s.getTitle().isPresent()); + } + if (schema.getAllOf().isPresent()) { + return schema.determineSingleType().orElse(null) == OpenApiSchemaType.Object; + } + return true; + } + + private static boolean isOneOfSingleAndArray(List oneOf) { + if (oneOf.size() != 2) { + return false; + } + var second = oneOf.get(1); + if (!second.isArray()) { + return false; + } + var first = oneOf.get(0); + var items = second.getItems().orElseThrow(); + return first.getTypes().equals(items.getTypes()) && first.get$ref().equals(items.get$ref()); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/model/TaggedUnionShape.java b/java-codegen/src/main/java/org/opensearch/client/codegen/model/TaggedUnionShape.java new file mode 100644 index 0000000000..36dc7e2f2a --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/model/TaggedUnionShape.java @@ -0,0 +1,65 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.model; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import org.opensearch.client.codegen.utils.Lists; + +public class TaggedUnionShape extends ObjectShape { + private final List variants = new ArrayList<>(); + + public TaggedUnionShape(Namespace parent, String className, String typedefName, String description) { + super(parent, className, typedefName, description); + } + + public void addVariant(String name, Type type) { + variants.add(new Variant(name, type.getBoxed())); + } + + public Collection getVariants() { + return variants; + } + + public Collection getPrimitiveVariants() { + return Lists.filter(variants, v -> v.getType().isPrimitive()); + } + + @Override + public Collection getAnnotations() { + return List.of(Types.Client.Json.JsonpDeserializable); + } + + @Override + public Collection getImplementsTypes() { + return List.of( + Types.Client.Util.TaggedUnion(getType().getNestedType("Kind"), Types.Java.Lang.Object), + Types.Client.Json.PlainJsonSerializable + ); + } + + public static class Variant { + private final String name; + private final Type type; + + protected Variant(String name, Type type) { + this.name = name; + this.type = type; + } + + public String getName() { + return name; + } + + public Type getType() { + return type; + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/model/Type.java b/java-codegen/src/main/java/org/opensearch/client/codegen/model/Type.java new file mode 100644 index 0000000000..18f5eee2d1 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/model/Type.java @@ -0,0 +1,254 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.model; + +import static org.opensearch.client.codegen.model.Types.Client; +import static org.opensearch.client.codegen.model.Types.Java; + +import com.samskivert.mustache.Mustache; +import java.util.Set; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import org.opensearch.client.codegen.renderer.lambdas.TypeIsDefinedLambda; +import org.opensearch.client.codegen.renderer.lambdas.TypeQueryParamifyLambda; +import org.opensearch.client.codegen.renderer.lambdas.TypeSerializerLambda; +import org.opensearch.client.codegen.utils.ObjectBuilderBase; +import org.opensearch.client.codegen.utils.Strings; + +public class Type { + private static final Set PRIMITIVES = Set.of( + "String", + "boolean", + "Boolean", + "char", + "Character", + "byte", + "Byte", + "short", + "Short", + "int", + "Integer", + "long", + "Long", + "float", + "Float", + "double", + "Double" + ); + + public static Builder builder() { + return new Builder(); + } + + @Nullable + private final String packageName; + @Nonnull + private final String name; + @Nullable + private final Type[] typeParams; + private final boolean isEnum; + + private Type(Builder builder) { + this.packageName = builder.packageName; + this.name = Strings.requireNonBlank(builder.name, "name must not be blank"); + this.typeParams = builder.typeParams; + this.isEnum = builder.isEnum; + } + + public Builder toBuilder() { + return new Builder().withPackage(packageName).withName(name).withTypeParameters(typeParams).isEnum(isEnum); + } + + @Override + public String toString() { + var out = new StringBuilder(); + out.append(name); + if (typeParams != null) { + TypeParameterDiamond.builder().withParams(typeParams).build().toString(out); + } + return out.toString(); + } + + @Nonnull + public String getName() { + return name; + } + + @Nonnull + public Type getBoxed() { + switch (name) { + case "char": + return Java.Lang.Character; + case "boolean": + return Java.Lang.Boolean; + case "byte": + return Java.Lang.Byte; + case "short": + return Java.Lang.Short; + case "int": + return Java.Lang.Integer; + case "long": + return Java.Lang.Long; + case "float": + return Java.Lang.Float; + case "double": + return Java.Lang.Double; + default: + return this; + } + } + + public boolean isMap() { + return "Map".equals(name); + } + + public Type getMapEntryType() { + if (!isMap()) return null; + + return Java.Util.MapEntry(this.typeParams[0], this.typeParams[1]); + } + + public Type getMapKeyType() { + if (!isMap()) return null; + + return this.typeParams[0]; + } + + public Type getMapValueType() { + if (!isMap()) return null; + + return this.typeParams[1]; + } + + public boolean isList() { + return "List".equals(name); + } + + public Type getListValueType() { + if (!isList()) return null; + + return this.typeParams[0]; + } + + public boolean isListOrMap() { + return isList() || isMap(); + } + + public boolean isString() { + return "String".equals(name); + } + + public boolean isPrimitive() { + return PRIMITIVES.contains(name); + } + + public boolean isEnum() { + return isEnum; + } + + public boolean isTime() { + return "Time".equals(name); + } + + public boolean isBuiltIn() { + return isListOrMap() || isPrimitive() || "JsonData".equals(name); + } + + public boolean hasBuilder() { + return !isBuiltIn() && !isEnum(); + } + + public Type getBuilderType() { + if (!hasBuilder()) return null; + + return getNestedType("Builder"); + } + + public Type getBuilderFnType() { + if (!hasBuilder()) return null; + + return Java.Util.Function.Function(getBuilderType(), Client.Util.ObjectBuilder(this)); + } + + public Type getNestedType(String name) { + return builder().withPackage(packageName).withName(this.name + "." + name).build(); + } + + public Mustache.Lambda serializer() { + return new TypeSerializerLambda(this, false); + } + + public Mustache.Lambda directSerializer() { + return new TypeSerializerLambda(this, true); + } + + public void getRequiredImports(Set imports, String currentPkg) { + if (packageName != null && !packageName.equals(Java.Lang.PACKAGE) && !packageName.equals(currentPkg)) { + var dotIdx = name.indexOf('.'); + imports.add(packageName + '.' + (dotIdx > 0 ? name.substring(0, dotIdx) : name)); + } + if (typeParams != null) { + for (Type arg : typeParams) { + arg.getRequiredImports(imports, currentPkg); + } + } + } + + public Type withTypeParams(Type... typeParams) { + return toBuilder().withTypeParameters(typeParams).build(); + } + + public Mustache.Lambda queryParamify() { + return new TypeQueryParamifyLambda(this); + } + + public Mustache.Lambda isDefined() { + return new TypeIsDefinedLambda(this); + } + + public static final class Builder extends ObjectBuilderBase { + private String packageName; + private String name; + private Type[] typeParams; + private boolean isEnum; + + private Builder() { + super(Type::new); + } + + @Override + protected @Nonnull Builder self() { + return this; + } + + @Nonnull + public Builder withPackage(@Nullable String packageName) { + this.packageName = packageName; + return this; + } + + @Nonnull + public Builder withName(@Nonnull String name) { + this.name = Strings.requireNonBlank(name, "name must not be blank"); + return this; + } + + @Nonnull + public Builder withTypeParameters(@Nullable Type... typeParams) { + this.typeParams = typeParams; + return this; + } + + @Nonnull + public Builder isEnum(boolean isEnum) { + this.isEnum = isEnum; + return this; + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/model/TypeParameterDefinition.java b/java-codegen/src/main/java/org/opensearch/client/codegen/model/TypeParameterDefinition.java new file mode 100644 index 0000000000..1fb3e9d656 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/model/TypeParameterDefinition.java @@ -0,0 +1,71 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.model; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import org.opensearch.client.codegen.utils.ObjectBuilderBase; +import org.opensearch.client.codegen.utils.Strings; + +public final class TypeParameterDefinition { + @Nonnull + private final String name; + @Nullable + private final Type extendsType; + + private TypeParameterDefinition(Builder builder) { + this.name = Strings.requireNonBlank(builder.name, "name must not be blank"); + this.extendsType = builder.extendsType; + } + + @Nonnull + public String getName() { + return name; + } + + @Nullable + public Type getExtends() { + return extendsType; + } + + @Override + public String toString() { + return name + (extendsType != null ? " extends " + extendsType : ""); + } + + public static Builder builder() { + return new Builder(); + } + + public static final class Builder extends ObjectBuilderBase { + private String name; + private Type extendsType; + + private Builder() { + super(TypeParameterDefinition::new); + } + + @Override + protected @Nonnull Builder self() { + return this; + } + + @Nonnull + public Builder withName(@Nonnull String name) { + this.name = Strings.requireNonBlank(name, "name must not be blank"); + return this; + } + + @Nonnull + public Builder withExtends(@Nullable Type type) { + this.extendsType = type; + return this; + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/model/TypeParameterDiamond.java b/java-codegen/src/main/java/org/opensearch/client/codegen/model/TypeParameterDiamond.java new file mode 100644 index 0000000000..94885e5831 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/model/TypeParameterDiamond.java @@ -0,0 +1,78 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.model; + +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nonnull; +import org.opensearch.client.codegen.utils.Either; +import org.opensearch.client.codegen.utils.ObjectBuilderBase; + +public final class TypeParameterDiamond { + @Nonnull + private final Either params; + + private TypeParameterDiamond(Builder builder) { + this.params = Objects.requireNonNull(builder.params, "params must not be null"); + } + + public void toString(@Nonnull StringBuilder out) { + Objects.requireNonNull(out, "out must not be null"); + var params = this.params.fold(Function.identity(), Function.identity()); + out.append("<"); + for (var i = 0; i < params.length; i++) { + if (i > 0) { + out.append(", "); + } + out.append(params[i].toString()); + } + out.append(">"); + } + + public Type[] getParamTypes() { + return params.getLeft(); + } + + @Override + public @Nonnull String toString() { + var out = new StringBuilder(); + toString(out); + return out.toString(); + } + + @Nonnull + public static Builder builder() { + return new Builder(); + } + + public static class Builder extends ObjectBuilderBase { + private Either params; + + private Builder() { + super(TypeParameterDiamond::new); + } + + @Override + protected @Nonnull Builder self() { + return this; + } + + @Nonnull + public Builder withParams(@Nonnull Type... params) { + this.params = Either.left(Objects.requireNonNull(params, "params must not be null")); + return this; + } + + @Nonnull + public Builder withParams(@Nonnull TypeParameterDefinition... params) { + this.params = Either.right(Objects.requireNonNull(params, "params must not be null")); + return this; + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/model/Types.java b/java-codegen/src/main/java/org/opensearch/client/codegen/model/Types.java new file mode 100644 index 0000000000..a0c3af44b0 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/model/Types.java @@ -0,0 +1,208 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.model; + +import java.lang.reflect.Modifier; +import java.util.HashMap; +import java.util.Map; + +public final class Types { + public static final Map TYPES_MAP = asMap(Types.class); + + private static Map asMap(Class clazz) { + var map = new HashMap(); + + for (var subClazz : clazz.getDeclaredClasses()) { + if ((subClazz.getModifiers() & Modifier.STATIC) == 0) { + continue; + } + map.put(subClazz.getSimpleName(), asMap(subClazz)); + } + + for (var field : clazz.getDeclaredFields()) { + if ((field.getModifiers() & Modifier.STATIC) == 0 || !Type.class.isAssignableFrom(field.getType())) { + continue; + } + try { + map.put(field.getName(), field.get(null)); + } catch (IllegalAccessException e) { + throw new RuntimeException(e); + } + } + + return map; + } + + public static final class Primitive { + public static final Type Boolean = Type.builder().withName("boolean").build(); + public static final Type Int = Type.builder().withName("int").build(); + public static final Type Long = Type.builder().withName("long").build(); + public static final Type Float = Type.builder().withName("float").build(); + public static final Type Double = Type.builder().withName("double").build(); + } + + public static final class Java { + public static final String PACKAGE = "java"; + + public static final class Io { + public static final String PACKAGE = Java.PACKAGE + ".io"; + public static final Type IOException = Type.builder().withPackage(PACKAGE).withName("IOException").build(); + } + + public static final class Lang { + public static final String PACKAGE = Java.PACKAGE + ".lang"; + public static final Type String = Type.builder().withPackage(PACKAGE).withName("String").build(); + public static final Type Character = Type.builder().withPackage(PACKAGE).withName("Character").build(); + public static final Type Boolean = Type.builder().withPackage(PACKAGE).withName("Boolean").build(); + public static final Type Byte = Type.builder().withPackage(PACKAGE).withName("Byte").build(); + public static final Type Short = Type.builder().withPackage(PACKAGE).withName("Short").build(); + public static final Type Integer = Type.builder().withPackage(PACKAGE).withName("Integer").build(); + public static final Type Long = Type.builder().withPackage(PACKAGE).withName("Long").build(); + public static final Type Float = Type.builder().withPackage(PACKAGE).withName("Float").build(); + public static final Type Double = Type.builder().withPackage(PACKAGE).withName("Double").build(); + public static final Type Object = Type.builder().withPackage(PACKAGE).withName("Object").build(); + } + + public static final class Util { + public static final String PACKAGE = Java.PACKAGE + ".util"; + public static final Type HashMap = Type.builder().withPackage(PACKAGE).withName("HashMap").build(); + + public static Type Map(Type keyType, Type valueType) { + return Map.withTypeParams(keyType, valueType); + } + + public static final Type Map = Type.builder().withPackage(PACKAGE).withName("Map").build(); + + public static Type MapEntry(Type keyType, Type valueType) { + return Type.builder().withPackage(PACKAGE).withName("Map.Entry").withTypeParameters(keyType, valueType).build(); + } + + public static Type List(Type valueType) { + return Type.builder().withPackage(PACKAGE).withName("List").withTypeParameters(valueType).build(); + } + + public static final class Concurrent { + public static final String PACKAGE = Util.PACKAGE + ".concurrent"; + public static final Type CompletableFuture = Type.builder().withPackage(PACKAGE).withName("CompletableFuture").build(); + } + + public static final class Function { + public static final String PACKAGE = Util.PACKAGE + ".function"; + + public static Type Function(Type argType, Type returnType) { + return Type.builder().withPackage(PACKAGE).withName("Function").withTypeParameters(argType, returnType).build(); + } + } + + public static final class Stream { + public static final String PACKAGE = Util.PACKAGE + ".stream"; + public static final Type Collectors = Type.builder().withPackage(PACKAGE).withName("Collectors").build(); + } + } + } + + public static final class Javax { + public static final String PACKAGE = "javax"; + + public static final class Annotation { + public static final String PACKAGE = Javax.PACKAGE + ".annotation"; + public static final Type Generated = Type.builder().withPackage(PACKAGE).withName("Generated").build(); + public static final Type Nullable = Type.builder().withPackage(PACKAGE).withName("Nullable").build(); + } + } + + public static final class Client { + public static final String PACKAGE = "org.opensearch.client"; + + public static Type ApiClient(Type transport, Type client) { + return ApiClient.withTypeParams(transport, client); + } + + public static final Type ApiClient = Type.builder().withPackage(PACKAGE).withName("ApiClient").build(); + + public static final class Json { + public static final String PACKAGE = Client.PACKAGE + ".json"; + public static final Type JsonData = Type.builder().withPackage(PACKAGE).withName("JsonData").build(); + public static final Type JsonpDeserializable = Type.builder().withPackage(PACKAGE).withName("JsonpDeserializable").build(); + public static final Type JsonpDeserializer = Type.builder().withPackage(PACKAGE).withName("JsonpDeserializer").build(); + public static final Type JsonEnum = Type.builder().withPackage(PACKAGE).withName("JsonEnum").build(); + public static final Type JsonpMapper = Type.builder().withPackage(PACKAGE).withName("JsonpMapper").build(); + public static final Type JsonpSerializable = Type.builder().withPackage(PACKAGE).withName("JsonpSerializable").build(); + public static final Type ObjectBuilderDeserializer = Type.builder() + .withPackage(PACKAGE) + .withName("ObjectBuilderDeserializer") + .build(); + public static final Type ObjectDeserializer = Type.builder().withPackage(PACKAGE).withName("ObjectDeserializer").build(); + public static final Type PlainJsonSerializable = Type.builder().withPackage(PACKAGE).withName("PlainJsonSerializable").build(); + public static final Type UnionDeserializer = Type.builder().withPackage(PACKAGE).withName("UnionDeserializer").build(); + } + + public static final class OpenSearch { + public static final String PACKAGE = Client.PACKAGE + ".opensearch"; + + public static final class _Types { + public static final String PACKAGE = OpenSearch.PACKAGE + "._types"; + public static final Type ErrorResponse = Type.builder().withPackage(PACKAGE).withName("ErrorResponse").build(); + public static final Type OpenSearchException = Type.builder().withPackage(PACKAGE).withName("OpenSearchException").build(); + public static final Type RequestBase = Type.builder().withPackage(PACKAGE).withName("RequestBase").build(); + public static final Type Time = Type.builder().withPackage(PACKAGE).withName("Time").build(); + } + } + + public static final class Transport { + public static final String PACKAGE = Client.PACKAGE + ".transport"; + public static final Type Endpoint = Type.builder().withPackage(PACKAGE).withName("Endpoint").build(); + + public static Type JsonEndpoint(Type requestType, Type responseType, Type errorType) { + return JsonEndpoint.withTypeParams(requestType, responseType, errorType); + } + + public static final Type JsonEndpoint = Type.builder().withPackage(PACKAGE).withName("JsonEndpoint").build(); + public static final Type OpenSearchTransport = Type.builder().withPackage(PACKAGE).withName("OpenSearchTransport").build(); + public static final Type TransportOptions = Type.builder().withPackage(PACKAGE).withName("TransportOptions").build(); + + public static final class Endpoints { + public static final String PACKAGE = Transport.PACKAGE + ".endpoints"; + public static final Type SimpleEndpoint = Type.builder().withPackage(PACKAGE).withName("SimpleEndpoint").build(); + } + } + + public static final class Util { + public static final String PACKAGE = Client.PACKAGE + ".util"; + public static final Type ApiTypeHelper = Type.builder().withPackage(PACKAGE).withName("ApiTypeHelper").build(); + + public static Type ObjectBuilder(Type type) { + return ObjectBuilder.withTypeParams(type); + } + + public static final Type ObjectBuilder = Type.builder().withPackage(PACKAGE).withName("ObjectBuilder").build(); + public static final Type ObjectBuilderBase = Type.builder().withPackage(PACKAGE).withName("ObjectBuilderBase").build(); + + public static Type TaggedUnion(Type tagType, Type baseType) { + return TaggedUnion.withTypeParams(tagType, baseType); + } + + public static final Type TaggedUnion = Type.builder().withPackage(PACKAGE).withName("TaggedUnion").build(); + public static final Type TaggedUnionUtils = Type.builder().withPackage(PACKAGE).withName("TaggedUnionUtils").build(); + } + } + + public static final class Jakarta { + public static final String PACKAGE = "jakarta"; + + public static final class Json { + public static final String PACKAGE = Jakarta.PACKAGE + ".json"; + + public static final class Stream { + public static final String PACKAGE = Json.PACKAGE + ".stream"; + public static final Type JsonGenerator = Type.builder().withPackage(PACKAGE).withName("JsonGenerator").build(); + } + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/HttpMethod.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/HttpMethod.java new file mode 100644 index 0000000000..8ef3dd8db8 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/HttpMethod.java @@ -0,0 +1,49 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.openapi; + +import io.swagger.v3.oas.models.PathItem; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Nonnull; +import org.opensearch.client.codegen.utils.Maps; +import org.opensearch.client.codegen.utils.Strings; + +public enum HttpMethod { + Post, + Get, + Put, + Patch, + Delete, + Head, + Options, + Trace; + + private static final Map VALUES = Maps.createLookupOf(values(), HttpMethod::toString); + + @Nonnull + public static HttpMethod from(@Nonnull String httpMethod) { + var value = VALUES.get(Strings.requireNonBlank(httpMethod, "value must not be blank")); + if (value == null) { + throw new IllegalArgumentException("Unknown HTTP method: " + httpMethod); + } + return value; + } + + @Nonnull + public static HttpMethod from(@Nonnull PathItem.HttpMethod httpMethod) { + Objects.requireNonNull(httpMethod, "httpMethod must not be null"); + return from(httpMethod.name().toLowerCase()); + } + + @Override + public String toString() { + return name().toLowerCase(); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/HttpStatusCode.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/HttpStatusCode.java new file mode 100644 index 0000000000..11e57a1b7b --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/HttpStatusCode.java @@ -0,0 +1,45 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.openapi; + +import java.util.Map; +import org.opensearch.client.codegen.utils.Maps; +import org.opensearch.client.codegen.utils.Strings; + +public enum HttpStatusCode { + Ok("200"), + Created("201"), + NoContent("204"), + BadRequest("400"), + Forbidden("403"), + NotFound("404"), + InternalServerError("500"), + NotImplemented("501"); + + private static final Map VALUES = Maps.createLookupOf(values(), HttpStatusCode::toString); + + private final String code; + + HttpStatusCode(String code) { + this.code = code; + } + + @Override + public String toString() { + return this.code; + } + + public static HttpStatusCode from(String code) { + var value = VALUES.get(Strings.requireNonBlank(code, "code must not be blank")); + if (value == null) { + throw new IllegalArgumentException("Unknown status code: " + code); + } + return value; + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/In.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/In.java new file mode 100644 index 0000000000..9426b4bfa3 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/In.java @@ -0,0 +1,35 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.openapi; + +import java.util.Map; +import javax.annotation.Nonnull; +import org.opensearch.client.codegen.utils.Maps; +import org.opensearch.client.codegen.utils.Strings; + +public enum In { + Query, + Path; + + private static final Map VALUES = Maps.createLookupOf(values(), In::toString); + + @Nonnull + public static In from(@Nonnull String in) { + var value = VALUES.get(Strings.requireNonBlank(in, "in must not be blank")); + if (value == null) { + throw new IllegalArgumentException("Unknown in: " + in); + } + return value; + } + + @Override + public String toString() { + return name().toLowerCase(); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/JsonPointer.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/JsonPointer.java new file mode 100644 index 0000000000..d20ee4ec71 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/JsonPointer.java @@ -0,0 +1,138 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.openapi; + +import java.lang.ref.WeakReference; +import java.util.Arrays; +import java.util.Objects; +import java.util.Optional; +import java.util.WeakHashMap; +import javax.annotation.Nonnull; +import org.apache.commons.lang3.builder.EqualsBuilder; +import org.apache.commons.lang3.builder.HashCodeBuilder; + +public class JsonPointer { + private static final WeakHashMap> PARENT_CACHE = new WeakHashMap<>(); + @Nonnull + public static final JsonPointer ROOT = new JsonPointer(new String[0]); + + @Nonnull + private final String[] keys; + + @Nonnull + public static JsonPointer parse(@Nonnull String pointer) { + Objects.requireNonNull(pointer, "pointer must not be null"); + + if (pointer.isEmpty()) { + return ROOT; + } + + if (!pointer.startsWith("/")) { + throw new IllegalArgumentException("Invalid JSON pointer: \"" + pointer + "\""); + } + + var parts = pointer.substring(1).split("/"); + + return new JsonPointer(Arrays.stream(parts).map(JsonPointer::unescape).toArray(String[]::new)); + } + + @Nonnull + public static JsonPointer of(@Nonnull String... keys) { + return new JsonPointer(keys); + } + + private JsonPointer(@Nonnull String[] keys) { + Objects.requireNonNull(keys, "keys must not be null"); + this.keys = Arrays.copyOf(keys, keys.length); + } + + @Nonnull + public Optional getLastKey() { + if (keys.length == 0) { + return Optional.empty(); + } + return Optional.of(keys[keys.length - 1]); + } + + @Nonnull + public Optional getParent() { + if (keys.length == 0) return Optional.empty(); + if (keys.length == 1) return Optional.of(ROOT); + + var parent = Optional.ofNullable(PARENT_CACHE.get(this)).flatMap(ref -> Optional.ofNullable(ref.get())); + + if (parent.isEmpty()) { + var newKeys = new String[this.keys.length - 1]; + System.arraycopy(this.keys, 0, newKeys, 0, newKeys.length); + parent = Optional.of(new JsonPointer(newKeys)); + PARENT_CACHE.put(this, new WeakReference<>(parent.get())); + } + + return parent; + } + + @Nonnull + public JsonPointer append(@Nonnull String... keys) { + Objects.requireNonNull(keys, "keys must not be null"); + var newKeys = new String[this.keys.length + keys.length]; + System.arraycopy(this.keys, 0, newKeys, 0, this.keys.length); + System.arraycopy(keys, 0, newKeys, this.keys.length, keys.length); + return new JsonPointer(newKeys); + } + + public boolean isDirectChildOf(@Nonnull JsonPointer other) { + Objects.requireNonNull(other, "other must not be null"); + return getParent().map(other::equals).orElse(false); + } + + @Override + public String toString() { + if (keys.length == 0) { + return ""; + } + + var builder = new StringBuilder(); + for (var key : keys) { + builder.append("/").append(escape(key)); + } + return builder.toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + + if (o == null || getClass() != o.getClass()) { + return false; + } + + JsonPointer that = (JsonPointer) o; + + return new EqualsBuilder().append(keys, that.keys).isEquals(); + } + + @Override + public int hashCode() { + return new HashCodeBuilder(17, 37).append(keys).toHashCode(); + } + + @Nonnull + private static String escape(@Nonnull String key) { + Objects.requireNonNull(key, "key must not be null"); + return key.replace("~", "~0").replace("/", "~1"); + } + + @Nonnull + private static String unescape(@Nonnull String key) { + Objects.requireNonNull(key, "key must not be null"); + return key.replace("~1", "/").replace("~0", "~"); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/MimeType.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/MimeType.java new file mode 100644 index 0000000000..1dd2add4ca --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/MimeType.java @@ -0,0 +1,45 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.openapi; + +import java.util.Map; +import javax.annotation.Nonnull; +import org.opensearch.client.codegen.utils.Maps; +import org.opensearch.client.codegen.utils.Strings; + +public enum MimeType { + Cbor("application/cbor"), + Json("application/json"), + NdJson("application/x-ndjson"), + Smile("application/smile"), + TextPlain("text/plain"), + Yaml("application/yaml"); + + private static final Map VALUES = Maps.createLookupOf(values(), MimeType::toString); + + private final String mimeType; + + MimeType(String mimeType) { + this.mimeType = mimeType; + } + + @Override + public String toString() { + return this.mimeType; + } + + @Nonnull + public static MimeType from(@Nonnull String mimeType) { + var value = VALUES.get(Strings.requireNonBlank(mimeType, "mimeType must not be blank")); + if (value == null) { + throw new IllegalArgumentException("Unknown mime type: " + mimeType); + } + return value; + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiComponents.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiComponents.java new file mode 100644 index 0000000000..606f3b7505 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiComponents.java @@ -0,0 +1,35 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.openapi; + +import io.swagger.v3.oas.models.Components; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; + +public class OpenApiComponents extends OpenApiElement { + @Nullable + private final Map schemas; + @Nullable + private final Map parameters; + @Nullable + private final Map responses; + @Nullable + private final Map requestBodies; + + protected OpenApiComponents(@Nonnull OpenApiSpecification parent, @Nonnull JsonPointer pointer, @Nonnull Components components) { + super(parent, pointer); + Objects.requireNonNull(components, "components must not be null"); + this.schemas = children("schemas", components.getSchemas(), OpenApiSchema::new); + this.parameters = children("parameters", components.getParameters(), OpenApiParameter::new); + this.responses = children("responses", components.getResponses(), OpenApiResponse::new); + this.requestBodies = children("requestBodies", components.getRequestBodies(), OpenApiRequestBody::new); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiContent.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiContent.java new file mode 100644 index 0000000000..89cabc2eee --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiContent.java @@ -0,0 +1,18 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.openapi; + +import io.swagger.v3.oas.models.media.Content; +import javax.annotation.Nonnull; + +public class OpenApiContent extends OpenApiMapElement { + protected OpenApiContent(@Nonnull OpenApiElement parent, @Nonnull JsonPointer pointer, @Nonnull Content content) { + super(parent, pointer, content, MimeType::from, OpenApiMediaType::new); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiElement.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiElement.java new file mode 100644 index 0000000000..30653b72a9 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiElement.java @@ -0,0 +1,149 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.openapi; + +import static org.opensearch.client.codegen.utils.Functional.ifNonnull; + +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.function.Function; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import org.apache.commons.lang3.builder.EqualsBuilder; +import org.apache.commons.lang3.builder.HashCodeBuilder; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.opensearch.client.codegen.utils.Lists; +import org.opensearch.client.codegen.utils.Maps; +import org.opensearch.client.codegen.utils.Strings; + +public abstract class OpenApiElement> { + @Nullable + private final OpenApiSpecification specification; + @Nonnull + private final JsonPointer pointer; + + OpenApiElement(@Nullable OpenApiElement parent, @Nonnull JsonPointer pointer) { + this.specification = ifNonnull(parent, p -> p.getSpecification().orElse(null)); + this.pointer = Objects.requireNonNull(pointer, "pointer must not be null"); + if (this.specification != null) { + this.specification.addElement(this.pointer, self()); + } + } + + @Nonnull + @SuppressWarnings("unchecked") + protected TSelf self() { + return (TSelf) this; + } + + @Nonnull + protected Optional getSpecification() { + return Optional.ofNullable(specification); + } + + @Nonnull + public JsonPointer getPointer() { + return pointer; + } + + @Nonnull + private JsonPointer childPtr(@Nonnull String key) { + return pointer.append(Strings.requireNonBlank(key, "key must not be blank")); + } + + @Nullable + TOut child(@Nonnull String key, @Nullable TIn child, @Nonnull Factory factory) { + if (child == null) { + return null; + } + return Objects.requireNonNull(factory, "factory must not be null").create(self(), childPtr(key), child); + } + + @Nullable + List children(@Nonnull String key, @Nullable List children, @Nonnull Factory factory) { + if (children == null) { + return null; + } + Objects.requireNonNull(factory, "factory must not be null"); + var basePtr = childPtr(key); + var self = self(); + return Lists.map(children, (i, v) -> factory.create(self, basePtr.append(String.valueOf(i)), v)); + } + + @Nullable + Map children( + @Nullable Map children, + @Nonnull Function keyMapper, + @Nonnull Factory valueFactory + ) { + return children(pointer, children, keyMapper, valueFactory); + } + + @Nullable + Map children( + @Nonnull String key, + @Nullable Map children, + @Nonnull Factory valueFactory + ) { + return children(childPtr(key), children, Function.identity(), valueFactory); + } + + @Nullable + Map children( + @Nonnull JsonPointer basePtr, + @Nullable Map children, + @Nonnull Function keyMapper, + @Nonnull Factory valueFactory + ) { + if (children == null) { + return null; + } + Objects.requireNonNull(basePtr, "basePtr must not be null"); + Objects.requireNonNull(keyMapper, "keyMapper must not be null"); + Objects.requireNonNull(valueFactory, "valueFactory must not be null"); + var self = self(); + return Maps.transform( + children, + (k, v) -> keyMapper.apply(k), + (k, v) -> valueFactory.create(self, basePtr.append(keyMapper.apply(k).toString()), v) + ); + } + + interface Factory, TIn, TOut> { + @Nonnull + TOut create(@Nonnull TParent parent, @Nonnull JsonPointer pointer, @Nonnull TIn value); + } + + @Override + public String toString() { + return new ToStringBuilder(this).append("pointer", pointer).toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + + if (o == null || getClass() != o.getClass()) { + return false; + } + + OpenApiElement that = (OpenApiElement) o; + + return new EqualsBuilder().append(specification, that.specification).append(pointer, that.pointer).isEquals(); + } + + @Override + public int hashCode() { + return new HashCodeBuilder(17, 37).append(specification).append(pointer).toHashCode(); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiMapElement.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiMapElement.java new file mode 100644 index 0000000000..f02f5b27ad --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiMapElement.java @@ -0,0 +1,43 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.openapi; + +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.function.Function; +import javax.annotation.Nonnull; + +public abstract class OpenApiMapElement, TKey, TValue extends OpenApiElement> + extends OpenApiElement { + @Nonnull + private final Map value; + + OpenApiMapElement( + @Nonnull OpenApiElement parent, + @Nonnull JsonPointer pointer, + @Nonnull Map value, + @Nonnull Function keyMapper, + @Nonnull Factory factory + ) { + super(parent, pointer); + this.value = Objects.requireNonNull( + children( + Objects.requireNonNull(value, "value must not be null"), + Objects.requireNonNull(keyMapper, "keyMapper must not be null"), + Objects.requireNonNull(factory, "factory must not be null") + ) + ); + } + + @Nonnull + public Optional get(@Nonnull TKey key) { + return Optional.ofNullable(value.get(Objects.requireNonNull(key, "key must not be null"))); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiMediaType.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiMediaType.java new file mode 100644 index 0000000000..68ae95489f --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiMediaType.java @@ -0,0 +1,31 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.openapi; + +import io.swagger.v3.oas.models.media.MediaType; +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; + +public class OpenApiMediaType extends OpenApiElement { + @Nullable + private final OpenApiSchema schema; + + protected OpenApiMediaType(@Nonnull OpenApiContent parent, @Nonnull JsonPointer pointer, @Nonnull MediaType mediaType) { + super(parent, pointer); + Objects.requireNonNull(mediaType, "mediaType must not be null"); + this.schema = child("schema", mediaType.getSchema(), OpenApiSchema::new); + } + + @Nonnull + public Optional getSchema() { + return Optional.ofNullable(schema); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiOperation.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiOperation.java new file mode 100644 index 0000000000..0489c44bd4 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiOperation.java @@ -0,0 +1,121 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.openapi; + +import static org.opensearch.client.codegen.utils.Functional.ifNonnull; + +import io.swagger.v3.oas.models.Operation; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import java.util.stream.Collectors; +import java.util.stream.Stream; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import org.opensearch.client.codegen.model.Deprecation; +import org.opensearch.client.codegen.model.OperationGroup; +import org.opensearch.client.codegen.utils.Versions; +import org.semver4j.Semver; + +public class OpenApiOperation extends OpenApiElement { + @Nonnull + private final OpenApiPath parentPath; + @Nonnull + private final HttpMethod httpMethod; + @Nonnull + private final String id; + @Nullable + private final List parameters; + @Nonnull + private final OperationGroup operationGroup; + @Nullable + private final Boolean isDeprecated; + @Nullable + private final String description; + @Nullable + private final OpenApiRequestBody requestBody; + @Nullable + private final OpenApiResponses responses; + @Nullable + private final String versionAdded; + @Nullable + private final Semver versionDeprecated; + @Nullable + private final String deprecationMessage; + + protected OpenApiOperation(@Nonnull OpenApiPath parent, @Nonnull JsonPointer pointer, @Nonnull Operation operation) { + super(parent, pointer); + this.parentPath = Objects.requireNonNull(parent, "parent must not be null"); + this.httpMethod = HttpMethod.from(pointer.getLastKey().orElseThrow()); + Objects.requireNonNull(operation, "operation must not be null"); + this.id = Objects.requireNonNull(operation.getOperationId()); + this.parameters = children("parameters", operation.getParameters(), OpenApiParameter::new); + var extensions = Objects.requireNonNull(operation.getExtensions(), "operation must have extensions defined"); + this.operationGroup = OperationGroup.from((String) extensions.get("x-operation-group")); + this.isDeprecated = operation.getDeprecated(); + this.description = operation.getDescription(); + this.requestBody = child("requestBody", operation.getRequestBody(), OpenApiRequestBody::new); + this.responses = child("responses", operation.getResponses(), OpenApiResponses::new); + this.versionAdded = ifNonnull(extensions.get("x-version-added"), String::valueOf); + this.versionDeprecated = ifNonnull(extensions.get("x-version-deprecated"), v -> Versions.coerce((String) v)); + this.deprecationMessage = ifNonnull(extensions.get("x-deprecation-message"), String::valueOf); + } + + @Nonnull + public String getHttpPath() { + return parentPath.getHttpPath(); + } + + @Nonnull + public HttpMethod getHttpMethod() { + return httpMethod; + } + + @Nonnull + public OperationGroup getOperationGroup() { + return operationGroup; + } + + @Nonnull + public Optional getDescription() { + return Optional.ofNullable(description); + } + + @Nonnull + public Optional getRequestBody() { + return Optional.ofNullable(requestBody); + } + + @Nonnull + public Optional getResponses() { + return Optional.ofNullable(responses); + } + + @Nonnull + public List getAllRelevantParameters(@Nonnull In in) { + Objects.requireNonNull(in, "in must not be null"); + return Stream.of(parentPath.getParameters(), Optional.ofNullable(parameters)) + .flatMap(Optional::stream) + .flatMap(List::stream) + .map(OpenApiRefElement::resolve) + .filter(p -> p.getIn().equals(Optional.of(in))) + .collect(Collectors.toList()); + } + + @Nonnull + public Optional getVersionAdded() { + return Optional.ofNullable(versionAdded); + } + + @Nonnull + public Optional getDeprecation() { + if (versionDeprecated == null && deprecationMessage == null) return Optional.empty(); + return Optional.of(new Deprecation(deprecationMessage, versionDeprecated)); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiOperationBodyElement.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiOperationBodyElement.java new file mode 100644 index 0000000000..3b5db201ca --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiOperationBodyElement.java @@ -0,0 +1,35 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.openapi; + +import io.swagger.v3.oas.models.media.Content; +import java.util.Optional; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; + +public abstract class OpenApiOperationBodyElement> extends OpenApiRefElement { + @Nullable + private final OpenApiContent content; + + protected OpenApiOperationBodyElement( + @Nonnull OpenApiElement parent, + @Nonnull JsonPointer pointer, + @Nullable String $ref, + @Nullable Content content, + @Nonnull Class clazz + ) { + super(parent, pointer, $ref, clazz); + this.content = child("content", content, OpenApiContent::new); + } + + @Nonnull + public Optional getContent() { + return Optional.ofNullable(content); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiParameter.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiParameter.java new file mode 100644 index 0000000000..45e0178b46 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiParameter.java @@ -0,0 +1,93 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.openapi; + +import static org.opensearch.client.codegen.utils.Functional.ifNonnull; + +import io.swagger.v3.oas.models.parameters.Parameter; +import java.util.Optional; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import org.opensearch.client.codegen.model.Deprecation; +import org.opensearch.client.codegen.utils.Maps; +import org.opensearch.client.codegen.utils.Versions; +import org.semver4j.Semver; + +public class OpenApiParameter extends OpenApiRefElement { + @Nullable + private final String name; + @Nullable + private final String description; + @Nullable + private final In in; + @Nullable + private final Boolean isRequired; + @Nullable + private final OpenApiSchema schema; + @Nullable + private final Boolean isDeprecated; + @Nullable + private final Semver versionDeprecated; + @Nullable + private final String deprecationMessage; + @Nullable + private final Boolean isGlobal; + + protected OpenApiParameter(@Nullable OpenApiElement parent, @Nonnull JsonPointer pointer, @Nonnull Parameter parameter) { + super(parent, pointer, parameter.get$ref(), OpenApiParameter.class); + this.name = parameter.getName(); + this.description = parameter.getDescription(); + this.in = ifNonnull(parameter.getIn(), In::from); + this.isRequired = parameter.getRequired(); + this.schema = child("schema", parameter.getSchema(), OpenApiSchema::new); + this.isDeprecated = parameter.getDeprecated(); + var extensions = parameter.getExtensions(); + this.versionDeprecated = Maps.tryGet(extensions, "x-version-deprecated").map(v -> Versions.coerce((String) v)).orElse(null); + this.deprecationMessage = Maps.tryGet(extensions, "x-deprecation-message").map(String::valueOf).orElse(null); + this.isGlobal = (Boolean) Maps.tryGet(extensions, "x-global").orElse(null); + } + + @Nonnull + public Optional getName() { + return Optional.ofNullable(name); + } + + @Nonnull + public Optional getDescription() { + return Optional.ofNullable(description); + } + + @Nonnull + public Optional getIn() { + return Optional.ofNullable(in); + } + + public boolean getRequired() { + return isRequired != null && isRequired; + } + + @Nonnull + public Optional getSchema() { + return Optional.ofNullable(schema); + } + + public boolean isGlobal() { + return isGlobal != null && isGlobal; + } + + public boolean isDeprecated() { + return isDeprecated != null && isDeprecated; + } + + @Nonnull + public Optional getDeprecation() { + if (versionDeprecated == null && deprecationMessage == null) return Optional.empty(); + return Optional.of(new Deprecation(deprecationMessage, versionDeprecated)); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiPath.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiPath.java new file mode 100644 index 0000000000..b8957df568 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiPath.java @@ -0,0 +1,49 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.openapi; + +import io.swagger.v3.oas.models.PathItem; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import org.opensearch.client.codegen.utils.Lists; +import org.opensearch.client.codegen.utils.Maps; + +public class OpenApiPath extends OpenApiRefElement { + @Nonnull + private final String httpPath; + @Nullable + private final Map operations; + @Nullable + private final List parameters; + + protected OpenApiPath(@Nonnull OpenApiSpecification parent, @Nonnull JsonPointer pointer, @Nonnull PathItem pathItem) { + super(parent, pointer, pathItem.get$ref(), OpenApiPath.class); + this.httpPath = pointer.getLastKey().orElseThrow(); + this.operations = children(pathItem.readOperationsMap(), HttpMethod::from, OpenApiOperation::new); + this.parameters = children("parameters", pathItem.getParameters(), OpenApiParameter::new); + } + + @Nonnull + public String getHttpPath() { + return httpPath; + } + + @Nonnull + public Optional> getOperations() { + return Maps.unmodifiableOpt(operations); + } + + @Nonnull + public Optional> getParameters() { + return Lists.unmodifiableOpt(parameters); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiRefElement.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiRefElement.java new file mode 100644 index 0000000000..94328a7282 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiRefElement.java @@ -0,0 +1,119 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.openapi; + +import static org.opensearch.client.codegen.utils.Functional.ifNonnull; + +import java.util.Objects; +import java.util.Optional; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import org.apache.commons.lang3.builder.EqualsBuilder; +import org.apache.commons.lang3.builder.HashCodeBuilder; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.opensearch.client.codegen.utils.Strings; + +public abstract class OpenApiRefElement> extends OpenApiElement { + @Nullable + private final RelativeRef $ref; + @Nonnull + private final Class clazz; + + OpenApiRefElement( + @Nullable OpenApiElement parent, + @Nonnull JsonPointer pointer, + @Nullable String $ref, + @Nonnull Class clazz + ) { + super(parent, pointer); + this.$ref = ifNonnull($ref, RelativeRef::parse); + this.clazz = Objects.requireNonNull(clazz, "clazz must not be null"); + } + + public boolean has$ref() { + return $ref != null; + } + + @Nonnull + public Optional get$ref() { + return Optional.ofNullable($ref); + } + + @Nonnull + public TSelf resolve() { + if ($ref == null) { + return self(); + } + return getSpecification().map(s -> $ref.resolveIn(s, clazz)) + .orElseThrow(() -> new UnsupportedOperationException("Cannot resolve $ref in anonymous component")); + } + + public static class RelativeRef { + @Nonnull + public static RelativeRef parse(@Nonnull String $ref) { + Objects.requireNonNull($ref, "$ref must not be null"); + var fragmentIdx = $ref.indexOf('#'); + if (fragmentIdx < 0) throw new IllegalArgumentException("$ref must be a valid relative reference"); + + var relativeLocation = $ref.substring(0, fragmentIdx); + var pointer = JsonPointer.parse($ref.substring(fragmentIdx + 1)); + return new RelativeRef(relativeLocation, pointer); + } + + @Nullable + private final String relativeLocation; + @Nonnull + private final JsonPointer pointer; + + private RelativeRef(@Nullable String relativeLocation, @Nonnull JsonPointer pointer) { + this.relativeLocation = relativeLocation; + this.pointer = Objects.requireNonNull(pointer, "pointer must not be null"); + } + + public > TElement resolveIn(OpenApiSpecification specification, Class clazz) { + Objects.requireNonNull(specification, "specification must not be null"); + + if (!Strings.isNullOrEmpty(relativeLocation)) { + specification = OpenApiSpecification.retrieve(specification.getLocation().resolve(relativeLocation)); + } + + return specification.getElement(pointer, clazz); + } + + @Nonnull + public JsonPointer getPointer() { + return pointer; + } + + @Override + public String toString() { + return new ToStringBuilder(this).append("pointer", pointer).append("relativeLocation", relativeLocation).toString(); + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + + if (o == null || getClass() != o.getClass()) { + return false; + } + + RelativeRef that = (RelativeRef) o; + + return new EqualsBuilder().append(relativeLocation, that.relativeLocation).append(pointer, that.pointer).isEquals(); + } + + @Override + public int hashCode() { + return new HashCodeBuilder(17, 37).append(relativeLocation).append(pointer).toHashCode(); + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiRequestBody.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiRequestBody.java new file mode 100644 index 0000000000..e9f5b649d6 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiRequestBody.java @@ -0,0 +1,18 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.openapi; + +import io.swagger.v3.oas.models.parameters.RequestBody; +import javax.annotation.Nonnull; + +public class OpenApiRequestBody extends OpenApiOperationBodyElement { + protected OpenApiRequestBody(@Nonnull OpenApiElement parent, @Nonnull JsonPointer pointer, @Nonnull RequestBody requestBody) { + super(parent, pointer, requestBody.get$ref(), requestBody.getContent(), OpenApiRequestBody.class); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiResponse.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiResponse.java new file mode 100644 index 0000000000..bab510a295 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiResponse.java @@ -0,0 +1,18 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.openapi; + +import io.swagger.v3.oas.models.responses.ApiResponse; +import javax.annotation.Nonnull; + +public class OpenApiResponse extends OpenApiOperationBodyElement { + protected OpenApiResponse(@Nonnull OpenApiElement parent, @Nonnull JsonPointer pointer, @Nonnull ApiResponse response) { + super(parent, pointer, response.get$ref(), response.getContent(), OpenApiResponse.class); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiResponses.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiResponses.java new file mode 100644 index 0000000000..732200ad77 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiResponses.java @@ -0,0 +1,18 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.openapi; + +import io.swagger.v3.oas.models.responses.ApiResponses; +import javax.annotation.Nonnull; + +public class OpenApiResponses extends OpenApiMapElement { + protected OpenApiResponses(@Nonnull OpenApiOperation parent, @Nonnull JsonPointer pointer, @Nonnull ApiResponses responses) { + super(parent, pointer, responses, HttpStatusCode::from, OpenApiResponse::new); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiSchema.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiSchema.java new file mode 100644 index 0000000000..b301160c53 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiSchema.java @@ -0,0 +1,394 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.openapi; + +import static org.opensearch.client.codegen.utils.Functional.ifNonnull; + +import io.swagger.v3.oas.models.media.Schema; +import java.util.Collection; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; +import java.util.stream.Collectors; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import org.opensearch.client.codegen.utils.Lists; +import org.opensearch.client.codegen.utils.Maps; +import org.opensearch.client.codegen.utils.ObjectBuilderBase; +import org.opensearch.client.codegen.utils.Sets; +import org.opensearch.client.codegen.utils.Versions; +import org.semver4j.Semver; + +public class OpenApiSchema extends OpenApiRefElement { + private static final JsonPointer ANONYMOUS = JsonPointer.of(""); + + public static final OpenApiSchema ANONYMOUS_UNTYPED = builder().withPointer(ANONYMOUS.append("untyped")).build(); + public static final OpenApiSchema ANONYMOUS_OBJECT = builder().withPointer(ANONYMOUS.append("object")) + .withTypes(OpenApiSchemaType.Object) + .build(); + + @Nullable + private final String name; + @Nullable + private final String namespace; + @Nullable + private final String description; + @Nullable + private final Set types; + @Nullable + private final OpenApiSchemaFormat format; + @Nullable + private final List allOf; + @Nullable + private final List anyOf; + @Nullable + private final List oneOf; + @Nullable + private final List enums; + @Nullable + private final Set deprecatedEnums; + @Nullable + private final OpenApiSchema items; + @Nullable + private final OpenApiSchema additionalProperties; + @Nullable + private final Map properties; + @Nullable + private final Set required; + @Nullable + private final String title; + @Nullable + private final String pattern; + @Nullable + private final Semver versionRemoved; + + private OpenApiSchema(@Nonnull Builder builder) { + super(builder.parent, Objects.requireNonNull(builder.pointer, "pointer must not be null"), builder.$ref, OpenApiSchema.class); + name = builder.name; + namespace = builder.namespace; + description = builder.description; + types = builder.types; + format = builder.format; + allOf = builder.allOf; + anyOf = builder.anyOf; + oneOf = builder.oneOf; + enums = builder.enums; + deprecatedEnums = builder.deprecatedEnums; + items = builder.items; + additionalProperties = builder.additionalProperties; + properties = builder.properties; + required = builder.required; + title = builder.title; + pattern = builder.pattern; + versionRemoved = builder.versionRemoved; + } + + protected OpenApiSchema(@Nullable OpenApiElement parent, @Nonnull JsonPointer pointer, @Nonnull Schema schema) { + super(parent, pointer, schema.get$ref(), OpenApiSchema.class); + + if (pointer.isDirectChildOf(JsonPointer.of("components", "schemas"))) { + var key = pointer.getLastKey().orElseThrow(); + var colonIdx = key.indexOf(':'); + if (colonIdx >= 0) { + namespace = key.substring(0, colonIdx).replaceAll("\\._common", "").replaceAll("^_common", "_types"); + name = key.substring(colonIdx + 1); + } else { + namespace = null; + name = key; + } + } else { + name = null; + namespace = null; + } + + description = schema.getDescription(); + + types = Optional.ofNullable(schema.getTypes()) + .flatMap(types -> !types.isEmpty() ? Optional.of(types) : Optional.empty()) + .or(() -> Optional.ofNullable(schema.getType()).map(Set::of)) + .map(types -> types.stream().map(OpenApiSchemaType::from).collect(Collectors.toSet())) + .orElse(null); + + format = ifNonnull(schema.getFormat(), OpenApiSchemaFormat::from); + + allOf = children("allOf", schema.getAllOf(), OpenApiSchema::new); + anyOf = children("anyOf", schema.getAnyOf(), OpenApiSchema::new); + oneOf = children("oneOf", schema.getOneOf(), OpenApiSchema::new); + + enums = ifNonnull(schema.getEnum(), e -> Lists.map(e, String::valueOf)); + + items = child("items", schema.getItems(), OpenApiSchema::new); + + additionalProperties = child("additionalProperties", (Schema) schema.getAdditionalProperties(), OpenApiSchema::new); + + properties = children("properties", schema.getProperties(), OpenApiSchema::new); + required = ifNonnull(schema.getRequired(), HashSet::new); + + title = schema.getTitle(); + + pattern = schema.getPattern(); + + var extensions = schema.getExtensions(); + + // noinspection unchecked + deprecatedEnums = Maps.tryGet(extensions, "x-deprecated-enums").map(e -> (Collection) e).map(HashSet::new).orElse(null); + + versionRemoved = Maps.tryGet(extensions, "x-version-removed").map(v -> Versions.coerce((String) v)).orElse(null); + } + + @Nonnull + public Optional getName() { + return Optional.ofNullable(name); + } + + @Nonnull + public Optional getNamespace() { + return Optional.ofNullable(namespace); + } + + @Nonnull + public Optional getDescription() { + return Optional.ofNullable(description); + } + + @Nonnull + public Optional> getTypes() { + return Sets.unmodifiableOpt(types); + } + + @Nonnull + public Optional getFormat() { + return Optional.ofNullable(format); + } + + public boolean is(@Nonnull OpenApiSchemaType type) { + Objects.requireNonNull(type, "type must not be null"); + return types != null && types.contains(type); + } + + public boolean isArray() { + return is(OpenApiSchemaType.Array); + } + + public boolean isBoolean() { + return is(OpenApiSchemaType.Boolean); + } + + public boolean isNumber() { + return is(OpenApiSchemaType.Number); + } + + public boolean isObject() { + return is(OpenApiSchemaType.Object); + } + + public boolean isString() { + return is(OpenApiSchemaType.String); + } + + public boolean hasAllOf() { + return allOf != null && !allOf.isEmpty(); + } + + @Nonnull + public Optional> getAllOf() { + return Lists.unmodifiableOpt(allOf); + } + + public boolean hasAnyOf() { + return anyOf != null && !anyOf.isEmpty(); + } + + @Nonnull + public Optional> getAnyOf() { + return Lists.unmodifiableOpt(anyOf); + } + + public boolean hasOneOf() { + return oneOf != null && !oneOf.isEmpty(); + } + + @Nonnull + public Optional> getOneOf() { + return Lists.unmodifiableOpt(oneOf); + } + + public boolean hasEnums() { + return enums != null && !enums.isEmpty(); + } + + @Nonnull + public Optional> getEnums() { + return Lists.unmodifiableOpt(enums); + } + + @Nonnull + public Optional> getDeprecatedEnums() { + return Sets.unmodifiableOpt(deprecatedEnums); + } + + @Nonnull + public Optional getItems() { + return Optional.ofNullable(items); + } + + @Nonnull + public Optional getAdditionalProperties() { + return Optional.ofNullable(additionalProperties); + } + + @Nonnull + public Optional> getProperties() { + return Maps.unmodifiableOpt(properties); + } + + @Nonnull + public Optional> getRequired() { + return Sets.unmodifiableOpt(required); + } + + @Nonnull + public Optional getTitle() { + return Optional.ofNullable(title); + } + + @Nonnull + public Optional getPattern() { + return Optional.ofNullable(pattern); + } + + @Nonnull + public Optional getVersionRemoved() { + return Optional.ofNullable(versionRemoved); + } + + public static Set determineTypes(List schemas) { + return schemas.stream().map(OpenApiSchema::determineTypes).flatMap(Set::stream).collect(Collectors.toSet()); + } + + private static String schemaTypeString(Set types) { + return types.stream().map(OpenApiSchemaType::toString).collect(Collectors.joining(", ")); + } + + @Nonnull + public Set determineTypes() { + if (types != null) { + return Set.copyOf(types); + } else if (has$ref()) { + return resolve().determineTypes(); + } else if (allOf != null) { + var types = determineTypes(allOf); + if (types.size() > 1) { + throw new IllegalStateException("allOf schema must have a uniform type [" + getPointer() + "]: " + schemaTypeString(types)); + } + return types; + } else if (anyOf != null) { + return determineTypes(anyOf); + } else if (oneOf != null) { + return determineTypes(oneOf); + } + + throw new IllegalStateException("Cannot determine type for schema: " + getPointer()); + } + + @Nonnull + public Optional determineSingleType() { + var types = determineTypes(); + if (types.size() != 1) return Optional.empty(); + return Optional.of(types.iterator().next()); + } + + @Nonnull + public static Builder builder() { + return new Builder(); + } + + public static class Builder extends ObjectBuilderBase { + @Nullable + private OpenApiElement parent; + @Nullable + private JsonPointer pointer; + @Nullable + private String $ref; + @Nullable + private String name; + @Nullable + private String namespace; + @Nullable + private String description; + @Nullable + private Set types; + @Nullable + private OpenApiSchemaFormat format; + @Nullable + private List allOf; + @Nullable + private List anyOf; + @Nullable + private List oneOf; + @Nullable + private List enums; + @Nullable + private Set deprecatedEnums; + @Nullable + private OpenApiSchema items; + @Nullable + private OpenApiSchema additionalProperties; + @Nullable + private Map properties; + @Nullable + private Set required; + @Nullable + private String title; + @Nullable + private String pattern; + @Nullable + private Semver versionRemoved; + + private Builder() { + super(OpenApiSchema::new); + } + + @Override + protected @Nonnull Builder self() { + return this; + } + + @Nonnull + public Builder withPointer(@Nonnull JsonPointer pointer) { + this.pointer = Objects.requireNonNull(pointer, "pointer must not be null"); + return this; + } + + @Nonnull + public Builder withTypes(OpenApiSchemaType... types) { + return withTypes(Set.of(types)); + } + + @Nonnull + public Builder withTypes(@Nullable Set types) { + this.types = types; + return this; + } + + @Nonnull + public Builder withAllOf(OpenApiSchema... allOf) { + return withAllOf(List.of(allOf)); + } + + @Nonnull + public Builder withAllOf(@Nullable List allOf) { + this.allOf = allOf; + return this; + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiSchemaFormat.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiSchemaFormat.java new file mode 100644 index 0000000000..f3bd8fa731 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiSchemaFormat.java @@ -0,0 +1,38 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.openapi; + +import java.util.Map; +import javax.annotation.Nonnull; +import org.opensearch.client.codegen.utils.Maps; +import org.opensearch.client.codegen.utils.Strings; + +public enum OpenApiSchemaFormat { + Float, + Double, + Int32, + Int64, + Binary; + + private static final Map VALUES = Maps.createLookupOf(values(), OpenApiSchemaFormat::toString); + + @Nonnull + public static OpenApiSchemaFormat from(@Nonnull String format) { + var value = VALUES.get(Strings.requireNonBlank(format, "format must not be blank")); + if (value == null) { + throw new IllegalArgumentException("Unknown format: " + format); + } + return value; + } + + @Override + public String toString() { + return name().toLowerCase(); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiSchemaType.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiSchemaType.java new file mode 100644 index 0000000000..5318ab74d5 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiSchemaType.java @@ -0,0 +1,40 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.openapi; + +import java.util.Map; +import javax.annotation.Nonnull; +import org.opensearch.client.codegen.utils.Maps; +import org.opensearch.client.codegen.utils.Strings; + +public enum OpenApiSchemaType { + Array, + Boolean, + Integer, + Null, + Number, + Object, + String; + + private static final Map VALUES = Maps.createLookupOf(values(), OpenApiSchemaType::toString); + + @Nonnull + public static OpenApiSchemaType from(@Nonnull String type) { + var value = VALUES.get(Strings.requireNonBlank(type, "type must not be blank")); + if (value == null) { + throw new IllegalArgumentException("Unknown type: " + type); + } + return value; + } + + @Override + public java.lang.String toString() { + return name().toLowerCase(); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiSpecification.java b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiSpecification.java new file mode 100644 index 0000000000..aa09da8d06 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/openapi/OpenApiSpecification.java @@ -0,0 +1,135 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.openapi; + +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.parser.OpenAPIV3Parser; +import io.swagger.v3.parser.core.models.ParseOptions; +import java.net.URI; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.Set; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import org.apache.commons.lang3.builder.EqualsBuilder; +import org.apache.commons.lang3.builder.HashCodeBuilder; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.opensearch.client.codegen.exceptions.ApiSpecificationParseException; +import org.opensearch.client.codegen.utils.Maps; + +public class OpenApiSpecification extends OpenApiElement { + private static final Logger LOGGER = LogManager.getLogger(); + private static final ParseOptions PARSE_OPTIONS = new ParseOptions(); + private static final OpenAPIV3Parser PARSER = new OpenAPIV3Parser(); + private static final Map SPECS = new HashMap<>(); + + public static OpenApiSpecification retrieve(URI location) { + if (SPECS.containsKey(location)) { + return SPECS.get(location); + } + LOGGER.info("Parsing spec: {}", location); + var result = PARSER.readLocation(location.toString(), null, PARSE_OPTIONS); + var openApi = result.getOpenAPI(); + if (openApi == null) { + throw new ApiSpecificationParseException("Unable to parse spec: " + location, result.getMessages()); + } + var spec = new OpenApiSpecification(location, openApi); + SPECS.put(location, spec); + return spec; + } + + @Nonnull + private final Set cachedElements = new HashSet<>(); + @Nonnull + private final Map, Map>> elementCache = new HashMap<>(); + @Nonnull + private final URI location; + @Nullable + private final Map paths; + @Nullable + private final OpenApiComponents components; + + private OpenApiSpecification(@Nonnull URI location, @Nonnull OpenAPI openApi) { + super(null, JsonPointer.ROOT); + this.location = Objects.requireNonNull(location, "location must not be null"); + Objects.requireNonNull(openApi, "openAPI must not be null"); + this.paths = children("paths", openApi.getPaths(), OpenApiPath::new); + this.components = child("components", openApi.getComponents(), OpenApiComponents::new); + } + + @Nonnull + @Override + protected Optional getSpecification() { + return Optional.of(this); + } + + > void addElement(@Nonnull JsonPointer pointer, @Nonnull T component) { + Objects.requireNonNull(pointer, "pointer must not be null"); + Objects.requireNonNull(component, "component must not be null"); + if (!cachedElements.add(pointer)) { + throw new IllegalStateException("Component with pointer `" + pointer + "` has already been registered"); + } + elementCache.computeIfAbsent(component.getClass(), k -> new HashMap<>()).put(pointer, component); + } + + @Nonnull + > T getElement(@Nonnull JsonPointer pointer, @Nonnull Class type) { + Objects.requireNonNull(pointer, "pointer must not be null"); + Objects.requireNonNull(type, "type must not be null"); + return Optional.ofNullable(elementCache.get(type)) + .flatMap(m -> Optional.ofNullable(m.get(pointer))) + .map(type::cast) + .orElseThrow(() -> new IllegalStateException("Unable to resolve component of type `" + type + "` with pointer: " + pointer)); + } + + @Nonnull + public Optional> getPaths() { + return Maps.unmodifiableOpt(paths); + } + + @Nonnull + public Optional getComponents() { + return Optional.ofNullable(components); + } + + @Nonnull + public URI getLocation() { + return location; + } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + + if (o == null || getClass() != o.getClass()) { + return false; + } + + OpenApiSpecification that = (OpenApiSpecification) o; + + return new EqualsBuilder().appendSuper(super.equals(o)).append(location, that.location).isEquals(); + } + + @Override + public int hashCode() { + return new HashCodeBuilder(17, 37).appendSuper(super.hashCode()).append(location).toHashCode(); + } + + @Override + public String toString() { + return new ToStringBuilder(this).append("location", location).toString(); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/JavaCodeFormatter.java b/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/JavaCodeFormatter.java new file mode 100644 index 0000000000..f4589c7ec7 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/JavaCodeFormatter.java @@ -0,0 +1,104 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.renderer; + +import com.diffplug.spotless.FormatExceptionPolicyStrict; +import com.diffplug.spotless.Formatter; +import com.diffplug.spotless.LineEnding; +import com.diffplug.spotless.Provisioner; +import com.diffplug.spotless.extra.java.EclipseJdtFormatterStep; +import com.diffplug.spotless.generic.EndWithNewlineStep; +import com.diffplug.spotless.generic.TrimTrailingWhitespaceStep; +import com.diffplug.spotless.java.ImportOrderStep; +import com.diffplug.spotless.java.RemoveUnusedImportsStep; +import java.io.File; +import java.nio.charset.StandardCharsets; +import java.nio.file.Path; +import java.util.List; +import java.util.Objects; +import javax.annotation.Nonnull; +import org.opensearch.client.codegen.exceptions.JavaFormatterException; +import org.opensearch.client.codegen.utils.MavenArtifactResolver; +import org.opensearch.client.codegen.utils.ObjectBuilderBase; + +public class JavaCodeFormatter implements AutoCloseable { + private final Formatter formatter; + + private JavaCodeFormatter(@Nonnull Builder builder) { + Objects.requireNonNull(builder, "builder must not be null"); + + Provisioner provisioner = MavenArtifactResolver.createDefault()::resolve; + + var eclipseFormatter = EclipseJdtFormatterStep.createBuilder(provisioner); + eclipseFormatter.setPreferences( + List.of(Objects.requireNonNull(builder.eclipseFormatterConfig, "eclipseFormatterConfig must not be null")) + ); + + var steps = List.of( + ImportOrderStep.forJava().createFrom(), + RemoveUnusedImportsStep.create(RemoveUnusedImportsStep.defaultFormatter(), provisioner), + eclipseFormatter.build(), + TrimTrailingWhitespaceStep.create(), + EndWithNewlineStep.create() + ); + + this.formatter = Formatter.builder() + .name("java") + .lineEndingsPolicy(LineEnding.UNIX.createPolicy()) + .encoding(StandardCharsets.UTF_8) + .rootDir(Objects.requireNonNull(builder.rootDir, "rootDir must not be null")) + .steps(steps) + .exceptionPolicy(new FormatExceptionPolicyStrict()) + .build(); + } + + public void format(File file) throws JavaFormatterException { + try { + formatter.applyTo(file); + } catch (Throwable e) { + throw new JavaFormatterException("Failed to format: " + file, e); + } + } + + @Override + public void close() { + formatter.close(); + } + + @Nonnull + public static Builder builder() { + return new Builder(); + } + + public static final class Builder extends ObjectBuilderBase { + private Path rootDir; + private File eclipseFormatterConfig; + + private Builder() { + super(JavaCodeFormatter::new); + } + + @Override + protected @Nonnull Builder self() { + return this; + } + + @Nonnull + public Builder withRootDir(@Nonnull Path rootDir) { + this.rootDir = Objects.requireNonNull(rootDir, "rootDir must not be null"); + return this; + } + + @Nonnull + public Builder withEclipseFormatterConfig(@Nonnull File eclipseFormatterConfig) { + this.eclipseFormatterConfig = Objects.requireNonNull(eclipseFormatterConfig, "eclipseFormatterConfig must not be null"); + return this; + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/TemplateFragmentUtils.java b/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/TemplateFragmentUtils.java new file mode 100644 index 0000000000..35a35143c1 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/TemplateFragmentUtils.java @@ -0,0 +1,34 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.renderer; + +import com.samskivert.mustache.Template; +import java.util.Optional; + +public final class TemplateFragmentUtils { + private TemplateFragmentUtils() {} + + @SuppressWarnings("unchecked") + public static Optional findParentContext(Template.Fragment fragment, Class clazz) { + var i = 0; + while (true) { + Object ctx; + + try { + ctx = fragment.context(i++); + } catch (NullPointerException ignored) { + return Optional.empty(); + } + + if (clazz.isAssignableFrom(ctx.getClass())) { + return Optional.of((T) ctx); + } + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/TemplateGlobalContext.java b/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/TemplateGlobalContext.java new file mode 100644 index 0000000000..745d5680fe --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/TemplateGlobalContext.java @@ -0,0 +1,94 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.renderer; + +import com.samskivert.mustache.Mustache; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import org.apache.commons.text.StringEscapeUtils; +import org.opensearch.client.codegen.model.Types; +import org.opensearch.client.codegen.renderer.lambdas.TemplateStringLambda; +import org.opensearch.client.codegen.utils.ObjectBuilderBase; +import org.opensearch.client.codegen.utils.Strings; + +public final class TemplateGlobalContext implements Mustache.CustomContext { + @Nonnull + private final Map values; + @Nonnull + private final TemplateRenderer renderer; + + private TemplateGlobalContext(@Nonnull Builder builder) { + Objects.requireNonNull(builder, "builder must not be null"); + this.values = Objects.requireNonNull(builder.values, "values must not be null"); + this.renderer = Objects.requireNonNull(builder.renderer, "renderer must not be null"); + } + + @Override + @Nullable + public Object get(@Nonnull String name) throws Exception { + return values.get(Strings.requireNonBlank(name, "name must not be blank")); + } + + @Nonnull + public TemplateRenderer getRenderer() { + return renderer; + } + + public static Builder builder() { + return new Builder().withLambda("quoted", s -> '\"' + StringEscapeUtils.escapeJava(s) + '\"') + .withLambda("camelCase", Strings::toCamelCase) + .withLambda("pascalCase", Strings::toPascalCase) + .withLambda("toLower", s -> s.toLowerCase()) + .withLambda("ERROR", s -> { + throw new RuntimeException(s); + }) + .withValue("TYPES", Types.TYPES_MAP); + } + + public static final class Builder extends ObjectBuilderBase { + private final Map values = new HashMap<>(); + private TemplateRenderer renderer; + + private Builder() { + super(TemplateGlobalContext::new); + } + + @Override + protected @Nonnull Builder self() { + return this; + } + + @Nonnull + public Builder withLambda(@Nonnull String name, @Nonnull TemplateStringLambda lambda) { + return withLambda(name, TemplateStringLambda.asMustacheLambda(lambda)); + } + + @Nonnull + public Builder withLambda(@Nonnull String name, @Nonnull Mustache.Lambda lambda) { + return withValue(name, lambda); + } + + @Nonnull + public Builder withValue(@Nonnull String name, @Nonnull Object value) { + Objects.requireNonNull(name, "name must not be null"); + Objects.requireNonNull(value, "value must not be null"); + values.put(name, value); + return this; + } + + @Nonnull + public Builder withRenderer(@Nonnull TemplateRenderer renderer) { + this.renderer = Objects.requireNonNull(renderer, "renderer must not be null"); + return this; + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/TemplateLoader.java b/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/TemplateLoader.java new file mode 100644 index 0000000000..7988c6219a --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/TemplateLoader.java @@ -0,0 +1,86 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.renderer; + +import com.samskivert.mustache.Mustache; +import java.io.IOException; +import java.io.Reader; +import java.io.StringReader; +import java.nio.charset.StandardCharsets; +import java.util.Objects; +import java.util.concurrent.ConcurrentHashMap; +import javax.annotation.Nonnull; +import org.apache.commons.io.IOUtils; +import org.opensearch.client.codegen.utils.ObjectBuilderBase; +import org.opensearch.client.codegen.utils.Strings; + +public final class TemplateLoader implements Mustache.TemplateLoader { + private static final ConcurrentHashMap CACHE = new ConcurrentHashMap<>(); + @Nonnull + private final String templatesResourceSubPath; + + private TemplateLoader(@Nonnull Builder builder) { + Objects.requireNonNull(builder, "builder must not be null"); + this.templatesResourceSubPath = Strings.requireNonBlank( + builder.templatesResourceSubPath, + "templatesResourceSubPath must not be blank" + ); + } + + @Nonnull + @Override + public Reader getTemplate(@Nonnull String name) throws Exception { + Strings.requireNonBlank(name, "name must not be blank"); + var path = templatesResourceSubPath + name + ".mustache"; + + var contents = CACHE.get(path); + + if (contents == null) { + try { + contents = IOUtils.resourceToString(path, StandardCharsets.UTF_8); + CACHE.put(path, contents); + } catch (IOException e) { + throw new Exception("Unable to load template: " + path, e); + } + } + + return new StringReader(contents); + } + + @Nonnull + public static Builder builder() { + return new Builder(); + } + + public static final class Builder extends ObjectBuilderBase { + private String templatesResourceSubPath; + + private Builder() { + super(TemplateLoader::new); + } + + @Override + protected @Nonnull Builder self() { + return this; + } + + @Nonnull + public Builder withTemplatesResourceSubPath(@Nonnull String templatesResourceSubPath) { + Strings.requireNonBlank(templatesResourceSubPath, "templatesResourceSubPath must not be blank"); + if (!templatesResourceSubPath.startsWith("/")) { + throw new IllegalArgumentException("templatesResourceSubPath must be absolute"); + } + if (!templatesResourceSubPath.endsWith("/")) { + templatesResourceSubPath += "/"; + } + this.templatesResourceSubPath = templatesResourceSubPath; + return this; + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/TemplateRenderer.java b/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/TemplateRenderer.java new file mode 100644 index 0000000000..1b22b4ede1 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/TemplateRenderer.java @@ -0,0 +1,120 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.renderer; + +import com.samskivert.mustache.Mustache; +import com.samskivert.mustache.MustacheException; +import com.samskivert.mustache.Template; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.StringWriter; +import java.io.Writer; +import java.util.Objects; +import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Function; +import javax.annotation.Nonnull; +import org.opensearch.client.codegen.exceptions.JavaFormatterException; +import org.opensearch.client.codegen.exceptions.RenderException; +import org.opensearch.client.codegen.model.Shape; +import org.opensearch.client.codegen.utils.ObjectBuilderBase; + +public final class TemplateRenderer { + @Nonnull + private final Mustache.Compiler compiler; + @Nonnull + private final TemplateGlobalContext context; + @Nonnull + private final JavaCodeFormatter javaCodeFormatter; + @Nonnull + private final ConcurrentHashMap templateCache = new ConcurrentHashMap<>(); + + private TemplateRenderer(@Nonnull Builder builder) { + Objects.requireNonNull(builder, "builder must not be null"); + this.compiler = Mustache.compiler() + .escapeHTML(false) + .withLoader(Objects.requireNonNull(builder.templateLoader, "templateLoader must not be null")) + .withFormatter(Objects.requireNonNull(builder.valueFormatter, "valueFormatter must not be null")); + this.context = TemplateGlobalContext.builder().withRenderer(this).build(); + this.javaCodeFormatter = Objects.requireNonNull(builder.javaCodeFormatter, "javaCodeFormatter must not be null"); + } + + public void render(String templateName, Object context, Writer out) throws RenderException { + try { + templateCache.computeIfAbsent(templateName, compiler::loadTemplate).execute(context, this.context, out); + } catch (MustacheException e) { + throw new RenderException("Failed to render: " + context, e); + } + } + + public String render(String templateName, Object context) throws RenderException { + var out = new StringWriter(); + render(templateName, context, out); + return out.toString(); + } + + public void renderJava(Shape shape, File outputFile) throws RenderException { + var classBody = render(shape.getClass().getSimpleName(), shape); + var classHeader = render("Partials/ClassHeader", shape); + + try (Writer fileWriter = new FileWriter(outputFile)) { + fileWriter.write(classHeader); + fileWriter.write("\n\n"); + fileWriter.write(classBody); + } catch (IOException e) { + throw new RenderException("Unable to write rendered output to: " + outputFile, e); + } + + try { + javaCodeFormatter.format(outputFile); + } catch (JavaFormatterException e) { + throw new RenderException("Unable to format rendered output: " + outputFile, e); + } + } + + @Nonnull + public static Builder builder() { + return new Builder(); + } + + public static final class Builder extends ObjectBuilderBase { + private TemplateValueFormatter valueFormatter; + private TemplateLoader templateLoader; + private JavaCodeFormatter javaCodeFormatter; + + private Builder() { + super(TemplateRenderer::new); + } + + @Override + protected @Nonnull Builder self() { + return this; + } + + @Nonnull + public Builder withValueFormatter(@Nonnull Function configurator) { + this.valueFormatter = Objects.requireNonNull(configurator, "configurator must not be null") + .apply(TemplateValueFormatter.builder()) + .build(); + return this; + } + + @Nonnull + public Builder withTemplateLoader(@Nonnull TemplateLoader templateLoader) { + this.templateLoader = Objects.requireNonNull(templateLoader, "templateLoader must not be null"); + return this; + } + + @Nonnull + public Builder withJavaCodeFormatter(@Nonnull JavaCodeFormatter javaCodeFormatter) { + this.javaCodeFormatter = Objects.requireNonNull(javaCodeFormatter, "javaCodeFormatter must not be null"); + return this; + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/TemplateValueFormatter.java b/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/TemplateValueFormatter.java new file mode 100644 index 0000000000..12a41d10f4 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/TemplateValueFormatter.java @@ -0,0 +1,74 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.renderer; + +import com.samskivert.mustache.Mustache; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Nonnull; +import org.opensearch.client.codegen.utils.ObjectBuilderBase; + +public final class TemplateValueFormatter implements Mustache.Formatter { + @Nonnull + private final Map, Formatter> formatters; + + private TemplateValueFormatter(@Nonnull Builder builder) { + Objects.requireNonNull(builder, "builder must not be null"); + this.formatters = Objects.requireNonNull(builder.formatters, "formatters must not be null"); + } + + @Override + @Nonnull + public CharSequence format(@Nonnull Object value) { + Objects.requireNonNull(value, "value must not be null"); + return format(value, value.getClass()); + } + + @SuppressWarnings("unchecked") + @Nonnull + private CharSequence format(@Nonnull Object value, @Nonnull Class clazz) { + Objects.requireNonNull(value, "value must not be null"); + Objects.requireNonNull(clazz, "clazz must not be null"); + var formatter = (Formatter) formatters.get(clazz); + if (formatter != null) return formatter.format((T) value); + return String.valueOf(value); + } + + @FunctionalInterface + public interface Formatter { + @Nonnull + CharSequence format(@Nonnull T value); + } + + public static Builder builder() { + return new Builder(); + } + + public static final class Builder extends ObjectBuilderBase { + private final Map, Formatter> formatters = new HashMap<>(); + + private Builder() { + super(TemplateValueFormatter::new); + } + + @Override + protected @Nonnull Builder self() { + return this; + } + + @Nonnull + public Builder withFormatter(@Nonnull Class clazz, @Nonnull Formatter formatter) { + Objects.requireNonNull(clazz, "clazz must not be null"); + Objects.requireNonNull(formatter, "formatter must not be null"); + formatters.put(clazz, formatter); + return this; + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/lambdas/TemplateRenderingLambda.java b/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/lambdas/TemplateRenderingLambda.java new file mode 100644 index 0000000000..160e35480d --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/lambdas/TemplateRenderingLambda.java @@ -0,0 +1,42 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.renderer.lambdas; + +import com.samskivert.mustache.Mustache; +import com.samskivert.mustache.Template; +import java.io.IOException; +import java.io.Writer; +import javax.annotation.Nonnull; +import org.opensearch.client.codegen.exceptions.RenderException; +import org.opensearch.client.codegen.renderer.TemplateFragmentUtils; +import org.opensearch.client.codegen.renderer.TemplateGlobalContext; +import org.opensearch.client.codegen.utils.Strings; + +public abstract class TemplateRenderingLambda implements Mustache.Lambda { + @Nonnull + private final String templateName; + + protected TemplateRenderingLambda(@Nonnull String templateName) { + this.templateName = Strings.requireNonBlank(templateName, "templateName must not be blank"); + } + + @Override + public void execute(Template.Fragment fragment, Writer out) throws IOException { + var renderer = TemplateFragmentUtils.findParentContext(fragment, TemplateGlobalContext.class).orElseThrow().getRenderer(); + + try { + var content = renderer.render(templateName, getContext(fragment)); + out.write(content.strip()); + } catch (RenderException e) { + throw new RuntimeException(e); + } + } + + public abstract Object getContext(Template.Fragment fragment); +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/lambdas/TemplateStringLambda.java b/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/lambdas/TemplateStringLambda.java new file mode 100644 index 0000000000..cd8f762e2c --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/lambdas/TemplateStringLambda.java @@ -0,0 +1,24 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.renderer.lambdas; + +import com.samskivert.mustache.Mustache; +import java.util.Objects; +import javax.annotation.Nonnull; + +@FunctionalInterface +public interface TemplateStringLambda { + @Nonnull + String execute(@Nonnull String input); + + static Mustache.Lambda asMustacheLambda(@Nonnull TemplateStringLambda lambda) { + Objects.requireNonNull(lambda, "lambda must not be null"); + return (fragment, out) -> out.write(lambda.execute(fragment.execute())); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/lambdas/TypeIsDefinedLambda.java b/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/lambdas/TypeIsDefinedLambda.java new file mode 100644 index 0000000000..6ccbbcdb8c --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/lambdas/TypeIsDefinedLambda.java @@ -0,0 +1,52 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.renderer.lambdas; + +import com.samskivert.mustache.Template; +import java.util.Objects; +import javax.annotation.Nonnull; +import org.opensearch.client.codegen.model.Type; +import org.opensearch.client.codegen.utils.Strings; + +public final class TypeIsDefinedLambda extends TemplateRenderingLambda { + @Nonnull + private final Type type; + + public TypeIsDefinedLambda(Type type) { + super("Type/isDefined"); + this.type = Objects.requireNonNull(type, "type must not be null"); + } + + @Override + public Object getContext(Template.Fragment fragment) { + return new Context(type, fragment.execute()); + } + + public static final class Context { + @Nonnull + private final Type type; + @Nonnull + private final String value; + + private Context(@Nonnull Type type, @Nonnull String value) { + this.type = Objects.requireNonNull(type, "type must not be null"); + this.value = Strings.requireNonBlank(value, "value must not be blank"); + } + + @Nonnull + public Type getType() { + return type; + } + + @Nonnull + public String getValue() { + return value; + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/lambdas/TypeQueryParamifyLambda.java b/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/lambdas/TypeQueryParamifyLambda.java new file mode 100644 index 0000000000..fe93f4987d --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/lambdas/TypeQueryParamifyLambda.java @@ -0,0 +1,52 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.renderer.lambdas; + +import com.samskivert.mustache.Template; +import java.util.Objects; +import javax.annotation.Nonnull; +import org.opensearch.client.codegen.model.Type; +import org.opensearch.client.codegen.utils.Strings; + +public final class TypeQueryParamifyLambda extends TemplateRenderingLambda { + @Nonnull + private final Type type; + + public TypeQueryParamifyLambda(Type type) { + super("Type/queryParamify"); + this.type = Objects.requireNonNull(type, "type must not be null"); + } + + @Override + public Object getContext(Template.Fragment fragment) { + return new Context(type, fragment.execute()); + } + + public static final class Context { + @Nonnull + private final Type type; + @Nonnull + private final String value; + + private Context(@Nonnull Type type, @Nonnull String value) { + this.type = Objects.requireNonNull(type, "type must not be null"); + this.value = Strings.requireNonBlank(value, "value must not be blank"); + } + + @Nonnull + public Type getType() { + return type; + } + + @Nonnull + public String getValue() { + return value; + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/lambdas/TypeSerializerLambda.java b/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/lambdas/TypeSerializerLambda.java new file mode 100644 index 0000000000..c8c2f1c14d --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/renderer/lambdas/TypeSerializerLambda.java @@ -0,0 +1,60 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.renderer.lambdas; + +import com.samskivert.mustache.Template; +import java.util.Objects; +import javax.annotation.Nonnull; +import org.opensearch.client.codegen.model.Type; +import org.opensearch.client.codegen.renderer.TemplateFragmentUtils; +import org.opensearch.client.codegen.utils.Strings; + +public final class TypeSerializerLambda extends TemplateRenderingLambda { + @Nonnull + private final Type type; + + public TypeSerializerLambda(Type type, boolean direct) { + super("Type/" + (direct ? "directSerializer" : "serializer")); + this.type = Objects.requireNonNull(type, "type must not be null"); + } + + @Override + public Object getContext(Template.Fragment fragment) { + var depth = TemplateFragmentUtils.findParentContext(fragment, Context.class).map(ctx -> ctx.depth + 1).orElse(0); + return new Context(type, fragment.execute(), depth); + } + + public static final class Context { + @Nonnull + private final Type type; + @Nonnull + private final String value; + private final int depth; + + private Context(@Nonnull Type type, @Nonnull String value, int depth) { + this.type = Objects.requireNonNull(type, "type must not be null"); + this.value = Strings.requireNonBlank(value, "value must not be blank"); + this.depth = depth; + } + + @Nonnull + public Type getType() { + return type; + } + + @Nonnull + public String getValue() { + return value; + } + + public int getDepth() { + return depth; + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Either.java b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Either.java new file mode 100644 index 0000000000..0f9e3dd2c2 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Either.java @@ -0,0 +1,126 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.utils; + +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import org.jetbrains.annotations.Contract; + +public abstract class Either { + public abstract boolean isLeft(); + + public abstract boolean isRight(); + + @Nullable + public abstract L getLeft(); + + @Nullable + public abstract R getRight(); + + @Nullable + public L getLeftOrThrow(@Nonnull Function exceptionFn) throws X { + Objects.requireNonNull(exceptionFn, "exceptionFn must not be null"); + if (isLeft()) { + return getLeft(); + } else { + throw exceptionFn.apply(getRight()); + } + } + + public R getRightOrThrow(Function exceptionFn) throws X { + Objects.requireNonNull(exceptionFn, "exceptionFn must not be null"); + if (isRight()) { + return getRight(); + } else { + throw exceptionFn.apply(getLeft()); + } + } + + public T fold(Function leftFn, Function rightFn) { + if (isLeft()) { + return leftFn.apply(getLeft()); + } else { + return rightFn.apply(getRight()); + } + } + + @Nonnull + public static Either left(@Nullable L value) { + return new Left<>(value); + } + + @Nonnull + public static Either right(@Nullable R value) { + return new Right<>(value); + } + + private static class Left extends Either { + @Nullable + private final L value; + + private Left(@Nullable L value) { + this.value = value; + } + + @Override + public boolean isLeft() { + return true; + } + + @Override + public boolean isRight() { + return false; + } + + @Nullable + @Override + public L getLeft() { + return value; + } + + @Contract("-> fail") + @Override + public R getRight() { + throw new IllegalStateException("Cannot get right value from left"); + } + } + + private static class Right extends Either { + @Nullable + private final R value; + + private Right(@Nullable R value) { + this.value = value; + } + + @Override + public boolean isLeft() { + return false; + } + + @Override + public boolean isRight() { + return true; + } + + @Contract("-> fail") + @Override + public L getLeft() { + throw new IllegalStateException("Cannot get left value from right"); + } + + @Nullable + @Override + public R getRight() { + return value; + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Functional.java b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Functional.java new file mode 100644 index 0000000000..538678731d --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Functional.java @@ -0,0 +1,26 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.utils; + +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import org.jetbrains.annotations.Contract; + +public final class Functional { + private Functional() {} + + @Contract("null,_->null;_,_->_") + @Nullable + public static R ifNonnull(@Nullable T value, @Nonnull Function mapper) { + Objects.requireNonNull(mapper, "mapper must not be null"); + return value != null ? mapper.apply(value) : null; + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/utils/JavaClassKind.java b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/JavaClassKind.java new file mode 100644 index 0000000000..2e587790c2 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/JavaClassKind.java @@ -0,0 +1,33 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.utils; + +import java.util.Map; +import javax.annotation.Nonnull; + +public enum JavaClassKind { + Class, + Enum; + + private static final Map VALUES = Maps.createLookupOf(values(), JavaClassKind::toString); + + @Nonnull + public static JavaClassKind from(@Nonnull String kind) { + var value = VALUES.get(Strings.requireNonBlank(kind, "kind must not be blank")); + if (value == null) { + throw new IllegalArgumentException("Unknown kind: " + kind); + } + return value; + } + + @Override + public String toString() { + return name().toLowerCase(); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Lists.java b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Lists.java new file mode 100644 index 0000000000..f807bc4976 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Lists.java @@ -0,0 +1,69 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.utils; + +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Objects; +import java.util.Optional; +import java.util.function.Function; +import java.util.function.Predicate; +import java.util.stream.Collectors; +import java.util.stream.IntStream; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; + +public final class Lists { + private Lists() {} + + @Nonnull + public static Optional> unmodifiableOpt(@Nullable List list) { + return Optional.ofNullable(list).map(Collections::unmodifiableList); + } + + @Nonnull + public static List filter(@Nonnull Collection list, @Nonnull Predicate predicate) { + Objects.requireNonNull(list, "list must not be null"); + Objects.requireNonNull(predicate, "predicate must not be null"); + return list.stream().filter(predicate).collect(Collectors.toList()); + } + + @Nonnull + public static List map(@Nonnull Collection list, @Nonnull Function mapper) { + Objects.requireNonNull(list, "list must not be null"); + Objects.requireNonNull(mapper, "mapper must not be null"); + return list.stream().map(mapper).collect(Collectors.toList()); + } + + @Nonnull + public static List map(@Nonnull List list, @Nonnull ItemMapper mapper) { + Objects.requireNonNull(list, "list must not be null"); + Objects.requireNonNull(mapper, "mapper must not be null"); + return IntStream.range(0, list.size()).mapToObj(i -> mapper.map(i, list.get(i))).collect(Collectors.toList()); + } + + @FunctionalInterface + public interface ItemMapper { + @Nonnull + TOut map(int index, @Nonnull TIn item); + } + + @Nonnull + public static List filterMap( + @Nonnull Collection list, + @Nonnull Predicate predicate, + @Nonnull Function mapper + ) { + Objects.requireNonNull(list, "list must not be null"); + Objects.requireNonNull(predicate, "predicate must not be null"); + Objects.requireNonNull(mapper, "mapper must not be null"); + return list.stream().filter(predicate).map(mapper).collect(Collectors.toList()); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Maps.java b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Maps.java new file mode 100644 index 0000000000..b16f6f039f --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Maps.java @@ -0,0 +1,71 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.utils; + +import java.util.Arrays; +import java.util.Collections; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.function.Function; +import java.util.stream.Collectors; +import java.util.stream.Stream; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; + +public final class Maps { + private Maps() {} + + @Nonnull + public static Optional tryGet(@Nullable Map map, @Nonnull TKey key) { + Objects.requireNonNull(key, "key must not be null"); + return Optional.ofNullable(map).flatMap(m -> Optional.ofNullable(m.get(key))); + } + + @Nonnull + public static Map createLookupOf(@Nonnull TValue[] values, @Nonnull Function by) { + Objects.requireNonNull(values, "values must not be null"); + return createLookupOf(Arrays.stream(values), by); + } + + @Nonnull + public static Map createLookupOf(@Nonnull Stream values, @Nonnull Function by) { + Objects.requireNonNull(values, "values must not be null"); + Objects.requireNonNull(by, "by must not be null"); + return values.collect(Collectors.toMap(by, Function.identity())); + } + + @Nonnull + public static Optional> unmodifiableOpt(@Nullable Map map) { + return Optional.ofNullable(map).map(Collections::unmodifiableMap); + } + + @Nonnull + public static Map transform( + @Nonnull Map map, + @Nonnull EntryMapper keyMapper, + @Nonnull EntryMapper valueMapper + ) { + Objects.requireNonNull(map, "map must not be null"); + Objects.requireNonNull(keyMapper, "keyMapper must not be null"); + Objects.requireNonNull(valueMapper, "valueMapper must not be null"); + return map.entrySet().stream().collect(Collectors.toMap(keyMapper::map, valueMapper::map)); + } + + @FunctionalInterface + public interface EntryMapper { + @Nonnull + TResult map(@Nonnull TKey key, @Nonnull TValue value); + + @Nonnull + default TResult map(@Nonnull Map.Entry entry) { + return map(entry.getKey(), entry.getValue()); + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/utils/MavenArtifactResolver.java b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/MavenArtifactResolver.java new file mode 100644 index 0000000000..024d4b5e94 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/MavenArtifactResolver.java @@ -0,0 +1,85 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.utils; + +import java.io.File; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Objects; +import java.util.Set; +import java.util.stream.Collectors; +import javax.annotation.Nonnull; +import org.apache.maven.repository.internal.MavenRepositorySystemUtils; +import org.eclipse.aether.RepositorySystem; +import org.eclipse.aether.RepositorySystemSession; +import org.eclipse.aether.artifact.DefaultArtifact; +import org.eclipse.aether.collection.CollectRequest; +import org.eclipse.aether.graph.Dependency; +import org.eclipse.aether.graph.Exclusion; +import org.eclipse.aether.repository.LocalRepository; +import org.eclipse.aether.repository.RemoteRepository; +import org.eclipse.aether.resolution.DependencyRequest; +import org.eclipse.aether.resolution.DependencyResolutionException; +import org.eclipse.aether.supplier.RepositorySystemSupplier; + +public class MavenArtifactResolver { + @Nonnull + public static MavenArtifactResolver createDefault() { + var repositorySystem = new RepositorySystemSupplier().get(); + var session = MavenRepositorySystemUtils.newSession(); + session.setSystemProperties(System.getProperties()); + var mavenLocal = new LocalRepository(new File(System.getProperty("user.home") + "/.m2/repository")); + session.setLocalRepositoryManager(repositorySystem.newLocalRepositoryManager(session, mavenLocal)); + + var mavenCentral = new RemoteRepository.Builder("central", "default", "https://repo.maven.apache.org/maven2/").build(); + return new MavenArtifactResolver(repositorySystem, session, List.of(mavenCentral)); + } + + private final static Collection EXCLUDE_ALL_TRANSITIVES = Collections.singleton(new Exclusion("*", "*", "*", "*")); + + @Nonnull + private final RepositorySystem repositorySystem; + @Nonnull + private final RepositorySystemSession session; + @Nonnull + private final List repositories; + + public MavenArtifactResolver( + @Nonnull RepositorySystem repositorySystem, + @Nonnull RepositorySystemSession session, + @Nonnull List repositories + ) { + this.repositorySystem = Objects.requireNonNull(repositorySystem, "repositorySystem must not be null"); + this.session = Objects.requireNonNull(session, "session must not be null"); + this.repositories = Objects.requireNonNull(repositories, "repositories must not be null"); + } + + @Nonnull + public Set resolve(boolean withTransitives, @Nonnull Collection mavenCoordinates) { + Objects.requireNonNull(mavenCoordinates, "mavenCoordinates must not be null"); + + var dependencies = Lists.map( + mavenCoordinates, + coord -> new Dependency(new DefaultArtifact(coord), null, null, withTransitives ? null : EXCLUDE_ALL_TRANSITIVES) + ); + + var request = new DependencyRequest(new CollectRequest(dependencies, null, repositories), null); + + try { + return repositorySystem.resolveDependencies(session, request) + .getArtifactResults() + .stream() + .map(r -> r.getArtifact().getFile()) + .collect(Collectors.toSet()); + } catch (DependencyResolutionException ex) { + throw new RuntimeException("Failed to resolve dependencies", ex); + } + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/utils/ObjectBuilder.java b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/ObjectBuilder.java new file mode 100644 index 0000000000..3414747040 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/ObjectBuilder.java @@ -0,0 +1,16 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.utils; + +import javax.annotation.Nonnull; + +public interface ObjectBuilder { + @Nonnull + T build(); +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/utils/ObjectBuilderBase.java b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/ObjectBuilderBase.java new file mode 100644 index 0000000000..31955ba570 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/ObjectBuilderBase.java @@ -0,0 +1,34 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.utils; + +import java.util.Objects; +import java.util.function.Function; +import javax.annotation.Nonnull; + +public abstract class ObjectBuilderBase> implements ObjectBuilder { + private final Function ctor; + private boolean _used = false; + + protected ObjectBuilderBase(Function ctor) { + this.ctor = Objects.requireNonNull(ctor, "ctor must not be null"); + } + + @Nonnull + protected abstract Self self(); + + @Override + public @Nonnull T build() { + if (this._used) { + throw new IllegalStateException("Object builders can only be used once"); + } + this._used = true; + return ctor.apply(self()); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Sets.java b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Sets.java new file mode 100644 index 0000000000..b63536f6d7 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Sets.java @@ -0,0 +1,24 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.utils; + +import java.util.Collections; +import java.util.Optional; +import java.util.Set; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; + +public final class Sets { + private Sets() {} + + @Nonnull + public static Optional> unmodifiableOpt(@Nullable Set set) { + return Optional.ofNullable(set).map(Collections::unmodifiableSet); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Streams.java b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Streams.java new file mode 100644 index 0000000000..3db157707e --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Streams.java @@ -0,0 +1,31 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.utils; + +import java.util.Objects; +import java.util.function.Function; +import java.util.stream.Stream; +import javax.annotation.Nonnull; + +public final class Streams { + private Streams() {} + + @Nonnull + public static > Stream sortedBy(@Nonnull Stream stream, @Nonnull Function keyExtractor) { + Objects.requireNonNull(stream, "stream must not be null"); + Objects.requireNonNull(keyExtractor, "keyExtractor must not be null"); + return stream.sorted((a, b) -> { + var ka = keyExtractor.apply(a); + var kb = keyExtractor.apply(b); + if (ka == null) return kb == null ? 0 : -1; + if (kb == null) return 1; + return ka.compareTo(kb); + }); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Strings.java b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Strings.java new file mode 100644 index 0000000000..d6a751a84f --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Strings.java @@ -0,0 +1,76 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.utils; + +import java.util.HashMap; +import java.util.Locale; +import java.util.Map; +import java.util.Objects; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import org.apache.commons.text.CaseUtils; +import org.jetbrains.annotations.Contract; + +public final class Strings { + private Strings() {} + + public static boolean isNullOrEmpty(@Nullable String str) { + return str == null || str.isEmpty(); + } + + public static boolean isNullOrBlank(@Nullable String str) { + return str == null || str.isBlank(); + } + + @Nonnull + @Contract(value = "null, _ -> fail; _, _ -> param1", pure = true) + public static String requireNonBlank(@Nullable String str, @Nullable String message) { + if (isNullOrBlank(str)) { + throw new IllegalArgumentException(message); + } + return str; + } + + private static final Map SPECIAL_CASE_SNAKE_CASE_CONVERSION = new HashMap<>() { + { + put("noop", "no_op"); + } + }; + + @Nonnull + public static String toSnakeCase(@Nonnull String str) { + Objects.requireNonNull(str, "str must not be null"); + if (str.isEmpty()) { + return str; + } + + var specialCase = SPECIAL_CASE_SNAKE_CASE_CONVERSION.get(str); + if (specialCase != null) return specialCase; + + return str.replaceAll("([A-Z]+)([A-Z][a-z])", "$1_$2") + .replaceAll("([a-z\\d])([A-Z])", "$1_$2") + .replaceAll("(\\s|[-:.])", "_") + .toLowerCase(Locale.US); + } + + @Nonnull + private static String toCamelCase(@Nonnull String str, boolean capitalizeFirstLetter) { + return CaseUtils.toCamelCase(toSnakeCase(str), capitalizeFirstLetter, '_'); + } + + @Nonnull + public static String toCamelCase(@Nonnull String str) { + return toCamelCase(str, false); + } + + @Nonnull + public static String toPascalCase(@Nonnull String str) { + return toCamelCase(str, true); + } +} diff --git a/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Versions.java b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Versions.java new file mode 100644 index 0000000000..288c1bac88 --- /dev/null +++ b/java-codegen/src/main/java/org/opensearch/client/codegen/utils/Versions.java @@ -0,0 +1,25 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.utils; + +import javax.annotation.Nonnull; +import org.semver4j.Semver; + +public final class Versions { + private Versions() {} + + public static final Semver V2_0_0 = Semver.of(2, 0, 0); + + @Nonnull + public static Semver coerce(String str) { + var version = Semver.coerce(str); + if (version == null) throw new IllegalArgumentException("Unable to coerce `" + str + "` to semver"); + return version; + } +} diff --git a/java-codegen/src/main/resources/log4j2.xml b/java-codegen/src/main/resources/log4j2.xml new file mode 100644 index 0000000000..a388d16da0 --- /dev/null +++ b/java-codegen/src/main/resources/log4j2.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ArrayShape.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ArrayShape.mustache new file mode 100644 index 0000000000..c3fb5ff0d0 --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ArrayShape.mustache @@ -0,0 +1,31 @@ +{{>Partials/ClassDeclaration}} { + {{>ObjectShape/Fields}} + + // --------------------------------------------------------------------------------------------- + + {{>ObjectShape/Constructor}} + + {{>ObjectShape/Getters}} + + /** + * Serialize this value to JSON. + */ + public void serialize({{TYPES.Jakarta.Json.Stream.JsonGenerator}} generator, {{TYPES.Client.Json.JsonpMapper}} mapper) { + {{#valueBodyField.type.serializer}}this.{{valueBodyField.name}}{{/valueBodyField.type.serializer}} + } + + // --------------------------------------------------------------------------------------------- + + {{>ObjectShape/Builder}} + + public static final {{TYPES.Client.Json.JsonpDeserializer}}<{{className}}> _DESERIALIZER = create{{className}}Deserializer(); + + protected static {{TYPES.Client.Json.JsonpDeserializer}}<{{className}}> create{{className}}Deserializer() { + {{TYPES.Client.Json.JsonpDeserializer}}<{{valueBodyField.type}}> valueDeserializer = {{#valueBodyField.type}}{{>Type/deserializer}}{{/valueBodyField.type}}; + + return {{TYPES.Client.Json.JsonpDeserializer}}.of( + valueDeserializer.acceptedEvents(), + (parser, mapper) -> new Builder().valueBody(valueDeserializer.deserialize(parser, mapper)).build() + ); + } +} \ No newline at end of file diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Client.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Client.mustache new file mode 100644 index 0000000000..8547a4e05e --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Client.mustache @@ -0,0 +1,72 @@ +{{>Partials/ClassDeclaration}} { +{{^base}} + public {{className}}({{TYPES.Client.Transport.OpenSearchTransport}} transport) { + super(transport, null); + } + +{{/base}} + public {{className}}({{TYPES.Client.Transport.OpenSearchTransport}} transport, @{{TYPES.Javax.Annotation.Nullable}} {{TYPES.Client.Transport.TransportOptions}} transportOptions) { + super(transport, transportOptions); + } +{{^base}} + + @Override + public {{className}} withTransportOptions(@{{TYPES.Javax.Annotation.Nullable}} {{TYPES.Client.Transport.TransportOptions}} transportOptions) { + return new {{className}}(this.transport, transportOptions); + } +{{/base}} +{{#children}} + {{#-first}} + + // ----- Child clients + {{/-first}} + + public {{type}} {{#camelCase}}{{name}}{{/camelCase}}() { + return new {{type}}(this.transport, this.transportOptions); + } +{{/children}} +{{#operations}} + + // ----- Endpoint: {{operationGroup}} + + {{#canBeSingleton}} + /** + * {{description}} + */ + public {{#async}}{{TYPES.Java.Util.Concurrent.CompletableFuture}}<{{/async}}{{responseType}}{{#async}}>{{/async}} {{#camelCase}}{{id}}{{/camelCase}}() throws {{TYPES.Java.Io.IOException}}, {{TYPES.Client.OpenSearch._Types.OpenSearchException}} { + return this.transport.performRequest{{#async}}Async{{/async}}({{type}}._INSTANCE, {{type}}._ENDPOINT, this.transportOptions); + } + {{/canBeSingleton}} + {{^canBeSingleton}} + /** + * {{description}} + */ + public {{#async}}{{TYPES.Java.Util.Concurrent.CompletableFuture}}<{{/async}}{{responseType}}{{#async}}>{{/async}} {{#camelCase}}{{id}}{{/camelCase}}({{type}} request) throws {{TYPES.Java.Io.IOException}}, {{TYPES.Client.OpenSearch._Types.OpenSearchException}} { + @SuppressWarnings("unchecked") + {{jsonEndpointType}} endpoint = ({{jsonEndpointType}}) {{type.name}}._ENDPOINT; + + return this.transport.performRequest{{#async}}Async{{/async}}(request, endpoint, this.transportOptions); + } + + /** + * {{description}} + * + * @param fn a function that initializes a builder to create the {@link {{type}}} + */ + public final {{#async}}{{TYPES.Java.Util.Concurrent.CompletableFuture}}<{{/async}}{{responseType}}{{#async}}>{{/async}} {{#camelCase}}{{id}}{{/camelCase}}({{type.builderFnType}} fn) + throws IOException, OpenSearchException { + return {{#camelCase}}{{id}}{{/camelCase}}(fn.apply(new {{type.builderType}}()).build()); + } + {{^hasAnyRequiredFields}} + + /** + * {{description}} + */ + public {{#async}}{{TYPES.Java.Util.Concurrent.CompletableFuture}}<{{/async}}{{responseType}}{{#async}}>{{/async}} {{#camelCase}}{{id}}{{/camelCase}}() + throws IOException, OpenSearchException { + return this.transport.performRequest{{#async}}Async{{/async}}(new {{type.builderType}}().build(), {{type.name}}._ENDPOINT, this.transportOptions); + } + {{/hasAnyRequiredFields}} + {{/canBeSingleton}} +{{/operations}} +} diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/EnumShape.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/EnumShape.mustache new file mode 100644 index 0000000000..a9a14284f0 --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/EnumShape.mustache @@ -0,0 +1,21 @@ +{{>Partials/ClassDeclaration}} { +{{#variants}} +{{^-first}} + +{{/-first}} +{{#deprecated}} + @Deprecated +{{/deprecated}} + {{name}}({{#quoted}}{{wireName}}{{/quoted}}){{#-last}};{{/-last}}{{^-last}},{{/-last}} +{{/variants}} + + private final String jsonValue; + + {{className}}(String jsonValue) { + this.jsonValue = jsonValue; + } + + public String jsonValue() { return this.jsonValue; } + + public static final JsonEnum.Deserializer<{{className}}> _DESERIALIZER = new JsonEnum.Deserializer<>({{className}}.values()); +} \ No newline at end of file diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape.mustache new file mode 100644 index 0000000000..627af1db03 --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape.mustache @@ -0,0 +1,22 @@ +{{>Partials/ClassDeclaration}} { + {{>ObjectShape/Fields}} + + // --------------------------------------------------------------------------------------------- + + {{>ObjectShape/Constructor}} + + {{>ObjectShape/Getters}} + +{{#hasFieldsToSerialize}} + {{>ObjectShape/Serialize}} + +{{/hasFieldsToSerialize}} + + // --------------------------------------------------------------------------------------------- + + {{>ObjectShape/Builder}} + + // --------------------------------------------------------------------------------------------- + + {{>ObjectShape/Deserialize}} +} \ No newline at end of file diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/Builder.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/Builder.mustache new file mode 100644 index 0000000000..26d308c6a5 --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/Builder.mustache @@ -0,0 +1,108 @@ +{{^abstract}} + /** + * Builder for {@link {{className}}}. + */ + public static class Builder extends +{{#extendsOtherShape}} + {{extendsType}}.AbstractBuilder +{{/extendsOtherShape}} +{{^extendsOtherShape}} + {{TYPES.Client.Util.ObjectBuilderBase}} +{{/extendsOtherShape}} + implements {{TYPES.Client.Util.ObjectBuilder}}<{{className}}> { + {{#extendsOtherShape}} + @Override + protected Builder self() { + return this; + } + {{/extendsOtherShape}} +{{/abstract}} +{{#abstract}} + protected abstract static class AbstractBuilder> extends {{TYPES.Client.Util.ObjectBuilderBase}} { +{{/abstract}} + {{#fields}} + {{^required}}@{{TYPES.Javax.Annotation.Nullable}} {{/required}}private {{type.boxed}} {{name}}; + {{/fields}} + + {{#fields}} + {{#type.isMap}} + {{>ObjectShape/FieldDoc/MapAddAll}} + {{#deprecation}}@Deprecated{{/deprecation}} + public final Builder{{#abstract}}T{{/abstract}} {{name}}({{type}} map) { + this.{{name}} = _mapPutAll(this.{{name}}, map); + return {{^abstract}}this{{/abstract}}{{#abstract}}self(){{/abstract}}; + } + + {{>ObjectShape/FieldDoc/MapAdd}} + {{#deprecation}}@Deprecated{{/deprecation}} + public final Builder{{#abstract}}T{{/abstract}} {{name}}({{type.mapKeyType}} key, {{type.mapValueType}} value) { + this.{{name}} = _mapPut(this.{{name}}, key, value); + return {{^abstract}}this{{/abstract}}{{#abstract}}self(){{/abstract}}; + } + {{#type.mapValueType.hasBuilder}} + + {{>ObjectShape/FieldDoc/MapAddBuilderFn}} + {{#deprecation}}@Deprecated{{/deprecation}} + public final Builder{{#abstract}}T{{/abstract}} {{name}}(String key, {{type.mapValueType.builderFnType}} fn) { + return {{name}}(key, fn.apply(new {{type.mapValueType.builderType}}()).build()); + } + {{/type.mapValueType.hasBuilder}} + {{/type.isMap}} + {{#type.isList}} + {{>ObjectShape/FieldDoc/ListAddAll}} + {{#deprecation}}@Deprecated{{/deprecation}} + public final Builder{{#abstract}}T{{/abstract}} {{name}}({{type}} list) { + this.{{name}} = _listAddAll(this.{{name}}, list); + return {{^abstract}}this{{/abstract}}{{#abstract}}self(){{/abstract}}; + } + + {{>ObjectShape/FieldDoc/ListAdd}} + {{#deprecation}}@Deprecated{{/deprecation}} + public final Builder{{#abstract}}T{{/abstract}} {{name}}({{type.listValueType}} value, {{type.listValueType}}... values) { + this.{{name}} = _listAdd(this.{{name}}, value, values); + return {{^abstract}}this{{/abstract}}{{#abstract}}self(){{/abstract}}; + } + {{#type.listValueType.hasBuilder}} + + {{>ObjectShape/FieldDoc/ListAddBuilderFn}} + {{#deprecation}}@Deprecated{{/deprecation}} + public final Builder{{#abstract}}T{{/abstract}} {{name}}({{type.listValueType.builderFnType}} fn) { + return {{name}}(fn.apply(new {{type.listValueType.builderType}}()).build()); + } + {{/type.listValueType.hasBuilder}} + {{/type.isList}} + {{^type.isListOrMap}} + {{>ObjectShape/FieldDoc/Basic}} + {{#deprecation}}@Deprecated{{/deprecation}} + public final Builder{{#abstract}}T{{/abstract}} {{name}}({{^required}}@{{TYPES.Javax.Annotation.Nullable}} {{/required}}{{type}} value) { + this.{{name}} = value; + return {{^abstract}}this{{/abstract}}{{#abstract}}self(){{/abstract}}; + } + {{#type.hasBuilder}} + + {{>ObjectShape/FieldDoc/Basic}} + {{#deprecation}}@Deprecated{{/deprecation}} + public final Builder{{#abstract}}T{{/abstract}} {{name}}({{type.builderFnType}} fn) { + return {{name}}(fn.apply(new {{type.builderType}}()).build()); + } + {{/type.hasBuilder}} + {{/type.isListOrMap}} + + {{/fields}} + {{^abstract}} + /** + * Builds a {@link {{className}}}. + * + * @throws NullPointerException + * if some of the required fields are null. + */ + public {{className}} build() { + _checkSingleUse(); + + return new {{className}}(this); + } + {{/abstract}} + {{#abstract}} + protected abstract BuilderT self(); + {{/abstract}} + } \ No newline at end of file diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/Constructor.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/Constructor.mustache new file mode 100644 index 0000000000..d526639524 --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/Constructor.mustache @@ -0,0 +1,34 @@ +{{^abstract}} + private {{className}}(Builder builder) { +{{/abstract}} +{{#abstract}} + protected {{className}}(AbstractBuilder builder) { +{{/abstract}} +{{#extendsOtherShape}} + super(builder); +{{/extendsOtherShape}} +{{#fields}} +{{#type.isListOrMap}} + {{#required}} + this.{{name}} = {{TYPES.Client.Util.ApiTypeHelper}}.unmodifiableRequired(builder.{{name}}, this, {{#quoted}}{{name}}{{/quoted}}); + {{/required}} + {{^required}} + this.{{name}} = {{TYPES.Client.Util.ApiTypeHelper}}.unmodifiable(builder.{{name}}); + {{/required}} +{{/type.isListOrMap}} +{{^type.isListOrMap}} + {{#required}} + this.{{name}} = {{TYPES.Client.Util.ApiTypeHelper}}.requireNonNull(builder.{{name}}, this, {{#quoted}}{{name}}{{/quoted}}); + {{/required}} + {{^required}} + this.{{name}} = builder.{{name}}; + {{/required}} +{{/type.isListOrMap}} +{{/fields}} + } +{{^abstract}} + + public static {{className}} of({{type.builderFnType}} fn) { + return fn.apply(new Builder()).build(); + } +{{/abstract}} \ No newline at end of file diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/Deserialize.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/Deserialize.mustache new file mode 100644 index 0000000000..366d666744 --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/Deserialize.mustache @@ -0,0 +1,26 @@ +{{^abstract}} + /** + * Json deserializer for {@link {{className}}} + */ + public static final {{TYPES.Client.Json.JsonpDeserializer}}<{{className}}> _DESERIALIZER = {{TYPES.Client.Json.ObjectBuilderDeserializer}}.lazy(Builder::new, {{className}}::setup{{className}}Deserializer); + + protected static void setup{{className}}Deserializer({{TYPES.Client.Json.ObjectDeserializer}}<{{type.builderType}}> op) { +{{/abstract}} +{{#abstract}} + protected static > void setup{{className}}Deserializer({{TYPES.Client.Json.ObjectDeserializer}} op) { +{{/abstract}} + {{#extendsOtherShape}} + {{extendsType}}.setup{{extendsType.name}}Deserializer(op); + {{/extendsOtherShape}} + {{#bodyFields}} + op.add({{#abstract}}Abstract{{/abstract}}Builder::{{name}}, {{#type}}{{>Type/deserializer}}{{/type}}, {{#quoted}}{{wireName}}{{/quoted}}); + {{/bodyFields}} + {{#additionalPropertiesField}} + op.setUnknownFieldHandler((builder, name, parser, mapper) -> { + if (builder.{{name}} == null) { + builder.{{name}} = new {{TYPES.Java.Util.HashMap}}<>(); + } + builder.{{name}}.put(name, {{#type.mapValueType}}{{>Type/deserializer}}{{/type.mapValueType}}.deserialize(parser, mapper)); + }); + {{/additionalPropertiesField}} + } \ No newline at end of file diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/Basic.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/Basic.mustache new file mode 100644 index 0000000000..cd2f155d34 --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/Basic.mustache @@ -0,0 +1,3 @@ +/** +{{>ObjectShape/FieldDoc/BasicInner}} +*/ \ No newline at end of file diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/BasicInner.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/BasicInner.mustache new file mode 100644 index 0000000000..76f88b51f5 --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/BasicInner.mustache @@ -0,0 +1,8 @@ +{{^isAdditionalProperties}} +* {{#required}}Required - {{/required}}{{#description}}{{.}}

{{/description}}API name: {@code {{wireName}}}{{#description}}

{{/description}} +{{/isAdditionalProperties}} +{{#isAdditionalProperties}} +{{#description}} +* {{.}} +{{/description}} +{{/isAdditionalProperties}} diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/ListAdd.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/ListAdd.mustache new file mode 100644 index 0000000000..d8720ba088 --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/ListAdd.mustache @@ -0,0 +1,5 @@ +/** +{{>ObjectShape/FieldDoc/BasicInner}} + +*

Adds one or more values to {{name}}.

+*/ \ No newline at end of file diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/ListAddAll.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/ListAddAll.mustache new file mode 100644 index 0000000000..2894d9549d --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/ListAddAll.mustache @@ -0,0 +1,5 @@ +/** +{{>ObjectShape/FieldDoc/BasicInner}} + +*

Adds all elements of list to {{name}}.

+*/ \ No newline at end of file diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/ListAddBuilderFn.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/ListAddBuilderFn.mustache new file mode 100644 index 0000000000..867d0eca28 --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/ListAddBuilderFn.mustache @@ -0,0 +1,5 @@ +/** +{{>ObjectShape/FieldDoc/BasicInner}} + +*

Adds a value to {{name}} using a builder lambda.

+*/ \ No newline at end of file diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/MapAdd.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/MapAdd.mustache new file mode 100644 index 0000000000..a6cc4e3a25 --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/MapAdd.mustache @@ -0,0 +1,5 @@ +/** +{{>ObjectShape/FieldDoc/BasicInner}} + +*

Adds an entry to {{name}}.

+*/ \ No newline at end of file diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/MapAddAll.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/MapAddAll.mustache new file mode 100644 index 0000000000..2d457b87df --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/MapAddAll.mustache @@ -0,0 +1,5 @@ +/** +{{>ObjectShape/FieldDoc/BasicInner}} + +*

Adds all elements of map to {{name}}.

+*/ \ No newline at end of file diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/MapAddBuilderFn.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/MapAddBuilderFn.mustache new file mode 100644 index 0000000000..867d0eca28 --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/FieldDoc/MapAddBuilderFn.mustache @@ -0,0 +1,5 @@ +/** +{{>ObjectShape/FieldDoc/BasicInner}} + +*

Adds a value to {{name}} using a builder lambda.

+*/ \ No newline at end of file diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/Fields.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/Fields.mustache new file mode 100644 index 0000000000..bd320a391b --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/Fields.mustache @@ -0,0 +1,12 @@ +{{#fields}} +{{^-first}} + +{{/-first}} + {{#deprecation}}@Deprecated{{/deprecation}} +{{^required}} +{{^type.isListOrMap}} + @{{TYPES.Javax.Annotation.Nullable}} +{{/type.isListOrMap}} +{{/required}} + private final {{type}} {{name}}; +{{/fields}} diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/Getters.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/Getters.mustache new file mode 100644 index 0000000000..61fea36e57 --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/Getters.mustache @@ -0,0 +1,13 @@ +{{#fields}} + + {{>ObjectShape/FieldDoc/Basic}} + {{#deprecation}}@Deprecated{{/deprecation}} + {{^required}} + {{^type.isListOrMap}} + @{{TYPES.Javax.Annotation.Nullable}} + {{/type.isListOrMap}} + {{/required}} + public final {{type}} {{name}}() { + return this.{{name}}; + } +{{/fields}} diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/Serialize.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/Serialize.mustache new file mode 100644 index 0000000000..e40f75049e --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/ObjectShape/Serialize.mustache @@ -0,0 +1,33 @@ +{{^extendsOtherShape}} + /** + * Serialize this object to JSON. + */ + @Override + public void serialize({{TYPES.Jakarta.Json.Stream.JsonGenerator}} generator, {{TYPES.Client.Json.JsonpMapper}} mapper) { + generator.writeStartObject(); + serializeInternal(generator, mapper); + generator.writeEnd(); + } + +{{/extendsOtherShape}} + protected void serializeInternal({{TYPES.Jakarta.Json.Stream.JsonGenerator}} generator, {{TYPES.Client.Json.JsonpMapper}} mapper) { +{{#extendsOtherShape}} + super.serializeInternal(generator, mapper); +{{/extendsOtherShape}} +{{#additionalPropertiesField}} + {{#type.directSerializer}}this.{{name}}{{/type.directSerializer}} +{{/additionalPropertiesField}} +{{#bodyFields}} +{{^required}} + if ({{#type.isDefined}}this.{{name}}{{/type.isDefined}}) { +{{/required}} + generator.writeKey({{#quoted}}{{wireName}}{{/quoted}}); + {{#type.serializer}}this.{{name}}{{/type.serializer}} +{{^required}} + } +{{/required}} +{{^-last}} + +{{/-last}} +{{/bodyFields}} + } \ No newline at end of file diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Partials/ClassDeclaration.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Partials/ClassDeclaration.mustache new file mode 100644 index 0000000000..5fa66eb9ee --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Partials/ClassDeclaration.mustache @@ -0,0 +1,14 @@ +{{#typedefName}} +// typedef: {{.}} + +{{/typedefName}} +{{#description}} +/** +* {{.}} +*/ +{{/description}} +{{#annotations}} +@{{.}} +{{/annotations}} +@{{TYPES.Javax.Annotation.Generated}}("org.opensearch.client.codegen.CodeGenerator") +public {{#abstract}}abstract {{/abstract}}{{classKind}} {{className}}{{#typeParameters}}{{.}}{{/typeParameters}}{{#extendsType}} extends {{.}}{{/extendsType}}{{#implementsTypes}}{{#-first}} implements{{/-first}} {{.}}{{^-last}},{{/-last}}{{/implementsTypes}} diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Partials/ClassHeader.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Partials/ClassHeader.mustache new file mode 100644 index 0000000000..04f604493e --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Partials/ClassHeader.mustache @@ -0,0 +1,43 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ +{{#needsLegacyLicense}} + +/* + * 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. + */ + +/* + * Modifications Copyright OpenSearch Contributors. See + * GitHub history for details. + */ +{{/needsLegacyLicense}} + +//---------------------------------------------------- +// THIS CODE IS GENERATED. MANUAL EDITS WILL BE LOST. +//---------------------------------------------------- + +package {{packageName}}; + +{{#imports}} +import {{.}}; +{{/imports}} \ No newline at end of file diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/RequestShape.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/RequestShape.mustache new file mode 100644 index 0000000000..73c0960fea --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/RequestShape.mustache @@ -0,0 +1,99 @@ +{{>Partials/ClassDeclaration}} { + {{#canBeSingleton}} + public {{className}}() {} + + /** + * Singleton instance for {@link {{className}}}. + */ + public static final {{className}} _INSTANCE = new {{className}}(); + {{/canBeSingleton}} + {{^canBeSingleton}} + {{>ObjectShape/Fields}} + + // --------------------------------------------------------------------------------------------- + + {{>ObjectShape/Constructor}} + + {{>ObjectShape/Getters}} + + {{#hasRequestBody}} + {{>ObjectShape/Serialize}} + {{/hasRequestBody}} + + // --------------------------------------------------------------------------------------------- + + {{>ObjectShape/Builder}} + {{#hasRequestBody}} + + // --------------------------------------------------------------------------------------------- + + {{>ObjectShape/Deserialize}}{{/hasRequestBody}} + {{/canBeSingleton}} + + // --------------------------------------------------------------------------------------------- + + /** + * Endpoint "{@code {{operationGroup}}}". + */ + public static final {{TYPES.Client.Transport.Endpoint}}<{{className}}, {{responseType}}, {{TYPES.Client.OpenSearch._Types.ErrorResponse}}> _ENDPOINT = new {{TYPES.Client.Transport.Endpoints.SimpleEndpoint}}<>( + // Request method + request -> {{#quoted}}{{httpMethod}}{{/quoted}}, + // Request path + request -> + {{#hasSinglePath}} + {{#firstPath}} + {{#hasParams}} + { + {{>RequestShape/HttpPathBuilder}} + } + {{/hasParams}} + {{^hasParams}} + {{#quoted}}{{this}}{{/quoted}} + {{/hasParams}} + {{/firstPath}} + {{/hasSinglePath}} + {{^hasSinglePath}} + { + {{#indexedPathParams}} + final int _{{left}} = 1 << {{right}}; + {{/indexedPathParams}} + + int propsSet = 0; + + {{#pathParams}} + {{^required}}if ({{#type.isDefined}}request.{{name}}(){{/type.isDefined}}) {{/required}}propsSet |= _{{name}}; + {{/pathParams}} + + {{#httpPaths}} + if (propsSet == {{#hasParams}}({{#params}}{{^-first}} | {{/-first}}_{{name}}{{/params}}){{/hasParams}}{{^hasParams}}0{{/hasParams}}) { + {{>RequestShape/HttpPathBuilder}} + } + {{/httpPaths}} + + throw {{TYPES.Client.Transport.Endpoints.SimpleEndpoint}}.noPathTemplateFound("path"); + } + {{/hasSinglePath}}, + // Request parameters + {{#hasQueryParams}} + request -> { + {{TYPES.Java.Util.Map}} params = new {{TYPES.Java.Util.HashMap}}<>(); + {{#queryParams}} + {{^required}} + if ({{#type.isDefined}}request.{{name}}{{/type.isDefined}}) { + {{/required}} + params.put({{#quoted}}{{wireName}}{{/quoted}}, {{#type.queryParamify}}request.{{name}}{{/type.queryParamify}}); + {{^required}} + } + {{/required}} + {{/queryParams}} + return params; + }, + {{/hasQueryParams}} + {{^hasQueryParams}} + {{TYPES.Client.Transport.Endpoints.SimpleEndpoint}}.emptyMap(), + {{/hasQueryParams}} + {{TYPES.Client.Transport.Endpoints.SimpleEndpoint}}.emptyMap(), + {{hasRequestBody}}, + {{responseType}}._DESERIALIZER + ); +} \ No newline at end of file diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/RequestShape/HttpPathBuilder.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/RequestShape/HttpPathBuilder.mustache new file mode 100644 index 0000000000..e23db5a3ff --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/RequestShape/HttpPathBuilder.mustache @@ -0,0 +1,15 @@ +{{#hasParams}} + StringBuilder buf = new StringBuilder(); + {{#parts}} + {{#isParameter}} + SimpleEndpoint.pathEncode({{#parameter.type.queryParamify}}request.{{parameter.name}}{{/parameter.type.queryParamify}}, buf); + {{/isParameter}} + {{^isParameter}} + buf.append({{#quoted}}{{content}}{{/quoted}}); + {{/isParameter}} + {{/parts}} + return buf.toString(); +{{/hasParams}} +{{^hasParams}} + return {{#quoted}}{{this}}{{/quoted}}; +{{/hasParams}} \ No newline at end of file diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/TaggedUnionShape.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/TaggedUnionShape.mustache new file mode 100644 index 0000000000..65bb3b6360 --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/TaggedUnionShape.mustache @@ -0,0 +1,114 @@ +{{>Partials/ClassDeclaration}} { + public enum Kind { + {{#variants}}{{#pascalCase}}{{name}}{{/pascalCase}}{{^-last}},{{/-last}}{{/variants}} + } + + private final Kind _kind; + private final Object _value; + + @Override + public final Kind _kind() { + return _kind; + } + + @Override + public final Object _get() { + return _value; + } + + private {{className}}(Kind kind, Object value) { + this._kind = kind; + this._value = value; + } + + private {{className}}(Builder builder) { + this._kind = {{TYPES.Client.Util.ApiTypeHelper}}.requireNonNull(builder._kind, builder, ""); + this._value = {{TYPES.Client.Util.ApiTypeHelper}}.requireNonNull(builder._value, builder, ""); + } + + public static {{className}} of({{type.builderFnType}} fn) { + return fn.apply(new Builder()).build(); + } + +{{#false}} + public String _toJsonString() { + switch (_kind) { + {{#variants}} + case {{#pascalCase}}{{name}}{{/pascalCase}}: + return {{#type.queryParamify}}this.{{name}}(){{/type.queryParamify}}; + {{/variants}} + default: + throw new IllegalStateException("Unknown kind " + _kind); + } + } + +{{/false}} + {{#variants}} + /** + * Is this variant instance of kind {@code {{name}}}? + */ + public boolean is{{#pascalCase}}{{name}}{{/pascalCase}}() { + return _kind == Kind.{{#pascalCase}}{{name}}{{/pascalCase}}; + } + + /** + * Get the {@code {{name}}} variant value. + * + * @throws IllegalStateException if the current variant is not the {@code {{name}}} kind. + */ + public {{type}} {{name}}() { + return {{TYPES.Client.Util.TaggedUnionUtils}}.get(this, Kind.{{#pascalCase}}{{name}}{{/pascalCase}}); + } + + {{/variants}} + + @Override + public void serialize({{TYPES.Jakarta.Json.Stream.JsonGenerator}} generator, {{TYPES.Client.Json.JsonpMapper}} mapper) { + if (_value instanceof {{TYPES.Client.Json.JsonpSerializable}}) { + (({{TYPES.Client.Json.JsonpSerializable}}) _value).serialize(generator, mapper); + }{{#primitiveVariants}}{{#-first}} else { + switch (_kind) { + {{/-first}} + case {{#pascalCase}}{{name}}{{/pascalCase}}: + {{#type.serializer}}(({{type}}) this._value){{/type.serializer}} + break; + {{#-last}} + } + } + {{/-last}} + {{/primitiveVariants}} + } + + public static class Builder extends {{TYPES.Client.Util.ObjectBuilderBase}} implements {{TYPES.Client.Util.ObjectBuilder}}<{{className}}> { + private Kind _kind; + private Object _value; + + {{#variants}} + public {{TYPES.Client.Util.ObjectBuilder}}<{{className}}> {{name}}({{type}} v) { + this._kind = Kind.{{#pascalCase}}{{name}}{{/pascalCase}}; + this._value = v; + return this; + } + {{#type.hasBuilder}} + + public {{TYPES.Client.Util.ObjectBuilder}}<{{className}}> {{name}}({{type.builderFnType}} fn) { + return this.{{name}}(fn.apply(new {{type.builderType}}()).build()); + } + {{/type.hasBuilder}} + + {{/variants}} + @Override + public {{className}} build() { + _checkSingleUse(); + return new {{className}}(this); + } + } + + private static {{TYPES.Client.Json.JsonpDeserializer}}<{{className}}> build{{className}}Deserializer() { + return new {{TYPES.Client.Json.UnionDeserializer.builderType}}<{{className}}, Kind, Object>({{className}}::new, false) + {{#variants}}.addMember(Kind.{{#pascalCase}}{{name}}{{/pascalCase}}, {{#type}}{{>Type/deserializer}}{{/type}}){{/variants}} + .build(); + } + + public static final {{TYPES.Client.Json.JsonpDeserializer}}<{{className}}> _DESERIALIZER = {{TYPES.Client.Json.JsonpDeserializer}}.lazy({{className}}::build{{className}}Deserializer); +} diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Type/deserializer.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Type/deserializer.mustache new file mode 100644 index 0000000000..61fb38b72b --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Type/deserializer.mustache @@ -0,0 +1,14 @@ +{{#isPrimitive}} + {{TYPES.Client.Json.JsonpDeserializer}}.{{#toLower}}{{boxed.name}}{{/toLower}}Deserializer() +{{/isPrimitive}} +{{^isPrimitive}} + {{#isList}} + {{TYPES.Client.Json.JsonpDeserializer}}.arrayDeserializer({{#listValueType}}{{>Type/deserializer}}{{/listValueType}}) + {{/isList}} + {{#isMap}} + {{TYPES.Client.Json.JsonpDeserializer}}.stringMapDeserializer({{#mapValueType}}{{>Type/deserializer}}{{/mapValueType}}) + {{/isMap}} + {{^isListOrMap}} + {{name}}._DESERIALIZER + {{/isListOrMap}} +{{/isPrimitive}} \ No newline at end of file diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Type/directSerializer.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Type/directSerializer.mustache new file mode 100644 index 0000000000..66ba3e4dd6 --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Type/directSerializer.mustache @@ -0,0 +1,19 @@ +{{#type.isMap}} + for ({{type.mapEntryType}} item{{depth}} : {{value}}.entrySet()) { + generator.writeKey(item{{depth}}.getKey()); + {{#type.mapValueType.serializer}}item{{depth}}.getValue(){{/type.mapValueType.serializer}} + } +{{/type.isMap}} +{{#type.isList}} + for ({{type.listValueType}} item{{depth}} : {{value}}) { + {{#type.listValueType.serializer}}item{{depth}}{{/type.listValueType.serializer}} + } +{{/type.isList}} +{{^type.isListOrMap}} + {{#type.isPrimitive}} + generator.write({{value}}); + {{/type.isPrimitive}} + {{^type.isPrimitive}} + {{value}}.serialize(generator, mapper); + {{/type.isPrimitive}} +{{/type.isListOrMap}} \ No newline at end of file diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Type/isDefined.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Type/isDefined.mustache new file mode 100644 index 0000000000..f000d39991 --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Type/isDefined.mustache @@ -0,0 +1,6 @@ +{{#type.isListOrMap}} +{{TYPES.Client.Util.ApiTypeHelper}}.isDefined({{value}}) +{{/type.isListOrMap}} +{{^type.isListOrMap}} +{{value}} != null +{{/type.isListOrMap}} \ No newline at end of file diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Type/queryParamify.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Type/queryParamify.mustache new file mode 100644 index 0000000000..1abc099c55 --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Type/queryParamify.mustache @@ -0,0 +1,29 @@ +{{#type.isString}} + {{value}} +{{/type.isString}} +{{^type.isString}} + {{#type.isEnum}} + {{value}}.jsonValue() + {{/type.isEnum}} + {{^type.isEnum}} + {{#type.isPrimitive}} + String.valueOf({{value}}) + {{/type.isPrimitive}} + {{^type.isPrimitive}} + {{#type.isList}} + {{#type.listValueType.isString}} + String.join(",", {{value}}) + {{/type.listValueType.isString}} + {{^type.listValueType.isString}} + {{value}} + .stream() + .map(v -> {{#type.listValueType.queryParamify}}v{{/type.listValueType.queryParamify}}) + .collect({{TYPES.Java.Util.Stream.Collectors}}.joining(",")) + {{/type.listValueType.isString}} + {{/type.isList}} + {{^type.isList}} + {{value}}._toJsonString() + {{/type.isList}} + {{/type.isPrimitive}} + {{/type.isEnum}} +{{/type.isString}} diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Type/serializer.mustache b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Type/serializer.mustache new file mode 100644 index 0000000000..d72fbd95be --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/templates/Type/serializer.mustache @@ -0,0 +1,13 @@ +{{#type.isMap}} + generator.writeStartObject(); +{{/type.isMap}} +{{#type.isList}} + generator.writeStartArray(); +{{/type.isList}} +{{>Type/directSerializer}} +{{#type.isMap}} + generator.writeEnd(); +{{/type.isMap}} +{{#type.isList}} + generator.writeEnd(); +{{/type.isList}} \ No newline at end of file diff --git a/java-codegen/src/main/resources/org/opensearch/client/codegen/version.properties b/java-codegen/src/main/resources/org/opensearch/client/codegen/version.properties new file mode 100644 index 0000000000..0ff7450868 --- /dev/null +++ b/java-codegen/src/main/resources/org/opensearch/client/codegen/version.properties @@ -0,0 +1,10 @@ +# +# SPDX-License-Identifier: Apache-2.0 +# +# The OpenSearch Contributors require contributions made to +# this file be licensed under the Apache-2.0 license or a +# compatible open source license. +# + +version=${version} +git_revision=${git_revision} diff --git a/java-codegen/src/test/java/org/opensearch/client/codegen/utils/FunctionalTests.java b/java-codegen/src/test/java/org/opensearch/client/codegen/utils/FunctionalTests.java new file mode 100644 index 0000000000..24bf4f49e9 --- /dev/null +++ b/java-codegen/src/test/java/org/opensearch/client/codegen/utils/FunctionalTests.java @@ -0,0 +1,27 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.utils; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; + +import org.junit.jupiter.api.Test; + +public class FunctionalTests { + @Test + public void ifNonnull_withNullValue_shouldReturnNull() { + assertNull(Functional.ifNonnull((String) null, Integer::parseInt)); + } + + @Test + public void ifNonnull_withNonNullValue_shouldReturnMappedValue() { + var mapped = Functional.ifNonnull("18", Integer::parseInt); + assertEquals(18, mapped); + } +} diff --git a/java-codegen/src/test/java/org/opensearch/client/codegen/utils/ListsTests.java b/java-codegen/src/test/java/org/opensearch/client/codegen/utils/ListsTests.java new file mode 100644 index 0000000000..6c5174cf2d --- /dev/null +++ b/java-codegen/src/test/java/org/opensearch/client/codegen/utils/ListsTests.java @@ -0,0 +1,54 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.utils; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrowsExactly; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.ArrayList; +import java.util.List; +import org.junit.jupiter.api.Test; + +public class ListsTests { + @Test + public void unmodifiableOpt_withNullList_shouldReturnEmptyOptional() { + assertTrue(Lists.unmodifiableOpt(null).isEmpty()); + } + + @Test + public void unmodifiableOpt_withNonNullList_shouldReturnUnmodifiableList() { + var opt = Lists.unmodifiableOpt(new ArrayList() { + { + add("foobar"); + } + }); + assertTrue(opt.isPresent()); + var list = opt.get(); + assertEquals(1, list.size()); + assertEquals("foobar", list.get(0)); + assertEquals("java.util.Collections$UnmodifiableRandomAccessList", list.getClass().getName()); + assertThrowsExactly(UnsupportedOperationException.class, () -> list.add("hello world")); + } + + @Test + public void map_shouldMapIntoNewList() { + var input = new ArrayList<>() { + { + add("foobar"); + add("hello world"); + } + }; + + var output = Lists.map(input, (i, v) -> i + "-" + v); + + assertEquals(List.of("foobar", "hello world"), input); + assertEquals(List.of("0-foobar", "1-hello world"), output); + } +} diff --git a/java-codegen/src/test/java/org/opensearch/client/codegen/utils/MapsTests.java b/java-codegen/src/test/java/org/opensearch/client/codegen/utils/MapsTests.java new file mode 100644 index 0000000000..19ff63292a --- /dev/null +++ b/java-codegen/src/test/java/org/opensearch/client/codegen/utils/MapsTests.java @@ -0,0 +1,54 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.utils; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrowsExactly; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.HashMap; +import java.util.Map; +import org.junit.jupiter.api.Test; + +public class MapsTests { + @Test + public void unmodifiableOpt_withNullMap_shouldReturnEmptyOptional() { + assertTrue(Maps.unmodifiableOpt(null).isEmpty()); + } + + @Test + public void unmodifiableOpt_withNonNullMap_shouldReturnUnmodifiableMap() { + var opt = Maps.unmodifiableOpt(new HashMap() { + { + put("foo", "bar"); + } + }); + assertTrue(opt.isPresent()); + var map = opt.get(); + assertEquals(1, map.size()); + assertEquals("bar", map.get("foo")); + assertEquals("java.util.Collections$UnmodifiableMap", map.getClass().getName()); + assertThrowsExactly(UnsupportedOperationException.class, () -> map.put("hello", "world")); + } + + @Test + public void transform_shouldTransformIntoNewMap() { + var input = new HashMap<>() { + { + put("foo", "bar"); + put("hello", "world"); + } + }; + + var output = Maps.transform(input, (k, v) -> v, (k, v) -> k + "-" + v); + + assertEquals(Map.of("foo", "bar", "hello", "world"), input); + assertEquals(Map.of("bar", "foo-bar", "world", "hello-world"), output); + } +} diff --git a/java-codegen/src/test/java/org/opensearch/client/codegen/utils/MavenArtifactResolverTests.java b/java-codegen/src/test/java/org/opensearch/client/codegen/utils/MavenArtifactResolverTests.java new file mode 100644 index 0000000000..5c976b053e --- /dev/null +++ b/java-codegen/src/test/java/org/opensearch/client/codegen/utils/MavenArtifactResolverTests.java @@ -0,0 +1,51 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.utils; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.util.Arrays; +import java.util.Collections; +import java.util.stream.Collectors; +import java.util.stream.Stream; +import org.apache.commons.codec.digest.DigestUtils; +import org.junit.jupiter.api.Test; + +public class MavenArtifactResolverTests { + @Test + public void resolves() throws IOException { + // https://repo.maven.apache.org/maven2/com/google/code/findbugs/jsr305/3.0.2/ + final var group = "com.google.code.findbugs"; + final var name = "jsr305"; + final var version = "3.0.2"; + final var md5Sum = "dd83accb899363c32b07d7a1b2e4ce40"; + final var fileSize = 19936; + + final var coordinates = group + ":" + name + ":" + version; + final var fileSubPath = Stream.concat(Arrays.stream(group.split("\\.")), Stream.of(name, version, name + "-" + version + ".jar")) + .collect(Collectors.joining(File.separator)); + + var files = MavenArtifactResolver.createDefault().resolve(false, Collections.singleton(coordinates)); + assertEquals(1, files.size()); + + var file = files.iterator().next(); + + assertTrue(file.getAbsolutePath().endsWith(fileSubPath)); + assertTrue(file.exists()); + assertEquals(fileSize, file.length()); + + try (var is = new FileInputStream(file)) { + assertEquals(md5Sum, DigestUtils.md5Hex(is)); + } + } +} diff --git a/java-codegen/src/test/java/org/opensearch/client/codegen/utils/SetsTests.java b/java-codegen/src/test/java/org/opensearch/client/codegen/utils/SetsTests.java new file mode 100644 index 0000000000..026c00b1fc --- /dev/null +++ b/java-codegen/src/test/java/org/opensearch/client/codegen/utils/SetsTests.java @@ -0,0 +1,35 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.utils; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertThrowsExactly; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import java.util.HashSet; +import java.util.List; +import org.junit.jupiter.api.Test; + +public class SetsTests { + @Test + public void unmodifiableOpt_withNullSet_shouldReturnEmptyOptional() { + assertTrue(Sets.unmodifiableOpt(null).isEmpty()); + } + + @Test + public void unmodifiableOpt_withNonNullSet_shouldReturnUnmodifiableSet() { + var opt = Sets.unmodifiableOpt(new HashSet<>(List.of("foobar"))); + assertTrue(opt.isPresent()); + var set = opt.get(); + assertEquals(1, set.size()); + assertEquals("foobar", set.iterator().next()); + assertEquals("java.util.Collections$UnmodifiableSet", set.getClass().getName()); + assertThrowsExactly(UnsupportedOperationException.class, () -> set.add("hello world")); + } +} diff --git a/java-codegen/src/test/java/org/opensearch/client/codegen/utils/StreamsTests.java b/java-codegen/src/test/java/org/opensearch/client/codegen/utils/StreamsTests.java new file mode 100644 index 0000000000..67df3194ab --- /dev/null +++ b/java-codegen/src/test/java/org/opensearch/client/codegen/utils/StreamsTests.java @@ -0,0 +1,33 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.utils; + +import static org.junit.jupiter.api.Assertions.assertArrayEquals; + +import java.util.HashMap; +import java.util.stream.Stream; +import org.junit.jupiter.api.Test; + +public class StreamsTests { + @Test + public void sortedBy() { + var stream = Stream.of("a", "b", "c", "d", "e"); + var ordering = new HashMap() { + { + put("c", 1); + put("e", 2); + put("a", 3); + put("d", 4); + put("b", 5); + } + }; + var output = Streams.sortedBy(stream, ordering::get).toArray(String[]::new); + assertArrayEquals(new String[] { "c", "e", "a", "d", "b" }, output); + } +} diff --git a/java-codegen/src/test/java/org/opensearch/client/codegen/utils/StringsTests.java b/java-codegen/src/test/java/org/opensearch/client/codegen/utils/StringsTests.java new file mode 100644 index 0000000000..806374333b --- /dev/null +++ b/java-codegen/src/test/java/org/opensearch/client/codegen/utils/StringsTests.java @@ -0,0 +1,114 @@ +/* + * SPDX-License-Identifier: Apache-2.0 + * + * The OpenSearch Contributors require contributions made to + * this file be licensed under the Apache-2.0 license or a + * compatible open source license. + */ + +package org.opensearch.client.codegen.utils; + +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertFalse; +import static org.junit.jupiter.api.Assertions.assertThrowsExactly; +import static org.junit.jupiter.api.Assertions.assertTrue; + +import org.junit.jupiter.params.ParameterizedTest; +import org.junit.jupiter.params.provider.CsvSource; +import org.junit.jupiter.params.provider.NullSource; +import org.junit.jupiter.params.provider.ValueSource; + +public class StringsTests { + @ParameterizedTest(name = "[{index}] \"{0}\" is a null or empty string") + @NullSource + @ValueSource(strings = { "" }) + public void isNullOrEmpty_withNullOrEmptyInput_shouldBeTrue(String input) { + assertTrue(Strings.isNullOrEmpty(input)); + } + + @ParameterizedTest(name = "[{index}] \"{0}\" is not an empty string") + @ValueSource(strings = { " ", " ", "\n", "foo", "bar", "baz" }) + public void isNullOrEmpty_withNonEmptyInput_shouldBeFalse(String input) { + assertFalse(Strings.isNullOrEmpty(input)); + } + + @ParameterizedTest(name = "[{index}] \"{0}\" is a null or blank string") + @NullSource + @ValueSource(strings = { "", " ", " ", "\n" }) + public void isNullOrBlank_withNullOrBlankInput_shouldBeTrue(String input) { + assertTrue(Strings.isNullOrBlank(input)); + } + + @ParameterizedTest(name = "[{index}] \"{0}\" is not a blank string") + @ValueSource(strings = { "foo", "bar", "baz" }) + public void isNullOrBlank_withNonBlankInput_shouldBeFalse(String input) { + assertFalse(Strings.isNullOrBlank(input)); + } + + @ParameterizedTest(name = "[{index}] \"{0}\" is a disallowed blank string") + @NullSource + @ValueSource(strings = { "", " ", " ", "\n" }) + public void requireNonBlank_withNullOrBlankInput_shouldThrowException(String input) { + var message = "input `" + input + "` must not be blank"; + assertThrowsExactly(IllegalArgumentException.class, () -> Strings.requireNonBlank(input, message), message); + } + + @ParameterizedTest(name = "[{index}] \"{0}\" is not a blank string") + @ValueSource(strings = { "foo", "bar", "baz" }) + public void requireNonBlank_withNonBlankInput_shouldPassThroughValue(String input) { + var output = assertDoesNotThrow(() -> Strings.requireNonBlank(input, "input must not be blank")); + assertEquals(input, output); + } + + @ParameterizedTest(name = "[{index}] \"{0}\" in snake case should be \"{1}\"") + @CsvSource({ + "camelCase, camel_case", + "PascalCase, pascal_case", + "snake_case, snake_case", + "SHOUTY_SNAKE, shouty_snake", + "kebab-case, kebab_case", + "SHOUTY-KEBAB, shouty_kebab", + "dot.separated, dot_separated", + "colon:separated, colon_separated", + "oneword, oneword", + "Spaced out, spaced_out" }) + public void toSnakeCase_shouldReturnSnakeCaseOfInput(String input, String expected) { + var output = Strings.toSnakeCase(input); + assertEquals(expected, output); + } + + @ParameterizedTest(name = "[{index}] \"{0}\" in camel case should be \"{1}\"") + @CsvSource({ + "camelCase, camelCase", + "PascalCase, pascalCase", + "snake_case, snakeCase", + "SHOUTY_SNAKE, shoutySnake", + "kebab-case, kebabCase", + "SHOUTY-KEBAB, shoutyKebab", + "dot.separated, dotSeparated", + "colon:separated, colonSeparated", + "oneword, oneword", + "Spaced out, spacedOut" }) + public void toCamelCase_shouldReturnCamelCaseOfInput(String input, String expected) { + var output = Strings.toCamelCase(input); + assertEquals(expected, output); + } + + @ParameterizedTest(name = "[{index}] \"{0}\" in pascal case should be \"{1}\"") + @CsvSource({ + "camelCase, CamelCase", + "PascalCase, PascalCase", + "snake_case, SnakeCase", + "SHOUTY_SNAKE, ShoutySnake", + "kebab-case, KebabCase", + "SHOUTY-KEBAB, ShoutyKebab", + "dot.separated, DotSeparated", + "colon:separated, ColonSeparated", + "oneword, Oneword", + "Spaced out, SpacedOut" }) + public void toPascalCase_shouldReturnPascalCaseOfInput(String input, String expected) { + var output = Strings.toPascalCase(input); + assertEquals(expected, output); + } +} diff --git a/settings.gradle.kts b/settings.gradle.kts index 9c04316123..ae27c7cf6c 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -36,4 +36,5 @@ plugins { rootProject.name = "opensearch-java" include("java-client") +include("java-codegen") include("samples")