{{! Copyright (c) HashiCorp, Inc. SPDX-License-Identifier: BUSL-1.1 }} {{#let loader.data as |item|}} {{#if (eq loader.error.status "404")}} Warning! This service has been deregistered and no longer exists in the catalog. {{else if (eq loader.error.status "403")}} Error! You no longer have access to this service. {{else}} Warning! An error was returned whilst loading this data, refresh to try again. {{/if}}

{{compute (fn route.t 'tolerance.header')}}

{{compute (fn route.t 'tolerance.immediate.header')}}

{{compute (fn route.t 'tolerance.immediate.body')}}
{{item.FailureTolerance}}
{{#if (can 'read zones')}}

{{compute (fn route.t 'tolerance.optimistic.header')}} 30 seconds between server failures, Consul can restore the Immediate Fault Tolerance by replacing failed active voters with healthy back-up voters when using redundancy zones.'}} >

{{compute (fn route.t 'tolerance.optimistic.body')}}
{{item.OptimisticFailureTolerance}}
{{/if}}
{{#if (gt item.RedundancyZones.length 0)}}

{{pluralize (t 'common.consul.redundancyzone')}}

{{#each item.RedundancyZones as |item|}} {{#if (gt item.Servers.length 0) }}

{{item.Name}}

{{t 'common.consul.failuretolerance'}}
{{item.FailureTolerance}}
{{/if}} {{/each}} {{#if (gt item.Default.Servers.length 0)}}

{{compute (fn route.t 'unassigned')}}

{{/if}}
{{else}}

{{compute (fn route.t 'servers')}}

{{/if}} {{#if (gt item.ReadReplicas.length 0)}}

{{pluralize (t 'common.consul.readreplica')}}

{{/if}}
{{/let}}