@type t() :: %Envoy.Api.V2.Cluster{
__unknown_fields__: [
{field_number :: integer(), Protobuf.Wire.Types.wire_type(),
value :: term()}
],
alt_stat_name: String.t(),
circuit_breakers: Envoy.Api.V2.Cluster.CircuitBreakers.t() | nil,
cleanup_interval: Google.Protobuf.Duration.t() | nil,
close_connections_on_host_health_failure: boolean(),
cluster_discovery_type:
{:type, Envoy.Api.V2.Cluster.DiscoveryType.t()}
| {:cluster_type, Envoy.Api.V2.Cluster.CustomClusterType.t() | nil}
| nil,
common_http_protocol_options: Envoy.Api.V2.Core.HttpProtocolOptions.t() | nil,
common_lb_config: Envoy.Api.V2.Cluster.CommonLbConfig.t() | nil,
connect_timeout: Google.Protobuf.Duration.t() | nil,
dns_failure_refresh_rate: Envoy.Api.V2.Cluster.RefreshRate.t() | nil,
dns_lookup_family: Envoy.Api.V2.Cluster.DnsLookupFamily.t(),
dns_refresh_rate: Google.Protobuf.Duration.t() | nil,
dns_resolvers: [Envoy.Api.V2.Core.Address.t()],
drain_connections_on_host_removal: boolean(),
eds_cluster_config: Envoy.Api.V2.Cluster.EdsClusterConfig.t() | nil,
extension_protocol_options: %{
optional(String.t()) => Google.Protobuf.Struct.t() | nil
},
filters: [Envoy.Api.V2.Cluster.Filter.t()],
health_checks: [Envoy.Api.V2.Core.HealthCheck.t()],
hosts: [Envoy.Api.V2.Core.Address.t()],
http2_protocol_options: Envoy.Api.V2.Core.Http2ProtocolOptions.t() | nil,
http_protocol_options: Envoy.Api.V2.Core.Http1ProtocolOptions.t() | nil,
lb_config:
{:ring_hash_lb_config, Envoy.Api.V2.Cluster.RingHashLbConfig.t() | nil}
| {:least_request_lb_config,
Envoy.Api.V2.Cluster.LeastRequestLbConfig.t() | nil}
| {:original_dst_lb_config,
Envoy.Api.V2.Cluster.OriginalDstLbConfig.t() | nil}
| nil,
lb_policy: Envoy.Api.V2.Cluster.LbPolicy.t(),
lb_subset_config: Envoy.Api.V2.Cluster.LbSubsetConfig.t() | nil,
load_assignment: Envoy.Api.V2.ClusterLoadAssignment.t() | nil,
load_balancing_policy: Envoy.Api.V2.LoadBalancingPolicy.t() | nil,
lrs_server: Envoy.Api.V2.Core.ConfigSource.t() | nil,
max_requests_per_connection: Google.Protobuf.UInt32Value.t() | nil,
metadata: Envoy.Api.V2.Core.Metadata.t() | nil,
name: String.t(),
outlier_detection: Envoy.Api.V2.Cluster.OutlierDetection.t() | nil,
per_connection_buffer_limit_bytes: Google.Protobuf.UInt32Value.t() | nil,
protocol_selection: Envoy.Api.V2.Cluster.ClusterProtocolSelection.t(),
respect_dns_ttl: boolean(),
tls_context: Envoy.Api.V2.Auth.UpstreamTlsContext.t() | nil,
track_timeout_budgets: boolean(),
transport_socket: Envoy.Api.V2.Core.TransportSocket.t() | nil,
transport_socket_matches: [Envoy.Api.V2.Cluster.TransportSocketMatch.t()],
typed_extension_protocol_options: %{
optional(String.t()) => Google.Protobuf.Any.t() | nil
},
upstream_bind_config: Envoy.Api.V2.Core.BindConfig.t() | nil,
upstream_connection_options: Envoy.Api.V2.UpstreamConnectionOptions.t() | nil,
upstream_http_protocol_options:
Envoy.Api.V2.Core.UpstreamHttpProtocolOptions.t() | nil,
use_tcp_for_dns_lookups: boolean()
}