[role="xpack"]
[[autoscaling-get-autoscaling-capacity]]
=== Get autoscaling capacity API
++++
Get autoscaling capacity
++++
NOTE: {cloud-only}
.New API reference
[sidebar]
--
For the most up-to-date API details, refer to {api-es}/group/endpoint-autoscaling[Autoscaling APIs].
--
Get {cloud}/ec-autoscaling.html[autoscaling] capacity.
[[autoscaling-get-autoscaling-capacity-request]]
==== {api-request-title}
[source,console]
--------------------------------------------------
GET /_autoscaling/capacity/
--------------------------------------------------
// TEST
[[autoscaling-get-autoscaling-capacity-prereqs]]
==== {api-prereq-title}
* If the {es} {security-features} are enabled, you must have
`manage_autoscaling` cluster privileges. For more information, see
<>.
[[autoscaling-get-autoscaling-capacity-desc]]
==== {api-description-title}
This API gets the current autoscaling capacity based on the configured
autoscaling policy. This API will return information to size the cluster
appropriately to the current workload.
The `required_capacity` is calculated as the max of the `required_capacity`
result of all individual deciders that are enabled for the policy.
The operator should verify that the `current_nodes` match
the operator's knowledge of the cluster to avoid making autoscaling decisions
based on stale or incomplete information.
The response contains decider-specific information you can use to diagnose how
and why autoscaling determined a certain capacity was required. This information
is provided for diagnosis only. Do not use this information to make autoscaling
decisions.
[[autoscaling-get-autoscaling-capacity-params]]
==== {api-query-parms-title}
include::{es-ref-dir}/rest-api/common-parms.asciidoc[tag=master-timeout]
[role="child_attributes"]
[[autoscaling-get-autoscaling-capacity-api-response-body]]
==== {api-response-body-title}
`policies`::
(object)
Contains the map of policy name to capacity result
+
.Properties of `policies`
[%collapsible%open]
====
``::
(object)
Contains capacity information for the policy
+
.Properties of ``
[%collapsible%open]
=====
`required_capacity`::
(object)
Contains the required capacity for the policy.
+
.Properties of `required_capacity`
[%collapsible%open]
======
`node`::
(object)
Contains the minimum node sizes required per node, ensuring that individual
shards or ML jobs can fit into a single node.
+
.Properties of `node`
[%collapsible%open]
=======
`storage`::
(integer)
Bytes of storage required per node.
`memory`::
(integer)
Bytes of memory required per node.
`processors`::
(float)
Number of processors (vCPUs) required per node.
=======
`total`::
(object)
Contains the total size required for the policy.
+
.Properties of `total`
[%collapsible%open]
=======
`storage`::
(integer)
Total bytes of storage required for the policy.
`memory`::
(integer)
Total bytes of memory required for the policy.
`processors`::
(float)
Total number of processors (vCPUs) required for the policy.
=======
======
`current_capacity`::
(object)
Contains the current capacity for nodes governed by the policy, i.e. the nodes
that {es} bases its calculation on.
+
.Properties of `current_capacity`
[%collapsible%open]
======
`node`::
(object)
Contains the maximum sizes of nodes governed by the policy.
+
.Properties of `node`
[%collapsible%open]
=======
`storage`::
(integer)
Maximum bytes of storage of a node.
`memory`::
(integer)
Maximum bytes of memory of a node.
`processors`::
(float)
Maximum number of processors (vCPUs) of a node.
=======
`total`::
(object)
Contains the current total storage and memory sizes for nodes governed by the policy.
+
.Properties of `total`
[%collapsible%open]
=======
`storage`::
(integer)
Current bytes of storage available for the policy.
`memory`::
(integer)
Current bytes of memory available for the policy.
`processors`::
Current number of processors (vCPUs) available for the policy.
=======
======
`current_nodes`::
(array of objects)
List of nodes used for capacity calculation.
+
.Properties of elements in `current_nodes`
[%collapsible%open]
======
`name`::
(string)
Name of the node.
======
`deciders`::
(object)
The capacity results from individual deciders, allowing insight into how the
outer level `required_capacity` was calculated.
+
.Properties of `deciders`
[%collapsible%open]
=======
``::
(object)
The capacity result for a specific decider enabled for the policy.
+
.Properties of ``
[%collapsible%open]
========
`required_capacity`::
(object)
Required capacity determined by the decider.
+
.Properties of `required_capacity`
[%collapsible%open]
=========
`node`::
(object)
Contains the minimum node sizes required per node, ensuring that individual
shards or {ml} jobs can fit into a single node.
+
.Properties of `node`
[%collapsible%open]
==========
`storage`::
(integer)
Bytes of storage required per node.
`memory`::
(integer)
Bytes of memory required per node.
`processors`::
(float)
Number of processors (vCPUs) required per node.
==========
`total`::
(object)
Contains the total size required for the policy.
+
.Properties of `total`
[%collapsible%open]
==========
`storage`::
(integer)
Total bytes of storage required for the policy.
`memory`::
(integer)
Total bytes of memory required for the policy.
`processors`::
(float)
Total number of processors (vCPUs) required for the policy.
==========
=========
`reason_summary`::
(string)
Description of the basis for the decider's result.
`reason_details`::
(object)
A per-decider structure containing details about the basis for the deciders' result.
The contents should not be relied on for application purposes and are not subject
to backwards compatibility guarantees.
========
=======
=====
====
[[autoscaling-get-autoscaling-capacity-examples]]
==== {api-examples-title}
This example retrieves the current autoscaling capacity.
[source,console]
--------------------------------------------------
GET /_autoscaling/capacity
--------------------------------------------------
// TEST
The API returns the following result:
[source,console-result]
--------------------------------------------------
{
policies: {}
}
--------------------------------------------------