@type t() :: %Envoy.Extensions.Filters.Http.Ratelimit.V3.RateLimitConfig.Action{
__unknown_fields__: [
{field_number :: integer(), Protobuf.Wire.Types.wire_type(),
value :: term()}
],
action_specifier:
{:source_cluster,
Envoy.Extensions.Filters.Http.Ratelimit.V3.RateLimitConfig.Action.SourceCluster.t()
| nil}
| {:destination_cluster,
Envoy.Extensions.Filters.Http.Ratelimit.V3.RateLimitConfig.Action.DestinationCluster.t()
| nil}
| {:request_headers,
Envoy.Extensions.Filters.Http.Ratelimit.V3.RateLimitConfig.Action.RequestHeaders.t()
| nil}
| {:remote_address,
Envoy.Extensions.Filters.Http.Ratelimit.V3.RateLimitConfig.Action.RemoteAddress.t()
| nil}
| {:generic_key,
Envoy.Extensions.Filters.Http.Ratelimit.V3.RateLimitConfig.Action.GenericKey.t()
| nil}
| {:header_value_match,
Envoy.Extensions.Filters.Http.Ratelimit.V3.RateLimitConfig.Action.HeaderValueMatch.t()
| nil}
| {:metadata,
Envoy.Extensions.Filters.Http.Ratelimit.V3.RateLimitConfig.Action.MetaData.t()
| nil}
| {:extension, Envoy.Config.Core.V3.TypedExtensionConfig.t() | nil}
| nil
}