[[reference-shared-types--global-health-report]]

////////
===========================================================================================================================
||                                                                                                                       ||
||                                                                                                                       ||
||                                                                                                                       ||
||        ██████╗ ███████╗ █████╗ ██████╗ ███╗   ███╗███████╗                                                            ||
||        ██╔══██╗██╔════╝██╔══██╗██╔══██╗████╗ ████║██╔════╝                                                            ||
||        ██████╔╝█████╗  ███████║██║  ██║██╔████╔██║█████╗                                                              ||
||        ██╔══██╗██╔══╝  ██╔══██║██║  ██║██║╚██╔╝██║██╔══╝                                                              ||
||        ██║  ██║███████╗██║  ██║██████╔╝██║ ╚═╝ ██║███████╗                                                            ||
||        ╚═╝  ╚═╝╚══════╝╚═╝  ╚═╝╚═════╝ ╚═╝     ╚═╝╚══════╝                                                            ||
||                                                                                                                       ||
||                                                                                                                       ||
||    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 HealthReport types


[discrete]
[[HealthReportBaseIndicator]]
=== HealthReportBaseIndicator

[pass]
++++
<pre>
++++
interface HealthReportBaseIndicator {
  status: <<HealthReportIndicatorHealthStatus>>
  symptom: string
  impacts?: <<HealthReportImpact>>[]
  diagnosis?: <<HealthReportDiagnosis>>[]
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportDataStreamLifecycleDetails]]
=== HealthReportDataStreamLifecycleDetails

[pass]
++++
<pre>
++++
interface HealthReportDataStreamLifecycleDetails {
  stagnating_backing_indices_count: <<integer>>
  total_backing_indices_in_error: <<integer>>
  stagnating_backing_indices?: <<HealthReportStagnatingBackingIndices>>[]
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportDataStreamLifecycleIndicator]]
=== HealthReportDataStreamLifecycleIndicator

[pass]
++++
<pre>
++++
interface HealthReportDataStreamLifecycleIndicator extends <<HealthReportBaseIndicator>> {
  details?: <<HealthReportDataStreamLifecycleDetails>>
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportDiagnosis]]
=== HealthReportDiagnosis

[pass]
++++
<pre>
++++
interface HealthReportDiagnosis {
  id: string
  action: string
  affected_resources: <<HealthReportDiagnosisAffectedResources>>
  cause: string
  help_url: string
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportDiagnosisAffectedResources]]
=== HealthReportDiagnosisAffectedResources

[pass]
++++
<pre>
++++
interface HealthReportDiagnosisAffectedResources {
  indices?: <<Indices>>
  nodes?: <<HealthReportIndicatorNode>>[]
  slm_policies?: string[]
  feature_states?: string[]
  snapshot_repositories?: string[]
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportDiskIndicator]]
=== HealthReportDiskIndicator

[pass]
++++
<pre>
++++
interface HealthReportDiskIndicator extends <<HealthReportBaseIndicator>> {
  details?: <<HealthReportDiskIndicatorDetails>>
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportDiskIndicatorDetails]]
=== HealthReportDiskIndicatorDetails

[pass]
++++
<pre>
++++
interface HealthReportDiskIndicatorDetails {
  indices_with_readonly_block: <<long>>
  nodes_with_enough_disk_space: <<long>>
  nodes_over_high_watermark: <<long>>
  nodes_over_flood_stage_watermark: <<long>>
  nodes_with_unknown_disk_status: <<long>>
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportIlmIndicator]]
=== HealthReportIlmIndicator

[pass]
++++
<pre>
++++
interface HealthReportIlmIndicator extends <<HealthReportBaseIndicator>> {
  details?: <<HealthReportIlmIndicatorDetails>>
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportIlmIndicatorDetails]]
=== HealthReportIlmIndicatorDetails

[pass]
++++
<pre>
++++
interface HealthReportIlmIndicatorDetails {
  ilm_status: <<LifecycleOperationMode>>
  policies: <<long>>
  stagnating_indices: <<integer>>
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportImpact]]
=== HealthReportImpact

[pass]
++++
<pre>
++++
interface HealthReportImpact {
  description: string
  id: string
  impact_areas: <<HealthReportImpactArea>>[]
  severity: <<integer>>
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportImpactArea]]
=== HealthReportImpactArea

[pass]
++++
<pre>
++++
type HealthReportImpactArea = 'search' | 'ingest' | 'backup' | 'deployment_management'
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportIndicatorHealthStatus]]
=== HealthReportIndicatorHealthStatus

[pass]
++++
<pre>
++++
type HealthReportIndicatorHealthStatus = 'green' | 'yellow' | 'red' | 'unknown'
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportIndicatorNode]]
=== HealthReportIndicatorNode

[pass]
++++
<pre>
++++
interface HealthReportIndicatorNode {
  name: string | null
  node_id: string | null
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportIndicators]]
=== HealthReportIndicators

[pass]
++++
<pre>
++++
interface HealthReportIndicators {
  master_is_stable?: <<HealthReportMasterIsStableIndicator>>
  shards_availability?: <<HealthReportShardsAvailabilityIndicator>>
  disk?: <<HealthReportDiskIndicator>>
  repository_integrity?: <<HealthReportRepositoryIntegrityIndicator>>
  data_stream_lifecycle?: <<HealthReportDataStreamLifecycleIndicator>>
  ilm?: <<HealthReportIlmIndicator>>
  slm?: <<HealthReportSlmIndicator>>
  shards_capacity?: <<HealthReportShardsCapacityIndicator>>
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportMasterIsStableIndicator]]
=== HealthReportMasterIsStableIndicator

[pass]
++++
<pre>
++++
interface HealthReportMasterIsStableIndicator extends <<HealthReportBaseIndicator>> {
  details?: <<HealthReportMasterIsStableIndicatorDetails>>
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportMasterIsStableIndicatorClusterFormationNode]]
=== HealthReportMasterIsStableIndicatorClusterFormationNode

[pass]
++++
<pre>
++++
interface HealthReportMasterIsStableIndicatorClusterFormationNode {
  name?: string
  node_id: string
  cluster_formation_message: string
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportMasterIsStableIndicatorDetails]]
=== HealthReportMasterIsStableIndicatorDetails

[pass]
++++
<pre>
++++
interface HealthReportMasterIsStableIndicatorDetails {
  current_master: <<HealthReportIndicatorNode>>
  recent_masters: <<HealthReportIndicatorNode>>[]
  exception_fetching_history?: <<HealthReportMasterIsStableIndicatorExceptionFetchingHistory>>
  cluster_formation?: <<HealthReportMasterIsStableIndicatorClusterFormationNode>>[]
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportMasterIsStableIndicatorExceptionFetchingHistory]]
=== HealthReportMasterIsStableIndicatorExceptionFetchingHistory

[pass]
++++
<pre>
++++
interface HealthReportMasterIsStableIndicatorExceptionFetchingHistory {
  message: string
  stack_trace: string
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportRepositoryIntegrityIndicator]]
=== HealthReportRepositoryIntegrityIndicator

[pass]
++++
<pre>
++++
interface HealthReportRepositoryIntegrityIndicator extends <<HealthReportBaseIndicator>> {
  details?: <<HealthReportRepositoryIntegrityIndicatorDetails>>
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportRepositoryIntegrityIndicatorDetails]]
=== HealthReportRepositoryIntegrityIndicatorDetails

[pass]
++++
<pre>
++++
interface HealthReportRepositoryIntegrityIndicatorDetails {
  total_repositories?: <<long>>
  corrupted_repositories?: <<long>>
  corrupted?: string[]
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportRequest]]
=== HealthReportRequest

[pass]
++++
<pre>
++++
interface HealthReportRequest extends <<RequestBase>> {
  feature?: string | string[]
  timeout?: <<Duration>>
  verbose?: boolean
  size?: <<integer>>
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportResponse]]
=== HealthReportResponse

[pass]
++++
<pre>
++++
interface HealthReportResponse {
  cluster_name: string
  indicators: <<HealthReportIndicators>>
  status?: <<HealthReportIndicatorHealthStatus>>
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportShardsAvailabilityIndicator]]
=== HealthReportShardsAvailabilityIndicator

[pass]
++++
<pre>
++++
interface HealthReportShardsAvailabilityIndicator extends <<HealthReportBaseIndicator>> {
  details?: <<HealthReportShardsAvailabilityIndicatorDetails>>
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportShardsAvailabilityIndicatorDetails]]
=== HealthReportShardsAvailabilityIndicatorDetails

[pass]
++++
<pre>
++++
interface HealthReportShardsAvailabilityIndicatorDetails {
  creating_primaries: <<long>>
  creating_replicas: <<long>>
  initializing_primaries: <<long>>
  initializing_replicas: <<long>>
  restarting_primaries: <<long>>
  restarting_replicas: <<long>>
  started_primaries: <<long>>
  started_replicas: <<long>>
  unassigned_primaries: <<long>>
  unassigned_replicas: <<long>>
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportShardsCapacityIndicator]]
=== HealthReportShardsCapacityIndicator

[pass]
++++
<pre>
++++
interface HealthReportShardsCapacityIndicator extends <<HealthReportBaseIndicator>> {
  details?: <<HealthReportShardsCapacityIndicatorDetails>>
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportShardsCapacityIndicatorDetails]]
=== HealthReportShardsCapacityIndicatorDetails

[pass]
++++
<pre>
++++
interface HealthReportShardsCapacityIndicatorDetails {
  data: <<HealthReportShardsCapacityIndicatorTierDetail>>
  frozen: <<HealthReportShardsCapacityIndicatorTierDetail>>
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportShardsCapacityIndicatorTierDetail]]
=== HealthReportShardsCapacityIndicatorTierDetail

[pass]
++++
<pre>
++++
interface HealthReportShardsCapacityIndicatorTierDetail {
  max_shards_in_cluster: <<integer>>
  current_used_shards?: <<integer>>
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportSlmIndicator]]
=== HealthReportSlmIndicator

[pass]
++++
<pre>
++++
interface HealthReportSlmIndicator extends <<HealthReportBaseIndicator>> {
  details?: <<HealthReportSlmIndicatorDetails>>
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportSlmIndicatorDetails]]
=== HealthReportSlmIndicatorDetails

[pass]
++++
<pre>
++++
interface HealthReportSlmIndicatorDetails {
  slm_status: <<LifecycleOperationMode>>
  policies: <<long>>
  unhealthy_policies?: <<HealthReportSlmIndicatorUnhealthyPolicies>>
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportSlmIndicatorUnhealthyPolicies]]
=== HealthReportSlmIndicatorUnhealthyPolicies

[pass]
++++
<pre>
++++
interface HealthReportSlmIndicatorUnhealthyPolicies {
  count: <<long>>
  invocations_since_last_success?: Record<string, <<long>>>
}
[pass]
++++
</pre>
++++

[discrete]
[[HealthReportStagnatingBackingIndices]]
=== HealthReportStagnatingBackingIndices

[pass]
++++
<pre>
++++
interface HealthReportStagnatingBackingIndices {
  index_name: <<IndexName>>
  first_occurrence_timestamp: <<long>>
  retry_count: <<integer>>
}
[pass]
++++
</pre>
++++
