{{#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.link' (hash htmlSafe=true ))}}

{{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}}