[[reference-shared-types-reindex_rethrottle]]

////////
===========================================================================================================================
||                                                                                                                       ||
||                                                                                                                       ||
||                                                                                                                       ||
||        ██████╗ ███████╗ █████╗ ██████╗ ███╗   ███╗███████╗                                                            ||
||        ██╔══██╗██╔════╝██╔══██╗██╔══██╗████╗ ████║██╔════╝                                                            ||
||        ██████╔╝█████╗  ███████║██║  ██║██╔████╔██║█████╗                                                              ||
||        ██╔══██╗██╔══╝  ██╔══██║██║  ██║██║╚██╔╝██║██╔══╝                                                              ||
||        ██║  ██║███████╗██║  ██║██████╔╝██║ ╚═╝ ██║███████╗                                                            ||
||        ╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝╚═════╝ ╚═╝     ╚═╝╚══════╝                                                            ||
||                                                                                                                       ||
||                                                                                                                       ||
||    This file is autogenerated, DO NOT send pull requests that changes this file directly.                             ||
||    You should update the script that does the generation, which can be found in:                                      ||
||    https://github.com/elastic/elastic-client-generator-js                                                             ||
||                                                                                                                       ||
||    You can run the script with the following command:                                                                 ||
||       npm run elasticsearch -- --version <version>                                                                    ||
||                                                                                                                       ||
||                                                                                                                       ||
||                                                                                                                       ||
===========================================================================================================================
////////



== Shared ReindexRethrottle types


[discrete]
[[ReindexRethrottleReindexNode]]
=== ReindexRethrottleReindexNode

[pass]
++++
<pre>
++++
interface ReindexRethrottleReindexNode extends <<SpecUtilsBaseNode>> {
  tasks: Record<<<TaskId>>, <<ReindexRethrottleReindexTask>>>
}
[pass]
++++
</pre>
++++

[discrete]
[[ReindexRethrottleReindexStatus]]
=== ReindexRethrottleReindexStatus

[pass]
++++
<pre>
++++
interface ReindexRethrottleReindexStatus {
  pass:[/**] @property batches The number of scroll responses pulled back by the reindex. */
  batches: <<long>>
  pass:[/**] @property created The number of documents that were successfully created. */
  created: <<long>>
  pass:[/**] @property deleted The number of documents that were successfully deleted. */
  deleted: <<long>>
  pass:[/**] @property noops The number of documents that were ignored because the script used for the reindex returned a `noop` value for `ctx.op`. */
  noops: <<long>>
  pass:[/**] @property requests_per_second The number of requests per second effectively executed during the reindex. */
  requests_per_second: <<float>>
  pass:[/**] @property retries The number of retries attempted by reindex. `bulk` is the number of bulk actions retried and `search` is the number of search actions retried. */
  retries: <<Retries>>
  throttled?: <<Duration>>
  pass:[/**] @property throttled_millis Number of milliseconds the request slept to conform to `requests_per_second`. */
  throttled_millis: <<DurationValue>><<<UnitMillis>>>
  throttled_until?: <<Duration>>
  pass:[/**] @property throttled_until_millis This field should always be equal to zero in a `_reindex` response. It only has meaning when using the Task API, where it indicates the next time (in milliseconds since epoch) a throttled request will be executed again in order to conform to `requests_per_second`. */
  throttled_until_millis: <<DurationValue>><<<UnitMillis>>>
  pass:[/**] @property total The number of documents that were successfully processed. */
  total: <<long>>
  pass:[/**] @property updated The number of documents that were successfully updated, for example, a document with same ID already existed prior to reindex updating it. */
  updated: <<long>>
  pass:[/**] @property version_conflicts The number of version conflicts that reindex hits. */
  version_conflicts: <<long>>
}
[pass]
++++
</pre>
++++

[discrete]
[[ReindexRethrottleReindexTask]]
=== ReindexRethrottleReindexTask

[pass]
++++
<pre>
++++
interface ReindexRethrottleReindexTask {
  action: string
  cancellable: boolean
  description: string
  id: <<long>>
  node: <<Name>>
  running_time_in_nanos: <<DurationValue>><<<UnitNanos>>>
  start_time_in_millis: <<EpochTime>><<<UnitMillis>>>
  status: <<ReindexRethrottleReindexStatus>>
  type: string
  headers: <<HttpHeaders>>
}
[pass]
++++
</pre>
++++

[discrete]
[[ReindexRethrottleRequest]]
=== ReindexRethrottleRequest

[pass]
++++
<pre>
++++
interface ReindexRethrottleRequest extends <<RequestBase>> {
  task_id: <<Id>>
  requests_per_second?: <<float>>
}
[pass]
++++
</pre>
++++

[discrete]
[[ReindexRethrottleResponse]]
=== ReindexRethrottleResponse

[pass]
++++
<pre>
++++
interface ReindexRethrottleResponse {
  nodes: Record<string, <<ReindexRethrottleReindexNode>>>
}
[pass]
++++
</pre>
++++
