This documentation contains work-in-progress information for future Elastic Stack and Cloud releases. Use the version selector to view supported release docs. It also contains some Elastic Cloud serverless information. Check out our serverless docs for more details.
Create or update autoscaling policy API
editCreate or update autoscaling policy API
editThis feature is designed for indirect use by Elasticsearch Service, Elastic Cloud Enterprise, and Elastic Cloud on Kubernetes. Direct use is not supported.
Creates or updates an autoscaling policy.
Request
editresp = client.autoscaling.put_autoscaling_policy( name="<name>", policy={ "roles": [], "deciders": { "fixed": {} } }, ) print(resp)
const response = await client.autoscaling.putAutoscalingPolicy({ name: "<name>", policy: { roles: [], deciders: { fixed: {}, }, }, }); console.log(response);
PUT /_autoscaling/policy/<name> { "roles": [], "deciders": { "fixed": { } } }
Prerequisites
edit-
If the Elasticsearch security features are enabled, you must have the
manage_autoscaling
cluster privilege to use this API. - If the operator privileges feature is enabled, only operator users can use this API.
Description
editThis API puts an autoscaling policy with the provided name. See Autoscaling Deciders for available deciders.
Query parameters
edit-
master_timeout
-
(Optional, time units)
Period to wait for the master node. If the master node is not available before
the timeout expires, the request fails and returns an error. Defaults to
30s
. Can also be set to-1
to indicate that the request should never timeout. -
timeout
-
(Optional, time units) Period to wait for a response from all relevant nodes in the cluster after updating the cluster metadata.
If no response is received before the timeout expires, the cluster metadata update still applies but the response will indicate that it was not completely acknowledged.
Defaults to
30s
. Can also be set to-1
to indicate that the request should never timeout.
Examples
editThis example puts an autoscaling policy named my_autoscaling_policy
using the
fixed autoscaling decider, applying to the set of nodes having (only) the
"data_hot" role.
resp = client.autoscaling.put_autoscaling_policy( name="my_autoscaling_policy", policy={ "roles": [ "data_hot" ], "deciders": { "fixed": {} } }, ) print(resp)
const response = await client.autoscaling.putAutoscalingPolicy({ name: "my_autoscaling_policy", policy: { roles: ["data_hot"], deciders: { fixed: {}, }, }, }); console.log(response);
PUT /_autoscaling/policy/my_autoscaling_policy { "roles" : [ "data_hot" ], "deciders": { "fixed": { } } }
The API returns the following result:
{ "acknowledged": true }