| 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\Endpoints\Cluster\AllocationExplain; |
| 25: | use OpenSearch\Endpoints\Cluster\DeleteComponentTemplate; |
| 26: | use OpenSearch\Endpoints\Cluster\DeleteDecommissionAwareness; |
| 27: | use OpenSearch\Endpoints\Cluster\DeleteVotingConfigExclusions; |
| 28: | use OpenSearch\Endpoints\Cluster\DeleteWeightedRouting; |
| 29: | use OpenSearch\Endpoints\Cluster\ExistsComponentTemplate; |
| 30: | use OpenSearch\Endpoints\Cluster\GetComponentTemplate; |
| 31: | use OpenSearch\Endpoints\Cluster\GetDecommissionAwareness; |
| 32: | use OpenSearch\Endpoints\Cluster\GetSettings; |
| 33: | use OpenSearch\Endpoints\Cluster\GetWeightedRouting; |
| 34: | use OpenSearch\Endpoints\Cluster\Health; |
| 35: | use OpenSearch\Endpoints\Cluster\PendingTasks; |
| 36: | use OpenSearch\Endpoints\Cluster\PostVotingConfigExclusions; |
| 37: | use OpenSearch\Endpoints\Cluster\PutComponentTemplate; |
| 38: | use OpenSearch\Endpoints\Cluster\PutDecommissionAwareness; |
| 39: | use OpenSearch\Endpoints\Cluster\PutSettings; |
| 40: | use OpenSearch\Endpoints\Cluster\PutWeightedRouting; |
| 41: | use OpenSearch\Endpoints\Cluster\RemoteInfo; |
| 42: | use OpenSearch\Endpoints\Cluster\Reroute; |
| 43: | use OpenSearch\Endpoints\Cluster\State; |
| 44: | use OpenSearch\Endpoints\Cluster\Stats; |
| 45: | |
| 46: | /** |
| 47: | * Class ClusterNamespace |
| 48: | * |
| 49: | * NOTE: This file is autogenerated using util/GenerateEndpoints.php |
| 50: | */ |
| 51: | class ClusterNamespace extends AbstractNamespace |
| 52: | { |
| 53: | /** |
| 54: | * Explains how shards are allocated in the current cluster and provides an explanation for why unassigned shards can't be allocated to a node. |
| 55: | * |
| 56: | * $params['include_disk_info'] = (boolean) When `true`, returns information about disk usage and shard sizes. (Default = false) |
| 57: | * $params['include_yes_decisions'] = (boolean) When `true`, returns any `YES` decisions in the allocation explanation. `YES` decisions indicate when a particular shard allocation attempt was successful for the given node. (Default = false) |
| 58: | * $params['pretty'] = (boolean) Whether to pretty-format the returned JSON response. (Default = false) |
| 59: | * $params['human'] = (boolean) Whether to return human-readable values for statistics. (Default = false) |
| 60: | * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false) |
| 61: | * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests. |
| 62: | * $params['filter_path'] = (any) A comma-separated list of filters used to filter the response. Use wildcards to match any field or part of a field's name. To exclude fields, use `-`. |
| 63: | * $params['body'] = (array) The index, shard, and primary flag for which to generate an explanation. Leave this empty to generate an explanation for the first unassigned shard. |
| 64: | * |
| 65: | * @param array $params Associative array of parameters |
| 66: | * @return array |
| 67: | */ |
| 68: | public function allocationExplain(array $params = []) |
| 69: | { |
| 70: | $body = $this->extractArgument($params, 'body'); |
| 71: | |
| 72: | $endpoint = $this->endpointFactory->getEndpoint(AllocationExplain::class); |
| 73: | $endpoint->setParams($params); |
| 74: | $endpoint->setBody($body); |
| 75: | |
| 76: | return $this->performRequest($endpoint); |
| 77: | } |
| 78: | |
| 79: | /** |
| 80: | * Deletes a component template. |
| 81: | * |
| 82: | * $params['name'] = (string) The name of the component template to delete. Supports wildcard (*) expressions. |
| 83: | * $params['cluster_manager_timeout'] = (string) The amount of time to wait for a response from the cluster manager node. For more information about supported time units, see [Common parameters](https://opensearch.org/docs/latest/api-reference/common-parameters/#time-units). |
| 84: | * $params['master_timeout'] = (string) |
| 85: | * $params['timeout'] = (string) |
| 86: | * $params['pretty'] = (boolean) Whether to pretty-format the returned JSON response. (Default = false) |
| 87: | * $params['human'] = (boolean) Whether to return human-readable values for statistics. (Default = false) |
| 88: | * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false) |
| 89: | * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests. |
| 90: | * $params['filter_path'] = (any) A comma-separated list of filters used to filter the response. Use wildcards to match any field or part of a field's name. To exclude fields, use `-`. |
| 91: | * |
| 92: | * @param array $params Associative array of parameters |
| 93: | * @return array |
| 94: | */ |
| 95: | public function deleteComponentTemplate(array $params = []) |
| 96: | { |
| 97: | $name = $this->extractArgument($params, 'name'); |
| 98: | |
| 99: | $endpoint = $this->endpointFactory->getEndpoint(DeleteComponentTemplate::class); |
| 100: | $endpoint->setParams($params); |
| 101: | $endpoint->setName($name); |
| 102: | |
| 103: | return $this->performRequest($endpoint); |
| 104: | } |
| 105: | |
| 106: | /** |
| 107: | * Recommissions a decommissioned zone. |
| 108: | * |
| 109: | * $params['pretty'] = (boolean) Whether to pretty-format the returned JSON response. (Default = false) |
| 110: | * $params['human'] = (boolean) Whether to return human-readable values for statistics. (Default = false) |
| 111: | * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false) |
| 112: | * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests. |
| 113: | * $params['filter_path'] = (any) A comma-separated list of filters used to filter the response. Use wildcards to match any field or part of a field's name. To exclude fields, use `-`. |
| 114: | * |
| 115: | * @param array $params Associative array of parameters |
| 116: | * @return array |
| 117: | */ |
| 118: | public function deleteDecommissionAwareness(array $params = []) |
| 119: | { |
| 120: | $endpoint = $this->endpointFactory->getEndpoint(DeleteDecommissionAwareness::class); |
| 121: | $endpoint->setParams($params); |
| 122: | |
| 123: | return $this->performRequest($endpoint); |
| 124: | } |
| 125: | |
| 126: | /** |
| 127: | * Clears any cluster voting configuration exclusions. |
| 128: | * |
| 129: | * $params['wait_for_removal'] = (boolean) Specifies whether to wait for all excluded nodes to be removed from thecluster before clearing the voting configuration exclusions list.When `true`, all excluded nodes are removed fromthe cluster before this API takes any action. When `false`, thevoting configuration exclusions list is cleared even if some excludednodes are still in the cluster. (Default = true) |
| 130: | * $params['pretty'] = (boolean) Whether to pretty-format the returned JSON response. (Default = false) |
| 131: | * $params['human'] = (boolean) Whether to return human-readable values for statistics. (Default = false) |
| 132: | * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false) |
| 133: | * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests. |
| 134: | * $params['filter_path'] = (any) A comma-separated list of filters used to filter the response. Use wildcards to match any field or part of a field's name. To exclude fields, use `-`. |
| 135: | * |
| 136: | * @param array $params Associative array of parameters |
| 137: | * @return array |
| 138: | */ |
| 139: | public function deleteVotingConfigExclusions(array $params = []) |
| 140: | { |
| 141: | $endpoint = $this->endpointFactory->getEndpoint(DeleteVotingConfigExclusions::class); |
| 142: | $endpoint->setParams($params); |
| 143: | |
| 144: | return $this->performRequest($endpoint); |
| 145: | } |
| 146: | |
| 147: | /** |
| 148: | * Delete weighted shard routing weights. |
| 149: | * |
| 150: | * $params['pretty'] = (boolean) Whether to pretty-format the returned JSON response. (Default = false) |
| 151: | * $params['human'] = (boolean) Whether to return human-readable values for statistics. (Default = false) |
| 152: | * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false) |
| 153: | * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests. |
| 154: | * $params['filter_path'] = (any) A comma-separated list of filters used to filter the response. Use wildcards to match any field or part of a field's name. To exclude fields, use `-`. |
| 155: | * |
| 156: | * @param array $params Associative array of parameters |
| 157: | * @return array |
| 158: | */ |
| 159: | public function deleteWeightedRouting(array $params = []) |
| 160: | { |
| 161: | $body = $this->extractArgument($params, 'body'); |
| 162: | |
| 163: | $endpoint = $this->endpointFactory->getEndpoint(DeleteWeightedRouting::class); |
| 164: | $endpoint->setParams($params); |
| 165: | $endpoint->setBody($body); |
| 166: | |
| 167: | return $this->performRequest($endpoint); |
| 168: | } |
| 169: | |
| 170: | /** |
| 171: | * Returns information about whether a particular component template exist. |
| 172: | * |
| 173: | * $params['name'] = (string) The name of the component template. Wildcard (*) expressions are supported. |
| 174: | * $params['cluster_manager_timeout'] = (string) The amount of time to wait for a response from the cluster manager node. For more information about supported time units, see [Common parameters](https://opensearch.org/docs/latest/api-reference/common-parameters/#time-units). |
| 175: | * $params['local'] = (boolean) When `true`, the request retrieves information from the local node only.When `false`, information is retrieved from the cluster manager node. (Default = false) |
| 176: | * $params['master_timeout'] = (string) |
| 177: | * $params['pretty'] = (boolean) Whether to pretty-format the returned JSON response. (Default = false) |
| 178: | * $params['human'] = (boolean) Whether to return human-readable values for statistics. (Default = false) |
| 179: | * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false) |
| 180: | * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests. |
| 181: | * $params['filter_path'] = (any) A comma-separated list of filters used to filter the response. Use wildcards to match any field or part of a field's name. To exclude fields, use `-`. |
| 182: | * |
| 183: | * @param array $params Associative array of parameters |
| 184: | * @return bool |
| 185: | */ |
| 186: | public function existsComponentTemplate(array $params = []): bool |
| 187: | { |
| 188: | $name = $this->extractArgument($params, 'name'); |
| 189: | |
| 190: | // Legacy option to manually make this verbose so we can check status code. |
| 191: | // @todo remove in 3.0.0 |
| 192: | $params['client']['verbose'] = true; |
| 193: | |
| 194: | $endpoint = $this->endpointFactory->getEndpoint(ExistsComponentTemplate::class); |
| 195: | $endpoint->setParams($params); |
| 196: | $endpoint->setName($name); |
| 197: | |
| 198: | return BooleanRequestWrapper::sendRequest($endpoint, $this->httpTransport); |
| 199: | } |
| 200: | |
| 201: | /** |
| 202: | * Returns one or more component templates. |
| 203: | * |
| 204: | * $params['name'] = (array) The name of the component template to retrieve. Wildcard (`*`) expressions are supported. |
| 205: | * $params['cluster_manager_timeout'] = (string) The amount of time to wait for a response from the cluster manager node. For more information about supported time units, see [Common parameters](https://opensearch.org/docs/latest/api-reference/common-parameters/#time-units). |
| 206: | * $params['flat_settings'] = (boolean) Whether to return settings in the flat form, which can improve readability, especially for heavily nested settings.For example, the flat form of `"cluster": { "max_shards_per_node": 500 }` is `"cluster.max_shards_per_node": "500"`. (Default = false) |
| 207: | * $params['local'] = (boolean) When `true`, the request retrieves information from the local node only.When `false`, information is retrieved from the cluster manager node. (Default = false) |
| 208: | * $params['master_timeout'] = (string) |
| 209: | * $params['pretty'] = (boolean) Whether to pretty-format the returned JSON response. (Default = false) |
| 210: | * $params['human'] = (boolean) Whether to return human-readable values for statistics. (Default = false) |
| 211: | * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false) |
| 212: | * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests. |
| 213: | * $params['filter_path'] = (any) A comma-separated list of filters used to filter the response. Use wildcards to match any field or part of a field's name. To exclude fields, use `-`. |
| 214: | * |
| 215: | * @param array $params Associative array of parameters |
| 216: | * @return array |
| 217: | */ |
| 218: | public function getComponentTemplate(array $params = []) |
| 219: | { |
| 220: | $name = $this->extractArgument($params, 'name'); |
| 221: | |
| 222: | $endpoint = $this->endpointFactory->getEndpoint(GetComponentTemplate::class); |
| 223: | $endpoint->setParams($params); |
| 224: | $endpoint->setName($name); |
| 225: | |
| 226: | return $this->performRequest($endpoint); |
| 227: | } |
| 228: | |
| 229: | /** |
| 230: | * Retrieves the decommission status for all zones. |
| 231: | * |
| 232: | * $params['awareness_attribute_name'] = (string) The name of the awareness attribute. |
| 233: | * $params['pretty'] = (boolean) Whether to pretty-format the returned JSON response. (Default = false) |
| 234: | * $params['human'] = (boolean) Whether to return human-readable values for statistics. (Default = false) |
| 235: | * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false) |
| 236: | * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests. |
| 237: | * $params['filter_path'] = (any) A comma-separated list of filters used to filter the response. Use wildcards to match any field or part of a field's name. To exclude fields, use `-`. |
| 238: | * |
| 239: | * @param array $params Associative array of parameters |
| 240: | * @return array |
| 241: | */ |
| 242: | public function getDecommissionAwareness(array $params = []) |
| 243: | { |
| 244: | $awareness_attribute_name = $this->extractArgument($params, 'awareness_attribute_name'); |
| 245: | |
| 246: | $endpoint = $this->endpointFactory->getEndpoint(GetDecommissionAwareness::class); |
| 247: | $endpoint->setParams($params); |
| 248: | $endpoint->setAwarenessAttributeName($awareness_attribute_name); |
| 249: | |
| 250: | return $this->performRequest($endpoint); |
| 251: | } |
| 252: | |
| 253: | /** |
| 254: | * Returns cluster settings. |
| 255: | * |
| 256: | * $params['cluster_manager_timeout'] = (string) The amount of time to wait for a response from the cluster manager node. For more information about supported time units, see [Common parameters](https://opensearch.org/docs/latest/api-reference/common-parameters/#time-units). |
| 257: | * $params['flat_settings'] = (boolean) Whether to return settings in the flat form, which can improve readability, especially for heavily nested settings.For example, the flat form of `"cluster": { "max_shards_per_node": 500 }` is `"cluster.max_shards_per_node": "500"`. (Default = false) |
| 258: | * $params['include_defaults'] = (boolean) When `true`, returns default cluster settings from the local node. (Default = false) |
| 259: | * $params['master_timeout'] = (string) |
| 260: | * $params['timeout'] = (string) |
| 261: | * $params['pretty'] = (boolean) Whether to pretty-format the returned JSON response. (Default = false) |
| 262: | * $params['human'] = (boolean) Whether to return human-readable values for statistics. (Default = false) |
| 263: | * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false) |
| 264: | * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests. |
| 265: | * $params['filter_path'] = (any) A comma-separated list of filters used to filter the response. Use wildcards to match any field or part of a field's name. To exclude fields, use `-`. |
| 266: | * |
| 267: | * @param array $params Associative array of parameters |
| 268: | * @return array |
| 269: | */ |
| 270: | public function getSettings(array $params = []) |
| 271: | { |
| 272: | $endpoint = $this->endpointFactory->getEndpoint(GetSettings::class); |
| 273: | $endpoint->setParams($params); |
| 274: | |
| 275: | return $this->performRequest($endpoint); |
| 276: | } |
| 277: | |
| 278: | /** |
| 279: | * Fetches weighted shard routing weights. |
| 280: | * |
| 281: | * $params['attribute'] = (string) The name of the awareness attribute. |
| 282: | * $params['pretty'] = (boolean) Whether to pretty-format the returned JSON response. (Default = false) |
| 283: | * $params['human'] = (boolean) Whether to return human-readable values for statistics. (Default = false) |
| 284: | * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false) |
| 285: | * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests. |
| 286: | * $params['filter_path'] = (any) A comma-separated list of filters used to filter the response. Use wildcards to match any field or part of a field's name. To exclude fields, use `-`. |
| 287: | * |
| 288: | * @param array $params Associative array of parameters |
| 289: | * @return array |
| 290: | */ |
| 291: | public function getWeightedRouting(array $params = []) |
| 292: | { |
| 293: | $attribute = $this->extractArgument($params, 'attribute'); |
| 294: | |
| 295: | $endpoint = $this->endpointFactory->getEndpoint(GetWeightedRouting::class); |
| 296: | $endpoint->setParams($params); |
| 297: | $endpoint->setAttribute($attribute); |
| 298: | |
| 299: | return $this->performRequest($endpoint); |
| 300: | } |
| 301: | |
| 302: | /** |
| 303: | * Returns basic information about the health of the cluster. |
| 304: | * |
| 305: | * $params['index'] = (array) |
| 306: | * $params['awareness_attribute'] = (string) The name of the awareness attribute for which to return the cluster health status (for example, `zone`). Applicable only if `level` is set to `awareness_attributes`. |
| 307: | * $params['cluster_manager_timeout'] = (string) The amount of time to wait for a response from the cluster manager node. For more information about supported time units, see [Common parameters](https://opensearch.org/docs/latest/api-reference/common-parameters/#time-units). |
| 308: | * $params['expand_wildcards'] = (any) |
| 309: | * $params['level'] = (enum) (Options = awareness_attributes,cluster,indices,shards) |
| 310: | * $params['local'] = (boolean) Whether to return information from the local node only instead of from the cluster manager node. (Default = false) |
| 311: | * $params['master_timeout'] = (string) |
| 312: | * $params['timeout'] = (string) The amount of time to wait for a response from the cluster manager node. For more information about supported time units, see [Common parameters](https://opensearch.org/docs/latest/api-reference/common-parameters/#time-units). |
| 313: | * $params['wait_for_active_shards'] = (any) |
| 314: | * $params['wait_for_events'] = (any) |
| 315: | * $params['wait_for_no_initializing_shards'] = (boolean) Whether to wait until there are no initializing shards in the cluster. (Default = false) |
| 316: | * $params['wait_for_no_relocating_shards'] = (boolean) Whether to wait until there are no relocating shards in the cluster. (Default = false) |
| 317: | * $params['wait_for_nodes'] = (any) Waits until the specified number of nodes (`N`) is available. Accepts `>=N`, `<=N`, `>N`, and `<N`. You can also use `ge(N)`, `le(N)`, `gt(N)`, and `lt(N)` notation. |
| 318: | * $params['wait_for_status'] = (any) Waits until the cluster health reaches the specified status or better. |
| 319: | * $params['pretty'] = (boolean) Whether to pretty-format the returned JSON response. (Default = false) |
| 320: | * $params['human'] = (boolean) Whether to return human-readable values for statistics. (Default = false) |
| 321: | * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false) |
| 322: | * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests. |
| 323: | * $params['filter_path'] = (any) A comma-separated list of filters used to filter the response. Use wildcards to match any field or part of a field's name. To exclude fields, use `-`. |
| 324: | * |
| 325: | * @param array $params Associative array of parameters |
| 326: | * @return array |
| 327: | */ |
| 328: | public function health(array $params = []) |
| 329: | { |
| 330: | $index = $this->extractArgument($params, 'index'); |
| 331: | |
| 332: | $endpoint = $this->endpointFactory->getEndpoint(Health::class); |
| 333: | $endpoint->setParams($params); |
| 334: | $endpoint->setIndex($index); |
| 335: | |
| 336: | return $this->performRequest($endpoint); |
| 337: | } |
| 338: | |
| 339: | /** |
| 340: | * Returns a list of pending cluster-level tasks, such as index creation, mapping updates,or new allocations. |
| 341: | * |
| 342: | * $params['cluster_manager_timeout'] = (string) The amount of time to wait for a response from the cluster manager node. For more information about supported time units, see [Common parameters](https://opensearch.org/docs/latest/api-reference/common-parameters/#time-units). |
| 343: | * $params['local'] = (boolean) When `true`, the request retrieves information from the local node only.When `false`, information is retrieved from the cluster manager node. (Default = false) |
| 344: | * $params['master_timeout'] = (string) |
| 345: | * $params['pretty'] = (boolean) Whether to pretty-format the returned JSON response. (Default = false) |
| 346: | * $params['human'] = (boolean) Whether to return human-readable values for statistics. (Default = false) |
| 347: | * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false) |
| 348: | * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests. |
| 349: | * $params['filter_path'] = (any) A comma-separated list of filters used to filter the response. Use wildcards to match any field or part of a field's name. To exclude fields, use `-`. |
| 350: | * |
| 351: | * @param array $params Associative array of parameters |
| 352: | * @return array |
| 353: | */ |
| 354: | public function pendingTasks(array $params = []) |
| 355: | { |
| 356: | $endpoint = $this->endpointFactory->getEndpoint(PendingTasks::class); |
| 357: | $endpoint->setParams($params); |
| 358: | |
| 359: | return $this->performRequest($endpoint); |
| 360: | } |
| 361: | |
| 362: | /** |
| 363: | * Updates the cluster voting configuration by excluding certain node IDs or names. |
| 364: | * |
| 365: | * $params['node_ids'] = (any) A comma-separated list of node IDs to excludefrom the voting configuration. When using this setting, you cannot also specify `node_names`. Either `node_ids` or `node_names` are required to receive a valid response. |
| 366: | * $params['node_names'] = (any) A comma-separated list of node names to exclude from thevoting configuration. When using this setting, you cannot also specify `node_ids`. Either `node_ids` or `node_names` are required to receive a valid response. |
| 367: | * $params['timeout'] = (string) When adding a voting configuration exclusion, the API waits for thespecified nodes to be excluded from the voting configuration beforereturning a response. If the timeout expires before the appropriate conditionis satisfied, the request fails and returns an error. |
| 368: | * $params['pretty'] = (boolean) Whether to pretty-format the returned JSON response. (Default = false) |
| 369: | * $params['human'] = (boolean) Whether to return human-readable values for statistics. (Default = false) |
| 370: | * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false) |
| 371: | * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests. |
| 372: | * $params['filter_path'] = (any) A comma-separated list of filters used to filter the response. Use wildcards to match any field or part of a field's name. To exclude fields, use `-`. |
| 373: | * |
| 374: | * @param array $params Associative array of parameters |
| 375: | * @return array |
| 376: | */ |
| 377: | public function postVotingConfigExclusions(array $params = []) |
| 378: | { |
| 379: | $endpoint = $this->endpointFactory->getEndpoint(PostVotingConfigExclusions::class); |
| 380: | $endpoint->setParams($params); |
| 381: | |
| 382: | return $this->performRequest($endpoint); |
| 383: | } |
| 384: | |
| 385: | /** |
| 386: | * Creates or updates a component template. |
| 387: | * |
| 388: | * $params['name'] = (string) The 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`, and `synthetics-settings`. OpenSearch uses these templates to configure backing indexes for its data streams. If you want to overwrite one of these templates, set the replacement template `version` to a higher value than the current version. If you want to disable all built-in component and index templates, set `stack.templates.enabled` to `false` using the [Cluster Update Settings API](https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-settings/). |
| 389: | * $params['cluster_manager_timeout'] = (string) The amount of time to wait for a response from the cluster manager node. For more information about supported time units, see [Common parameters](https://opensearch.org/docs/latest/api-reference/common-parameters/#time-units). |
| 390: | * $params['create'] = (boolean) When `true`, this request cannot replace or update existing component templates. (Default = false) |
| 391: | * $params['master_timeout'] = (string) |
| 392: | * $params['timeout'] = (string) |
| 393: | * $params['pretty'] = (boolean) Whether to pretty-format the returned JSON response. (Default = false) |
| 394: | * $params['human'] = (boolean) Whether to return human-readable values for statistics. (Default = false) |
| 395: | * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false) |
| 396: | * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests. |
| 397: | * $params['filter_path'] = (any) A comma-separated list of filters used to filter the response. Use wildcards to match any field or part of a field's name. To exclude fields, use `-`. |
| 398: | * $params['body'] = (array) The template definition. (Required) |
| 399: | * |
| 400: | * @param array $params Associative array of parameters |
| 401: | * @return array |
| 402: | */ |
| 403: | public function putComponentTemplate(array $params = []) |
| 404: | { |
| 405: | $name = $this->extractArgument($params, 'name'); |
| 406: | $body = $this->extractArgument($params, 'body'); |
| 407: | |
| 408: | $endpoint = $this->endpointFactory->getEndpoint(PutComponentTemplate::class); |
| 409: | $endpoint->setParams($params); |
| 410: | $endpoint->setName($name); |
| 411: | $endpoint->setBody($body); |
| 412: | |
| 413: | return $this->performRequest($endpoint); |
| 414: | } |
| 415: | |
| 416: | /** |
| 417: | * Decommissions a cluster zone based on awareness. This can greatly benefit multi-zone deployments, where awareness attributes can aid in applying new upgrades to a cluster in a controlled fashion. |
| 418: | * |
| 419: | * $params['awareness_attribute_name'] = (string) The name of the awareness attribute. |
| 420: | * $params['awareness_attribute_value'] = (string) The value of the awareness attribute. For example, if you have shards allocated in two different zones, you can give each zone a value of `zone-a` or `zoneb`. The cluster decommission operation decommissions the zone listed in the method. |
| 421: | * $params['pretty'] = (boolean) Whether to pretty-format the returned JSON response. (Default = false) |
| 422: | * $params['human'] = (boolean) Whether to return human-readable values for statistics. (Default = false) |
| 423: | * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false) |
| 424: | * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests. |
| 425: | * $params['filter_path'] = (any) A comma-separated list of filters used to filter the response. Use wildcards to match any field or part of a field's name. To exclude fields, use `-`. |
| 426: | * |
| 427: | * @param array $params Associative array of parameters |
| 428: | * @return array |
| 429: | */ |
| 430: | public function putDecommissionAwareness(array $params = []) |
| 431: | { |
| 432: | $awareness_attribute_name = $this->extractArgument($params, 'awareness_attribute_name'); |
| 433: | $awareness_attribute_value = $this->extractArgument($params, 'awareness_attribute_value'); |
| 434: | |
| 435: | $endpoint = $this->endpointFactory->getEndpoint(PutDecommissionAwareness::class); |
| 436: | $endpoint->setParams($params); |
| 437: | $endpoint->setAwarenessAttributeName($awareness_attribute_name); |
| 438: | $endpoint->setAwarenessAttributeValue($awareness_attribute_value); |
| 439: | |
| 440: | return $this->performRequest($endpoint); |
| 441: | } |
| 442: | |
| 443: | /** |
| 444: | * Updates the cluster settings. |
| 445: | * |
| 446: | * $params['cluster_manager_timeout'] = (string) The amount of time to wait for a response from the cluster manager node. For more information about supported time units, see [Common parameters](https://opensearch.org/docs/latest/api-reference/common-parameters/#time-units). |
| 447: | * $params['flat_settings'] = (boolean) Whether to return settings in the flat form, which can improve readability, especially for heavily nested settings.For example, the flat form of `"cluster": { "max_shards_per_node": 500 }` is `"cluster.max_shards_per_node": "500"`. (Default = false) |
| 448: | * $params['master_timeout'] = (string) |
| 449: | * $params['timeout'] = (string) |
| 450: | * $params['pretty'] = (boolean) Whether to pretty-format the returned JSON response. (Default = false) |
| 451: | * $params['human'] = (boolean) Whether to return human-readable values for statistics. (Default = false) |
| 452: | * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false) |
| 453: | * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests. |
| 454: | * $params['filter_path'] = (any) A comma-separated list of filters used to filter the response. Use wildcards to match any field or part of a field's name. To exclude fields, use `-`. |
| 455: | * $params['body'] = (array) The cluster settings to update. (Required) |
| 456: | * |
| 457: | * @param array $params Associative array of parameters |
| 458: | * @return array |
| 459: | */ |
| 460: | public function putSettings(array $params = []) |
| 461: | { |
| 462: | $body = $this->extractArgument($params, 'body'); |
| 463: | |
| 464: | $endpoint = $this->endpointFactory->getEndpoint(PutSettings::class); |
| 465: | $endpoint->setParams($params); |
| 466: | $endpoint->setBody($body); |
| 467: | |
| 468: | return $this->performRequest($endpoint); |
| 469: | } |
| 470: | |
| 471: | /** |
| 472: | * Updates weighted shard routing weights. |
| 473: | * |
| 474: | * $params['attribute'] = (string) The name of awareness attribute, usually `zone`. |
| 475: | * $params['pretty'] = (boolean) Whether to pretty-format the returned JSON response. (Default = false) |
| 476: | * $params['human'] = (boolean) Whether to return human-readable values for statistics. (Default = false) |
| 477: | * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false) |
| 478: | * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests. |
| 479: | * $params['filter_path'] = (any) A comma-separated list of filters used to filter the response. Use wildcards to match any field or part of a field's name. To exclude fields, use `-`. |
| 480: | * |
| 481: | * @param array $params Associative array of parameters |
| 482: | * @return array |
| 483: | */ |
| 484: | public function putWeightedRouting(array $params = []) |
| 485: | { |
| 486: | $attribute = $this->extractArgument($params, 'attribute'); |
| 487: | $body = $this->extractArgument($params, 'body'); |
| 488: | |
| 489: | $endpoint = $this->endpointFactory->getEndpoint(PutWeightedRouting::class); |
| 490: | $endpoint->setParams($params); |
| 491: | $endpoint->setAttribute($attribute); |
| 492: | $endpoint->setBody($body); |
| 493: | |
| 494: | return $this->performRequest($endpoint); |
| 495: | } |
| 496: | |
| 497: | /** |
| 498: | * Returns the information about configured remote clusters. |
| 499: | * |
| 500: | * $params['pretty'] = (boolean) Whether to pretty-format the returned JSON response. (Default = false) |
| 501: | * $params['human'] = (boolean) Whether to return human-readable values for statistics. (Default = false) |
| 502: | * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false) |
| 503: | * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests. |
| 504: | * $params['filter_path'] = (any) A comma-separated list of filters used to filter the response. Use wildcards to match any field or part of a field's name. To exclude fields, use `-`. |
| 505: | * |
| 506: | * @param array $params Associative array of parameters |
| 507: | * @return array |
| 508: | */ |
| 509: | public function remoteInfo(array $params = []) |
| 510: | { |
| 511: | $endpoint = $this->endpointFactory->getEndpoint(RemoteInfo::class); |
| 512: | $endpoint->setParams($params); |
| 513: | |
| 514: | return $this->performRequest($endpoint); |
| 515: | } |
| 516: | |
| 517: | /** |
| 518: | * Allows to manually change the allocation of individual shards in the cluster. |
| 519: | * |
| 520: | * $params['cluster_manager_timeout'] = (string) The amount of time to wait for a response from the cluster manager node. For more information about supported time units, see [Common parameters](https://opensearch.org/docs/latest/api-reference/common-parameters/#time-units). |
| 521: | * $params['dry_run'] = (boolean) When `true`, the request simulates the operation and returns the resulting state. |
| 522: | * $params['explain'] = (boolean) When `true`, the response contains an explanation of why reroute certain commands can or cannot be executed. |
| 523: | * $params['master_timeout'] = (string) |
| 524: | * $params['metric'] = (any) Limits the information returned to the specified metrics. |
| 525: | * $params['retry_failed'] = (boolean) When `true`, retries shard allocation if it was blocked because of too many subsequent failures. |
| 526: | * $params['timeout'] = (string) |
| 527: | * $params['pretty'] = (boolean) Whether to pretty-format the returned JSON response. (Default = false) |
| 528: | * $params['human'] = (boolean) Whether to return human-readable values for statistics. (Default = false) |
| 529: | * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false) |
| 530: | * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests. |
| 531: | * $params['filter_path'] = (any) A comma-separated list of filters used to filter the response. Use wildcards to match any field or part of a field's name. To exclude fields, use `-`. |
| 532: | * $params['body'] = (array) The definition of `commands` to perform (`move`, `cancel`, `allocate`) |
| 533: | * |
| 534: | * @param array $params Associative array of parameters |
| 535: | * @return array |
| 536: | */ |
| 537: | public function reroute(array $params = []) |
| 538: | { |
| 539: | $body = $this->extractArgument($params, 'body'); |
| 540: | |
| 541: | $endpoint = $this->endpointFactory->getEndpoint(Reroute::class); |
| 542: | $endpoint->setParams($params); |
| 543: | $endpoint->setBody($body); |
| 544: | |
| 545: | return $this->performRequest($endpoint); |
| 546: | } |
| 547: | |
| 548: | /** |
| 549: | * Returns comprehensive information about the state of the cluster. |
| 550: | * |
| 551: | * $params['metric'] = (array) Limits the information returned to only the [specified metric groups](https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-stats/#metric-groups). |
| 552: | * $params['index'] = (array) |
| 553: | * $params['allow_no_indices'] = (boolean) Whether to ignore a wildcard index expression that resolves into no concrete indexes. This includes the `_all` string or when no indexes have been specified. |
| 554: | * $params['cluster_manager_timeout'] = (string) The amount of time to wait for a response from the cluster manager node. For more information about supported time units, see [Common parameters](https://opensearch.org/docs/latest/api-reference/common-parameters/#time-units). |
| 555: | * $params['expand_wildcards'] = (any) |
| 556: | * $params['flat_settings'] = (boolean) Whether to return settings in the flat form, which can improve readability, especially for heavily nested settings.For example, the flat form of `"cluster": { "max_shards_per_node": 500 }` is `"cluster.max_shards_per_node": "500"`. (Default = false) |
| 557: | * $params['ignore_unavailable'] = (boolean) Whether the specified concrete indexes should be ignored when unavailable (missing or closed). |
| 558: | * $params['local'] = (boolean) Whether to return information from the local node only instead of from the cluster manager node. (Default = false) |
| 559: | * $params['master_timeout'] = (string) |
| 560: | * $params['wait_for_metadata_version'] = (integer) Wait for the metadata version to be equal or greater than the specified metadata version. |
| 561: | * $params['wait_for_timeout'] = (string) The maximum time to wait for `wait_for_metadata_version` before timing out. |
| 562: | * $params['pretty'] = (boolean) Whether to pretty-format the returned JSON response. (Default = false) |
| 563: | * $params['human'] = (boolean) Whether to return human-readable values for statistics. (Default = false) |
| 564: | * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false) |
| 565: | * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests. |
| 566: | * $params['filter_path'] = (any) A comma-separated list of filters used to filter the response. Use wildcards to match any field or part of a field's name. To exclude fields, use `-`. |
| 567: | * |
| 568: | * @param array $params Associative array of parameters |
| 569: | * @return array |
| 570: | */ |
| 571: | public function state(array $params = []) |
| 572: | { |
| 573: | $metric = $this->extractArgument($params, 'metric'); |
| 574: | $index = $this->extractArgument($params, 'index'); |
| 575: | |
| 576: | $endpoint = $this->endpointFactory->getEndpoint(State::class); |
| 577: | $endpoint->setParams($params); |
| 578: | $endpoint->setMetric($metric); |
| 579: | $endpoint->setIndex($index); |
| 580: | |
| 581: | return $this->performRequest($endpoint); |
| 582: | } |
| 583: | |
| 584: | /** |
| 585: | * Returns a high-level overview of cluster statistics. |
| 586: | * |
| 587: | * $params['index_metric'] = (array) A comma-separated list of [index metric groups](https://opensearch.org/docs/latest/api-reference/cluster-api/cluster-stats/#index-metric-groups), for example, `docs,store`. |
| 588: | * $params['metric'] = (array) Limit the information returned to the specified metrics. |
| 589: | * $params['node_id'] = (array) |
| 590: | * $params['flat_settings'] = (boolean) Whether to return settings in the flat form, which can improve readability, especially for heavily nested settings.For example, the flat form of `"cluster": { "max_shards_per_node": 500 }` is `"cluster.max_shards_per_node": "500"`. (Default = false) |
| 591: | * $params['timeout'] = (string) The amount of time 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. |
| 592: | * $params['pretty'] = (boolean) Whether to pretty-format the returned JSON response. (Default = false) |
| 593: | * $params['human'] = (boolean) Whether to return human-readable values for statistics. (Default = false) |
| 594: | * $params['error_trace'] = (boolean) Whether to include the stack trace of returned errors. (Default = false) |
| 595: | * $params['source'] = (string) The URL-encoded request definition. Useful for libraries that do not accept a request body for non-POST requests. |
| 596: | * $params['filter_path'] = (any) A comma-separated list of filters used to filter the response. Use wildcards to match any field or part of a field's name. To exclude fields, use `-`. |
| 597: | * |
| 598: | * @param array $params Associative array of parameters |
| 599: | * @return array |
| 600: | */ |
| 601: | public function stats(array $params = []) |
| 602: | { |
| 603: | $index_metric = $this->extractArgument($params, 'index_metric'); |
| 604: | $metric = $this->extractArgument($params, 'metric'); |
| 605: | $node_id = $this->extractArgument($params, 'node_id'); |
| 606: | |
| 607: | $endpoint = $this->endpointFactory->getEndpoint(Stats::class); |
| 608: | $endpoint->setParams($params); |
| 609: | $endpoint->setIndexMetric($index_metric); |
| 610: | $endpoint->setMetric($metric); |
| 611: | $endpoint->setNodeId($node_id); |
| 612: | |
| 613: | return $this->performRequest($endpoint); |
| 614: | } |
| 615: | |
| 616: | } |
| 617: |