Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated opensearch-php to reflect the latest OpenSearch API spec #213

Merged
merged 1 commit into from
Aug 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ Inspired from [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
### Removed
### Fixed
### Updated APIs
- Updated opensearch-php APIs to reflect [opensearch-api-specification@cb320b5](https://github.com/opensearch-project/opensearch-api-specification/commit/cb320b5482551c4f28afa26ff0d1653332699722)
### Security
### Dependencies

Expand Down
2 changes: 0 additions & 2 deletions samples/index.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,3 @@
$info = $client->info();

echo "{$info['version']['distribution']}: {$info['version']['number']}\n";

?>
42 changes: 42 additions & 0 deletions src/OpenSearch/Client.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,9 @@
use OpenSearch\Namespaces\MonitoringNamespace;
use OpenSearch\Namespaces\NodesNamespace;
use OpenSearch\Namespaces\NotificationsNamespace;
use OpenSearch\Namespaces\ObservabilityNamespace;
use OpenSearch\Namespaces\PplNamespace;
use OpenSearch\Namespaces\QueryNamespace;
use OpenSearch\Namespaces\RemoteStoreNamespace;
use OpenSearch\Namespaces\RollupsNamespace;
use OpenSearch\Namespaces\SearchPipelineNamespace;
Expand Down Expand Up @@ -138,6 +141,21 @@ class Client
*/
protected $notifications;

/**
* @var ObservabilityNamespace
*/
protected $observability;

/**
* @var PplNamespace
*/
protected $ppl;

/**
* @var QueryNamespace
*/
protected $query;

/**
* @var RemoteStoreNamespace
*/
Expand Down Expand Up @@ -212,6 +230,9 @@ public function __construct(Transport $transport, callable $endpoint, array $reg
$this->monitoring = new MonitoringNamespace($transport, $endpoint);
$this->nodes = new NodesNamespace($transport, $endpoint);
$this->notifications = new NotificationsNamespace($transport, $endpoint);
$this->observability = new ObservabilityNamespace($transport, $endpoint);
$this->ppl = new PplNamespace($transport, $endpoint);
$this->query = new QueryNamespace($transport, $endpoint);
$this->remoteStore = new RemoteStoreNamespace($transport, $endpoint);
$this->rollups = new RollupsNamespace($transport, $endpoint);
$this->searchPipeline = new SearchPipelineNamespace($transport, $endpoint);
Expand Down Expand Up @@ -1736,6 +1757,27 @@ public function notifications(): NotificationsNamespace
{
return $this->notifications;
}
/**
* Returns the observability namespace
*/
public function observability(): ObservabilityNamespace
{
return $this->observability;
}
/**
* Returns the ppl namespace
*/
public function ppl(): PplNamespace
{
return $this->ppl;
}
/**
* Returns the query namespace
*/
public function query(): QueryNamespace
{
return $this->query;
}
/**
* Returns the remoteStore namespace
*/
Expand Down
1 change: 1 addition & 0 deletions src/OpenSearch/Endpoints/Indices/Exists.php
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@ public function getParamWhitelist(): array
{
return [
'allow_no_indices',
'cluster_manager_timeout',
'expand_wildcards',
'flat_settings',
'ignore_unavailable',
Expand Down
22 changes: 10 additions & 12 deletions src/OpenSearch/Endpoints/Indices/PutAlias.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@

namespace OpenSearch\Endpoints\Indices;

use OpenSearch\Common\Exceptions\RuntimeException;
use OpenSearch\Endpoints\AbstractEndpoint;

/**
Expand All @@ -33,19 +32,18 @@ class PutAlias extends AbstractEndpoint

public function getURI(): string
{
if (isset($this->index) !== true) {
throw new RuntimeException(
'index is required for put_alias'
);
$name = $this->name ?? null;
$index = $this->index ?? null;
if (isset($index) && isset($name)) {
return "/$index/_alias/$name";
}
$index = $this->index;
if (isset($this->name) !== true) {
throw new RuntimeException(
'name is required for put_alias'
);
if (isset($index)) {
return "/$index/_alias";
}
$name = $this->name;
return "/$index/_alias/$name";
if (isset($name)) {
return "/_alias/$name";
}
return "/_alias";
}

public function getParamWhitelist(): array
Expand Down
15 changes: 15 additions & 0 deletions src/OpenSearch/Endpoints/Nodes/Info.php
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,18 @@
*/
class Info extends AbstractEndpoint
{
protected $node_id_or_metric;
protected $metric;
protected $node_id;

public function getURI(): string
{
$node_id_or_metric = $this->node_id_or_metric ?? null;
$metric = $this->metric ?? null;
$node_id = $this->node_id ?? null;
if (isset($node_id_or_metric)) {
return "/_nodes/$node_id_or_metric";
}
if (isset($node_id) && isset($metric)) {
return "/_nodes/$node_id/$metric";
}
Expand Down Expand Up @@ -65,6 +70,16 @@ public function getMethod(): string
return 'GET';
}

public function setNodeIdOrMetric($node_id_or_metric): Info
{
if (isset($node_id_or_metric) !== true) {
return $this;
}
$this->node_id_or_metric = $node_id_or_metric;

return $this;
}

public function setMetric($metric): Info
{
if (isset($metric) !== true) {
Expand Down
55 changes: 55 additions & 0 deletions src/OpenSearch/Endpoints/Observability/CreateObject.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<?php

declare(strict_types=1);

/**
* 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.
*/

namespace OpenSearch\Endpoints\Observability;

use OpenSearch\Endpoints\AbstractEndpoint;

/**
* NOTE: This file is autogenerated using util/GenerateEndpoints.php
*/
class CreateObject extends AbstractEndpoint
{
public function getURI(): string
{
return "/_plugins/_observability/object";
}

public function getParamWhitelist(): array
{
return [
'pretty',
'human',
'error_trace',
'source',
'filter_path'
];
}

public function getMethod(): string
{
return 'POST';
}

public function setBody($body): CreateObject
{
if (isset($body) !== true) {
return $this;
}
$this->body = $body;

return $this;
}
}
62 changes: 62 additions & 0 deletions src/OpenSearch/Endpoints/Observability/DeleteObject.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<?php

declare(strict_types=1);

/**
* 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.
*/

namespace OpenSearch\Endpoints\Observability;

use OpenSearch\Common\Exceptions\RuntimeException;
use OpenSearch\Endpoints\AbstractEndpoint;

/**
* NOTE: This file is autogenerated using util/GenerateEndpoints.php
*/
class DeleteObject extends AbstractEndpoint
{
protected $object_id;

public function getURI(): string
{
$object_id = $this->object_id ?? null;
if (isset($object_id)) {
return "/_plugins/_observability/object/$object_id";
}
throw new RuntimeException('Missing parameter for the endpoint observability.delete_object');
}

public function getParamWhitelist(): array
{
return [
'pretty',
'human',
'error_trace',
'source',
'filter_path'
];
}

public function getMethod(): string
{
return 'DELETE';
}

public function setObjectId($object_id): DeleteObject
{
if (isset($object_id) !== true) {
return $this;
}
$this->object_id = $object_id;

return $this;
}
}
47 changes: 47 additions & 0 deletions src/OpenSearch/Endpoints/Observability/DeleteObjects.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<?php

declare(strict_types=1);

/**
* 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.
*/

namespace OpenSearch\Endpoints\Observability;

use OpenSearch\Endpoints\AbstractEndpoint;

/**
* NOTE: This file is autogenerated using util/GenerateEndpoints.php
*/
class DeleteObjects extends AbstractEndpoint
{
public function getURI(): string
{
return "/_plugins/_observability/object";
}

public function getParamWhitelist(): array
{
return [
'objectId',
'objectIdList',
'pretty',
'human',
'error_trace',
'source',
'filter_path'
];
}

public function getMethod(): string
{
return 'DELETE';
}
}
45 changes: 45 additions & 0 deletions src/OpenSearch/Endpoints/Observability/GetLocalstats.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<?php

declare(strict_types=1);

/**
* 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.
*/

namespace OpenSearch\Endpoints\Observability;

use OpenSearch\Endpoints\AbstractEndpoint;

/**
* NOTE: This file is autogenerated using util/GenerateEndpoints.php
*/
class GetLocalstats extends AbstractEndpoint
{
public function getURI(): string
{
return "/_plugins/_observability/_local/stats";
}

public function getParamWhitelist(): array
{
return [
'pretty',
'human',
'error_trace',
'source',
'filter_path'
];
}

public function getMethod(): string
{
return 'GET';
}
}
Loading
Loading