1: <?php
2:
3: declare(strict_types=1);
4:
5: /**
6: * Copyright OpenSearch Contributors
7: * SPDX-License-Identifier: Apache-2.0
8: *
9: * OpenSearch PHP client
10: *
11: * @link https://github.com/opensearch-project/opensearch-php/
12: * @copyright Copyright (c) Elasticsearch B.V (https://www.elastic.co)
13: * @license http://www.apache.org/licenses/LICENSE-2.0 Apache License, Version 2.0
14: * @license https://www.gnu.org/licenses/lgpl-2.1.html GNU Lesser General Public License, Version 2.1
15: *
16: * Licensed to Elasticsearch B.V under one or more agreements.
17: * Elasticsearch B.V licenses this file to you under the Apache 2.0 License or
18: * the GNU Lesser General Public License, Version 2.1, at your option.
19: * See the LICENSE file in the project root for more information.
20: */
21:
22: namespace OpenSearch\Namespaces;
23:
24: use OpenSearch\Namespaces\AbstractNamespace;
25:
26: /**
27: * Class MonitoringNamespace
28: *
29: */
30: class MonitoringNamespace extends AbstractNamespace
31: {
32: /**
33: * $params['type'] = DEPRECATED (string) Default document type for items which don't provide one
34: * $params['system_id'] = (string) Identifier of the monitored system
35: * $params['system_api_version'] = (string) API Version of the monitored system
36: * $params['interval'] = (string) Collection interval (e.g., '10s' or '10000ms') of the payload
37: * $params['body'] = (array) The operation definition and data (action-data pairs), separated by newlines (Required)
38: *
39: * @param array $params Associative array of parameters
40: * @return array
41:
42: *
43: * @note This API is EXPERIMENTAL and may be changed or removed completely in a future release
44: *
45: */
46: public function bulk(array $params = [])
47: {
48: $type = $this->extractArgument($params, 'type');
49: $body = $this->extractArgument($params, 'body');
50:
51: $endpointBuilder = $this->endpoints;
52: $endpoint = $endpointBuilder('Monitoring\Bulk');
53: $endpoint->setParams($params);
54: $endpoint->setType($type);
55: $endpoint->setBody($body);
56:
57: return $this->performRequest($endpoint);
58: }
59: }
60: