Search::Elasticsearch::Client::8_0::Role::API(3)

NAME
Search::Elasticsearch::Client::8_0::Role::API - This class contains the spec for the Elasticsearch APIs

VERSION
version 8.00

DESCRIPTION
All of the Elasticsearch APIs are defined in this role. The example given below is the definition for the "index()" in Search::Elasticsearch::Client::8_0::Direct method:

    'index' => {
        body   => { required => 1 },
        doc    => "docs-index_",
        method => "POST",
        parts  => { id => {}, index => {}, type => {} },
        paths  => [
            [   { id => 2, index => 0, type => 1 }, "{index}",
                "{type}",                           "{id}"
            ],
            [ { id    => 2, index => 0 }, "{index}", "_doc", "{id}" ],
            [ { index => 0, type  => 1 }, "{index}", "{type}" ],
            [ { index => 0 }, "{index}", "_doc" ],
        ],
        qs => {
            error_trace            => "boolean",
            filter_path            => "list",
            human                  => "boolean",
            if_primary_term        => "number",
            if_seq_no              => "number",
            op_type                => "enum",
            pipeline               => "string",
            refresh                => "enum",
            require_alias          => "boolean",
            routing                => "string",
            timeout                => "time",
            version                => "number",
            version_type           => "enum",
            wait_for_active_shards => "string",
        },
    }

These definitions can be used by different Search::Elasticsearch::Role::Client implementations to provide distinct user interfaces.

METHODS

  api()
    $defn = $api->api($name);

The only method in this class is the api() method which takes the name of the action and returns its definition. Actions in the "indices" or "cluster" namespace use the namespace as a prefix, eg:

    $defn = $e->api('indices.create');
    $defn = $e->api('cluster.node_stats');

SEE ALSO

•   Search::Elasticsearch::Role::API

•   Search::Elasticsearch::Client::8_0::Direct

AUTHOR
Enrico Zimuel <enrico.zimuel@elastic.co>

COPYRIGHT AND LICENSE
This software is Copyright (c) 2022 by Elasticsearch BV.

This is free software, licensed under:

  The Apache License, Version 2.0, January 2004