api: istio.io/api/networking/v1alpha3 Index | Files

package v1alpha3

import "istio.io/api/networking/v1alpha3"

Index

Package Files

destination_rule.pb.go destination_rule_deepcopy.gen.go destination_rule_json.gen.go envoy_filter.pb.go envoy_filter_deepcopy.gen.go envoy_filter_json.gen.go gateway.pb.go gateway_deepcopy.gen.go gateway_json.gen.go service_entry.pb.go service_entry_deepcopy.gen.go service_entry_json.gen.go sidecar.pb.go sidecar_deepcopy.gen.go sidecar_json.gen.go virtual_service.pb.go virtual_service_deepcopy.gen.go virtual_service_json.gen.go

Variables

var (
    ErrInvalidLengthDestinationRule = fmt.Errorf("proto: negative length found during unmarshaling")
    ErrIntOverflowDestinationRule   = fmt.Errorf("proto: integer overflow")
)
var (
    DestinationRuleMarshaler   = &github_com_gogo_protobuf_jsonpb.Marshaler{}
    DestinationRuleUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{}
)
var (
    ErrInvalidLengthEnvoyFilter = fmt.Errorf("proto: negative length found during unmarshaling")
    ErrIntOverflowEnvoyFilter   = fmt.Errorf("proto: integer overflow")
)
var (
    EnvoyFilterMarshaler   = &github_com_gogo_protobuf_jsonpb.Marshaler{}
    EnvoyFilterUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{}
)
var (
    ErrInvalidLengthGateway = fmt.Errorf("proto: negative length found during unmarshaling")
    ErrIntOverflowGateway   = fmt.Errorf("proto: integer overflow")
)
var (
    GatewayMarshaler   = &github_com_gogo_protobuf_jsonpb.Marshaler{}
    GatewayUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{}
)
var (
    ErrInvalidLengthServiceEntry = fmt.Errorf("proto: negative length found during unmarshaling")
    ErrIntOverflowServiceEntry   = fmt.Errorf("proto: integer overflow")
)
var (
    ServiceEntryMarshaler   = &github_com_gogo_protobuf_jsonpb.Marshaler{}
    ServiceEntryUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{}
)
var (
    ErrInvalidLengthSidecar = fmt.Errorf("proto: negative length found during unmarshaling")
    ErrIntOverflowSidecar   = fmt.Errorf("proto: integer overflow")
)
var (
    SidecarMarshaler   = &github_com_gogo_protobuf_jsonpb.Marshaler{}
    SidecarUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{}
)
var (
    ErrInvalidLengthVirtualService = fmt.Errorf("proto: negative length found during unmarshaling")
    ErrIntOverflowVirtualService   = fmt.Errorf("proto: integer overflow")
)
var (
    VirtualServiceMarshaler   = &github_com_gogo_protobuf_jsonpb.Marshaler{}
    VirtualServiceUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{}
)
var CaptureMode_name = map[int32]string{
    0:  "DEFAULT",
    1:  "IPTABLES",
    2:  "NONE",
}
var CaptureMode_value = map[string]int32{
    "DEFAULT":  0,
    "IPTABLES": 1,
    "NONE":     2,
}
var ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy_name = map[int32]string{
    0:  "DEFAULT",
    1:  "DO_NOT_UPGRADE",
    2:  "UPGRADE",
}
var ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy_value = map[string]int32{
    "DEFAULT":        0,
    "DO_NOT_UPGRADE": 1,
    "UPGRADE":        2,
}
var EnvoyFilter_ApplyTo_name = map[int32]string{
    0:  "INVALID",
    1:  "LISTENER",
    2:  "FILTER_CHAIN",
    3:  "NETWORK_FILTER",
    4:  "HTTP_FILTER",
    5:  "ROUTE_CONFIGURATION",
    6:  "VIRTUAL_HOST",
    7:  "HTTP_ROUTE",
    8:  "CLUSTER",
}
var EnvoyFilter_ApplyTo_value = map[string]int32{
    "INVALID":             0,
    "LISTENER":            1,
    "FILTER_CHAIN":        2,
    "NETWORK_FILTER":      3,
    "HTTP_FILTER":         4,
    "ROUTE_CONFIGURATION": 5,
    "VIRTUAL_HOST":        6,
    "HTTP_ROUTE":          7,
    "CLUSTER":             8,
}
var EnvoyFilter_DeprecatedListenerMatch_ListenerProtocol_name = map[int32]string{
    0:  "ALL",
    1:  "HTTP",
    2:  "TCP",
}
var EnvoyFilter_DeprecatedListenerMatch_ListenerProtocol_value = map[string]int32{
    "ALL":  0,
    "HTTP": 1,
    "TCP":  2,
}
var EnvoyFilter_DeprecatedListenerMatch_ListenerType_name = map[int32]string{
    0:  "ANY",
    1:  "SIDECAR_INBOUND",
    2:  "SIDECAR_OUTBOUND",
    3:  "GATEWAY",
}
var EnvoyFilter_DeprecatedListenerMatch_ListenerType_value = map[string]int32{
    "ANY":              0,
    "SIDECAR_INBOUND":  1,
    "SIDECAR_OUTBOUND": 2,
    "GATEWAY":          3,
}
var EnvoyFilter_Filter_FilterType_name = map[int32]string{
    0:  "INVALID",
    1:  "HTTP",
    2:  "NETWORK",
}
var EnvoyFilter_Filter_FilterType_value = map[string]int32{
    "INVALID": 0,
    "HTTP":    1,
    "NETWORK": 2,
}
var EnvoyFilter_InsertPosition_Index_name = map[int32]string{
    0:  "FIRST",
    1:  "LAST",
    2:  "BEFORE",
    3:  "AFTER",
}
var EnvoyFilter_InsertPosition_Index_value = map[string]int32{
    "FIRST":  0,
    "LAST":   1,
    "BEFORE": 2,
    "AFTER":  3,
}
var EnvoyFilter_PatchContext_name = map[int32]string{
    0:  "ANY",
    1:  "SIDECAR_INBOUND",
    2:  "SIDECAR_OUTBOUND",
    3:  "GATEWAY",
}
var EnvoyFilter_PatchContext_value = map[string]int32{
    "ANY":              0,
    "SIDECAR_INBOUND":  1,
    "SIDECAR_OUTBOUND": 2,
    "GATEWAY":          3,
}
var EnvoyFilter_Patch_Operation_name = map[int32]string{
    0:  "INVALID",
    1:  "MERGE",
    2:  "ADD",
    3:  "REMOVE",
    4:  "INSERT_BEFORE",
    5:  "INSERT_AFTER",
}
var EnvoyFilter_Patch_Operation_value = map[string]int32{
    "INVALID":       0,
    "MERGE":         1,
    "ADD":           2,
    "REMOVE":        3,
    "INSERT_BEFORE": 4,
    "INSERT_AFTER":  5,
}
var EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action_name = map[int32]string{
    0:  "ANY",
    1:  "ROUTE",
    2:  "REDIRECT",
    3:  "DIRECT_RESPONSE",
}
var EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action_value = map[string]int32{
    "ANY":             0,
    "ROUTE":           1,
    "REDIRECT":        2,
    "DIRECT_RESPONSE": 3,
}
var LoadBalancerSettings_SimpleLB_name = map[int32]string{
    0:  "ROUND_ROBIN",
    1:  "LEAST_CONN",
    2:  "RANDOM",
    3:  "PASSTHROUGH",
}
var LoadBalancerSettings_SimpleLB_value = map[string]int32{
    "ROUND_ROBIN": 0,
    "LEAST_CONN":  1,
    "RANDOM":      2,
    "PASSTHROUGH": 3,
}
var OutboundTrafficPolicy_Mode_name = map[int32]string{
    0:  "REGISTRY_ONLY",
    1:  "ALLOW_ANY",
}
var OutboundTrafficPolicy_Mode_value = map[string]int32{
    "REGISTRY_ONLY": 0,
    "ALLOW_ANY":     1,
}
var Server_TLSOptions_TLSProtocol_name = map[int32]string{
    0:  "TLS_AUTO",
    1:  "TLSV1_0",
    2:  "TLSV1_1",
    3:  "TLSV1_2",
    4:  "TLSV1_3",
}
var Server_TLSOptions_TLSProtocol_value = map[string]int32{
    "TLS_AUTO": 0,
    "TLSV1_0":  1,
    "TLSV1_1":  2,
    "TLSV1_2":  3,
    "TLSV1_3":  4,
}
var Server_TLSOptions_TLSmode_name = map[int32]string{
    0:  "PASSTHROUGH",
    1:  "SIMPLE",
    2:  "MUTUAL",
    3:  "AUTO_PASSTHROUGH",
    4:  "ISTIO_MUTUAL",
}
var Server_TLSOptions_TLSmode_value = map[string]int32{
    "PASSTHROUGH":      0,
    "SIMPLE":           1,
    "MUTUAL":           2,
    "AUTO_PASSTHROUGH": 3,
    "ISTIO_MUTUAL":     4,
}
var ServiceEntry_Location_name = map[int32]string{
    0:  "MESH_EXTERNAL",
    1:  "MESH_INTERNAL",
}
var ServiceEntry_Location_value = map[string]int32{
    "MESH_EXTERNAL": 0,
    "MESH_INTERNAL": 1,
}
var ServiceEntry_Resolution_name = map[int32]string{
    0:  "NONE",
    1:  "STATIC",
    2:  "DNS",
}
var ServiceEntry_Resolution_value = map[string]int32{
    "NONE":   0,
    "STATIC": 1,
    "DNS":    2,
}
var TLSSettings_TLSmode_name = map[int32]string{
    0:  "DISABLE",
    1:  "SIMPLE",
    2:  "MUTUAL",
    3:  "ISTIO_MUTUAL",
}
var TLSSettings_TLSmode_value = map[string]int32{
    "DISABLE":      0,
    "SIMPLE":       1,
    "MUTUAL":       2,
    "ISTIO_MUTUAL": 3,
}

type CaptureMode Uses

type CaptureMode int32

`CaptureMode` describes how traffic to a listener is expected to be captured. Applicable only when the listener is bound to an IP.

const (
    // The default capture mode defined by the environment.
    CaptureMode_DEFAULT CaptureMode = 0
    // Capture traffic using IPtables redirection.
    CaptureMode_IPTABLES CaptureMode = 1
    // No traffic capture. When used in an egress listener, the application is
    // expected to explicitly communicate with the listener port or Unix
    // domain socket. When used in an ingress listener, care needs to be taken
    // to ensure that the listener port is not in use by other processes on
    // the host.
    CaptureMode_NONE CaptureMode = 2
)

func (CaptureMode) EnumDescriptor Uses

func (CaptureMode) EnumDescriptor() ([]byte, []int)

func (CaptureMode) String Uses

func (x CaptureMode) String() string

type ConnectionPoolSettings Uses

type ConnectionPoolSettings struct {
    // Settings common to both HTTP and TCP upstream connections.
    Tcp *ConnectionPoolSettings_TCPSettings `protobuf:"bytes,1,opt,name=tcp,proto3" json:"tcp,omitempty"`
    // HTTP connection pool settings.
    Http                 *ConnectionPoolSettings_HTTPSettings `protobuf:"bytes,2,opt,name=http,proto3" json:"http,omitempty"`
    XXX_NoUnkeyedLiteral struct{}                             `json:"-"`
    XXX_unrecognized     []byte                               `json:"-"`
    XXX_sizecache        int32                                `json:"-"`
}

Connection pool settings for an upstream host. The settings apply to each individual host in the upstream service. See Envoy's [circuit breaker](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/circuit_breaking) for more details. Connection pool settings can be applied at the TCP level as well as at HTTP level.

For example, the following rule sets a limit of 100 connections to redis service called myredissrv with a connect timeout of 30ms

“`yaml apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata:

name: bookinfo-redis

spec:

host: myredissrv.prod.svc.cluster.local
trafficPolicy:
  connectionPool:
    tcp:
      maxConnections: 100
      connectTimeout: 30ms
      tcpKeepalive:
        time: 7200s
        interval: 75s

“`

func (*ConnectionPoolSettings) Descriptor Uses

func (*ConnectionPoolSettings) Descriptor() ([]byte, []int)

func (*ConnectionPoolSettings) GetHttp Uses

func (m *ConnectionPoolSettings) GetHttp() *ConnectionPoolSettings_HTTPSettings

func (*ConnectionPoolSettings) GetTcp Uses

func (m *ConnectionPoolSettings) GetTcp() *ConnectionPoolSettings_TCPSettings

func (*ConnectionPoolSettings) Marshal Uses

func (m *ConnectionPoolSettings) Marshal() (dAtA []byte, err error)

func (*ConnectionPoolSettings) MarshalJSON Uses

func (this *ConnectionPoolSettings) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for ConnectionPoolSettings

func (*ConnectionPoolSettings) MarshalTo Uses

func (m *ConnectionPoolSettings) MarshalTo(dAtA []byte) (int, error)

func (*ConnectionPoolSettings) MarshalToSizedBuffer Uses

func (m *ConnectionPoolSettings) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ConnectionPoolSettings) ProtoMessage Uses

func (*ConnectionPoolSettings) ProtoMessage()

func (*ConnectionPoolSettings) Reset Uses

func (m *ConnectionPoolSettings) Reset()

func (*ConnectionPoolSettings) Size Uses

func (m *ConnectionPoolSettings) Size() (n int)

func (*ConnectionPoolSettings) String Uses

func (m *ConnectionPoolSettings) String() string

func (*ConnectionPoolSettings) Unmarshal Uses

func (m *ConnectionPoolSettings) Unmarshal(dAtA []byte) error

func (*ConnectionPoolSettings) UnmarshalJSON Uses

func (this *ConnectionPoolSettings) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for ConnectionPoolSettings

func (*ConnectionPoolSettings) XXX_DiscardUnknown Uses

func (m *ConnectionPoolSettings) XXX_DiscardUnknown()

func (*ConnectionPoolSettings) XXX_Marshal Uses

func (m *ConnectionPoolSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ConnectionPoolSettings) XXX_Merge Uses

func (m *ConnectionPoolSettings) XXX_Merge(src proto.Message)

func (*ConnectionPoolSettings) XXX_Size Uses

func (m *ConnectionPoolSettings) XXX_Size() int

func (*ConnectionPoolSettings) XXX_Unmarshal Uses

func (m *ConnectionPoolSettings) XXX_Unmarshal(b []byte) error

type ConnectionPoolSettings_HTTPSettings Uses

type ConnectionPoolSettings_HTTPSettings struct {
    // Maximum number of pending HTTP requests to a destination. Default 2^32-1.
    Http1MaxPendingRequests int32 `protobuf:"varint,1,opt,name=http1_max_pending_requests,json=http1MaxPendingRequests,proto3" json:"http1_max_pending_requests,omitempty"`
    // Maximum number of requests to a backend. Default 2^32-1.
    Http2MaxRequests int32 `protobuf:"varint,2,opt,name=http2_max_requests,json=http2MaxRequests,proto3" json:"http2_max_requests,omitempty"`
    // Maximum number of requests per connection to a backend. Setting this
    // parameter to 1 disables keep alive. Default 0, meaning "unlimited",
    // up to 2^29.
    MaxRequestsPerConnection int32 `protobuf:"varint,3,opt,name=max_requests_per_connection,json=maxRequestsPerConnection,proto3" json:"max_requests_per_connection,omitempty"`
    // Maximum number of retries that can be outstanding to all hosts in a
    // cluster at a given time. Defaults to 2^32-1.
    MaxRetries int32 `protobuf:"varint,4,opt,name=max_retries,json=maxRetries,proto3" json:"max_retries,omitempty"`
    // The idle timeout for upstream connection pool connections. The idle timeout is defined as the period in which there are no active requests.
    // If not set, the default is 1 hour. When the idle timeout is reached the connection will be closed.
    // Note that request based timeouts mean that HTTP/2 PINGs will not keep the connection alive. Applies to both HTTP1.1 and HTTP2 connections.
    IdleTimeout *types.Duration `protobuf:"bytes,5,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"`
    // Specify if http1.1 connection should be upgraded to http2 for the associated destination.
    H2UpgradePolicy      ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy `protobuf:"varint,6,opt,name=h2_upgrade_policy,json=h2UpgradePolicy,proto3,enum=istio.networking.v1alpha3.ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy" json:"h2_upgrade_policy,omitempty"`
    XXX_NoUnkeyedLiteral struct{}                                            `json:"-"`
    XXX_unrecognized     []byte                                              `json:"-"`
    XXX_sizecache        int32                                               `json:"-"`
}

Settings applicable to HTTP1.1/HTTP2/GRPC connections.

func (*ConnectionPoolSettings_HTTPSettings) Descriptor Uses

func (*ConnectionPoolSettings_HTTPSettings) Descriptor() ([]byte, []int)

func (*ConnectionPoolSettings_HTTPSettings) GetH2UpgradePolicy Uses

func (m *ConnectionPoolSettings_HTTPSettings) GetH2UpgradePolicy() ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy

func (*ConnectionPoolSettings_HTTPSettings) GetHttp1MaxPendingRequests Uses

func (m *ConnectionPoolSettings_HTTPSettings) GetHttp1MaxPendingRequests() int32

func (*ConnectionPoolSettings_HTTPSettings) GetHttp2MaxRequests Uses

func (m *ConnectionPoolSettings_HTTPSettings) GetHttp2MaxRequests() int32

func (*ConnectionPoolSettings_HTTPSettings) GetIdleTimeout Uses

func (m *ConnectionPoolSettings_HTTPSettings) GetIdleTimeout() *types.Duration

func (*ConnectionPoolSettings_HTTPSettings) GetMaxRequestsPerConnection Uses

func (m *ConnectionPoolSettings_HTTPSettings) GetMaxRequestsPerConnection() int32

func (*ConnectionPoolSettings_HTTPSettings) GetMaxRetries Uses

func (m *ConnectionPoolSettings_HTTPSettings) GetMaxRetries() int32

func (*ConnectionPoolSettings_HTTPSettings) Marshal Uses

func (m *ConnectionPoolSettings_HTTPSettings) Marshal() (dAtA []byte, err error)

func (*ConnectionPoolSettings_HTTPSettings) MarshalJSON Uses

func (this *ConnectionPoolSettings_HTTPSettings) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for ConnectionPoolSettings_HTTPSettings

func (*ConnectionPoolSettings_HTTPSettings) MarshalTo Uses

func (m *ConnectionPoolSettings_HTTPSettings) MarshalTo(dAtA []byte) (int, error)

func (*ConnectionPoolSettings_HTTPSettings) MarshalToSizedBuffer Uses

func (m *ConnectionPoolSettings_HTTPSettings) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ConnectionPoolSettings_HTTPSettings) ProtoMessage Uses

func (*ConnectionPoolSettings_HTTPSettings) ProtoMessage()

func (*ConnectionPoolSettings_HTTPSettings) Reset Uses

func (m *ConnectionPoolSettings_HTTPSettings) Reset()

func (*ConnectionPoolSettings_HTTPSettings) Size Uses

func (m *ConnectionPoolSettings_HTTPSettings) Size() (n int)

func (*ConnectionPoolSettings_HTTPSettings) String Uses

func (m *ConnectionPoolSettings_HTTPSettings) String() string

func (*ConnectionPoolSettings_HTTPSettings) Unmarshal Uses

func (m *ConnectionPoolSettings_HTTPSettings) Unmarshal(dAtA []byte) error

func (*ConnectionPoolSettings_HTTPSettings) UnmarshalJSON Uses

func (this *ConnectionPoolSettings_HTTPSettings) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for ConnectionPoolSettings_HTTPSettings

func (*ConnectionPoolSettings_HTTPSettings) XXX_DiscardUnknown Uses

func (m *ConnectionPoolSettings_HTTPSettings) XXX_DiscardUnknown()

func (*ConnectionPoolSettings_HTTPSettings) XXX_Marshal Uses

func (m *ConnectionPoolSettings_HTTPSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ConnectionPoolSettings_HTTPSettings) XXX_Merge Uses

func (m *ConnectionPoolSettings_HTTPSettings) XXX_Merge(src proto.Message)

func (*ConnectionPoolSettings_HTTPSettings) XXX_Size Uses

func (m *ConnectionPoolSettings_HTTPSettings) XXX_Size() int

func (*ConnectionPoolSettings_HTTPSettings) XXX_Unmarshal Uses

func (m *ConnectionPoolSettings_HTTPSettings) XXX_Unmarshal(b []byte) error

type ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy Uses

type ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy int32

Policy for upgrading http1.1 connections to http2.

const (
    // Use the global default.
    ConnectionPoolSettings_HTTPSettings_DEFAULT ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy = 0
    // Do not upgrade the connection to http2.
    // This opt-out option overrides the default.
    ConnectionPoolSettings_HTTPSettings_DO_NOT_UPGRADE ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy = 1
    // Upgrade the connection to http2.
    // This opt-in option overrides the default.
    ConnectionPoolSettings_HTTPSettings_UPGRADE ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy = 2
)

func (ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy) EnumDescriptor Uses

func (ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy) EnumDescriptor() ([]byte, []int)

func (ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy) String Uses

func (x ConnectionPoolSettings_HTTPSettings_H2UpgradePolicy) String() string

type ConnectionPoolSettings_TCPSettings Uses

type ConnectionPoolSettings_TCPSettings struct {
    // Maximum number of HTTP1 /TCP connections to a destination host. Default 2^32-1.
    MaxConnections int32 `protobuf:"varint,1,opt,name=max_connections,json=maxConnections,proto3" json:"max_connections,omitempty"`
    // TCP connection timeout.
    ConnectTimeout *types.Duration `protobuf:"bytes,2,opt,name=connect_timeout,json=connectTimeout,proto3" json:"connect_timeout,omitempty"`
    // If set then set SO_KEEPALIVE on the socket to enable TCP Keepalives.
    TcpKeepalive         *ConnectionPoolSettings_TCPSettings_TcpKeepalive `protobuf:"bytes,3,opt,name=tcp_keepalive,json=tcpKeepalive,proto3" json:"tcp_keepalive,omitempty"`
    XXX_NoUnkeyedLiteral struct{}                                         `json:"-"`
    XXX_unrecognized     []byte                                           `json:"-"`
    XXX_sizecache        int32                                            `json:"-"`
}

Settings common to both HTTP and TCP upstream connections.

func (*ConnectionPoolSettings_TCPSettings) Descriptor Uses

func (*ConnectionPoolSettings_TCPSettings) Descriptor() ([]byte, []int)

func (*ConnectionPoolSettings_TCPSettings) GetConnectTimeout Uses

func (m *ConnectionPoolSettings_TCPSettings) GetConnectTimeout() *types.Duration

func (*ConnectionPoolSettings_TCPSettings) GetMaxConnections Uses

func (m *ConnectionPoolSettings_TCPSettings) GetMaxConnections() int32

func (*ConnectionPoolSettings_TCPSettings) GetTcpKeepalive Uses

func (m *ConnectionPoolSettings_TCPSettings) GetTcpKeepalive() *ConnectionPoolSettings_TCPSettings_TcpKeepalive

func (*ConnectionPoolSettings_TCPSettings) Marshal Uses

func (m *ConnectionPoolSettings_TCPSettings) Marshal() (dAtA []byte, err error)

func (*ConnectionPoolSettings_TCPSettings) MarshalJSON Uses

func (this *ConnectionPoolSettings_TCPSettings) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for ConnectionPoolSettings_TCPSettings

func (*ConnectionPoolSettings_TCPSettings) MarshalTo Uses

func (m *ConnectionPoolSettings_TCPSettings) MarshalTo(dAtA []byte) (int, error)

func (*ConnectionPoolSettings_TCPSettings) MarshalToSizedBuffer Uses

func (m *ConnectionPoolSettings_TCPSettings) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ConnectionPoolSettings_TCPSettings) ProtoMessage Uses

func (*ConnectionPoolSettings_TCPSettings) ProtoMessage()

func (*ConnectionPoolSettings_TCPSettings) Reset Uses

func (m *ConnectionPoolSettings_TCPSettings) Reset()

func (*ConnectionPoolSettings_TCPSettings) Size Uses

func (m *ConnectionPoolSettings_TCPSettings) Size() (n int)

func (*ConnectionPoolSettings_TCPSettings) String Uses

func (m *ConnectionPoolSettings_TCPSettings) String() string

func (*ConnectionPoolSettings_TCPSettings) Unmarshal Uses

func (m *ConnectionPoolSettings_TCPSettings) Unmarshal(dAtA []byte) error

func (*ConnectionPoolSettings_TCPSettings) UnmarshalJSON Uses

func (this *ConnectionPoolSettings_TCPSettings) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for ConnectionPoolSettings_TCPSettings

func (*ConnectionPoolSettings_TCPSettings) XXX_DiscardUnknown Uses

func (m *ConnectionPoolSettings_TCPSettings) XXX_DiscardUnknown()

func (*ConnectionPoolSettings_TCPSettings) XXX_Marshal Uses

func (m *ConnectionPoolSettings_TCPSettings) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ConnectionPoolSettings_TCPSettings) XXX_Merge Uses

func (m *ConnectionPoolSettings_TCPSettings) XXX_Merge(src proto.Message)

func (*ConnectionPoolSettings_TCPSettings) XXX_Size Uses

func (m *ConnectionPoolSettings_TCPSettings) XXX_Size() int

func (*ConnectionPoolSettings_TCPSettings) XXX_Unmarshal Uses

func (m *ConnectionPoolSettings_TCPSettings) XXX_Unmarshal(b []byte) error

type ConnectionPoolSettings_TCPSettings_TcpKeepalive Uses

type ConnectionPoolSettings_TCPSettings_TcpKeepalive struct {
    // Maximum number of keepalive probes to send without response before
    // deciding the connection is dead. Default is to use the OS level configuration
    // (unless overridden, Linux defaults to 9.)
    Probes uint32 `protobuf:"varint,1,opt,name=probes,proto3" json:"probes,omitempty"`
    // The time duration a connection needs to be idle before keep-alive
    // probes start being sent. Default is to use the OS level configuration
    // (unless overridden, Linux defaults to 7200s (ie 2 hours.)
    Time *types.Duration `protobuf:"bytes,2,opt,name=time,proto3" json:"time,omitempty"`
    // The time duration between keep-alive probes.
    // Default is to use the OS level configuration
    // (unless overridden, Linux defaults to 75s.)
    Interval             *types.Duration `protobuf:"bytes,3,opt,name=interval,proto3" json:"interval,omitempty"`
    XXX_NoUnkeyedLiteral struct{}        `json:"-"`
    XXX_unrecognized     []byte          `json:"-"`
    XXX_sizecache        int32           `json:"-"`
}

TCP keepalive.

func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) Descriptor Uses

func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) Descriptor() ([]byte, []int)

func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetInterval Uses

func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetInterval() *types.Duration

func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetProbes Uses

func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetProbes() uint32

func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetTime Uses

func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) GetTime() *types.Duration

func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) Marshal Uses

func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Marshal() (dAtA []byte, err error)

func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) MarshalJSON Uses

func (this *ConnectionPoolSettings_TCPSettings_TcpKeepalive) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for ConnectionPoolSettings_TCPSettings_TcpKeepalive

func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) MarshalTo Uses

func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) MarshalTo(dAtA []byte) (int, error)

func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) MarshalToSizedBuffer Uses

func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) ProtoMessage Uses

func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) ProtoMessage()

func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) Reset Uses

func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Reset()

func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) Size Uses

func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Size() (n int)

func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) String Uses

func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) String() string

func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal Uses

func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) Unmarshal(dAtA []byte) error

func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) UnmarshalJSON Uses

func (this *ConnectionPoolSettings_TCPSettings_TcpKeepalive) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for ConnectionPoolSettings_TCPSettings_TcpKeepalive

func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_DiscardUnknown Uses

func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_DiscardUnknown()

func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Marshal Uses

func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Merge Uses

func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Merge(src proto.Message)

func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Size Uses

func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Size() int

func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Unmarshal Uses

func (m *ConnectionPoolSettings_TCPSettings_TcpKeepalive) XXX_Unmarshal(b []byte) error

type CorsPolicy Uses

type CorsPolicy struct {
    // The list of origins that are allowed to perform CORS requests. The
    // content will be serialized into the Access-Control-Allow-Origin
    // header. Wildcard * will allow all origins.
    AllowOrigin []string `protobuf:"bytes,1,rep,name=allow_origin,json=allowOrigin,proto3" json:"allow_origin,omitempty"`
    // List of HTTP methods allowed to access the resource. The content will
    // be serialized into the Access-Control-Allow-Methods header.
    AllowMethods []string `protobuf:"bytes,2,rep,name=allow_methods,json=allowMethods,proto3" json:"allow_methods,omitempty"`
    // List of HTTP headers that can be used when requesting the
    // resource. Serialized to Access-Control-Allow-Headers header.
    AllowHeaders []string `protobuf:"bytes,3,rep,name=allow_headers,json=allowHeaders,proto3" json:"allow_headers,omitempty"`
    // A white list of HTTP headers that the browsers are allowed to
    // access. Serialized into Access-Control-Expose-Headers header.
    ExposeHeaders []string `protobuf:"bytes,4,rep,name=expose_headers,json=exposeHeaders,proto3" json:"expose_headers,omitempty"`
    // Specifies how long the results of a preflight request can be
    // cached. Translates to the `Access-Control-Max-Age` header.
    MaxAge *types.Duration `protobuf:"bytes,5,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"`
    // Indicates whether the caller is allowed to send the actual request
    // (not the preflight) using credentials. Translates to
    // `Access-Control-Allow-Credentials` header.
    AllowCredentials     *types.BoolValue `protobuf:"bytes,6,opt,name=allow_credentials,json=allowCredentials,proto3" json:"allow_credentials,omitempty"`
    XXX_NoUnkeyedLiteral struct{}         `json:"-"`
    XXX_unrecognized     []byte           `json:"-"`
    XXX_sizecache        int32            `json:"-"`
}

Describes the Cross-Origin Resource Sharing (CORS) policy, for a given service. Refer to [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS) for further details about cross origin resource sharing. For example, the following rule restricts cross origin requests to those originating from example.com domain using HTTP POST/GET, and sets the `Access-Control-Allow-Credentials` header to false. In addition, it only exposes `X-Foo-bar` header and sets an expiry period of 1 day.

“`yaml apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata:

name: ratings-route

spec:

hosts:
- ratings.prod.svc.cluster.local
http:
- route:
  - destination:
      host: ratings.prod.svc.cluster.local
      subset: v1
  corsPolicy:
    allowOrigin:
    - example.com
    allowMethods:
    - POST
    - GET
    allowCredentials: false
    allowHeaders:
    - X-Foo-Bar
    maxAge: "24h"

“`

func (*CorsPolicy) Descriptor Uses

func (*CorsPolicy) Descriptor() ([]byte, []int)

func (*CorsPolicy) GetAllowCredentials Uses

func (m *CorsPolicy) GetAllowCredentials() *types.BoolValue

func (*CorsPolicy) GetAllowHeaders Uses

func (m *CorsPolicy) GetAllowHeaders() []string

func (*CorsPolicy) GetAllowMethods Uses

func (m *CorsPolicy) GetAllowMethods() []string

func (*CorsPolicy) GetAllowOrigin Uses

func (m *CorsPolicy) GetAllowOrigin() []string

func (*CorsPolicy) GetExposeHeaders Uses

func (m *CorsPolicy) GetExposeHeaders() []string

func (*CorsPolicy) GetMaxAge Uses

func (m *CorsPolicy) GetMaxAge() *types.Duration

func (*CorsPolicy) Marshal Uses

func (m *CorsPolicy) Marshal() (dAtA []byte, err error)

func (*CorsPolicy) MarshalJSON Uses

func (this *CorsPolicy) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for CorsPolicy

func (*CorsPolicy) MarshalTo Uses

func (m *CorsPolicy) MarshalTo(dAtA []byte) (int, error)

func (*CorsPolicy) MarshalToSizedBuffer Uses

func (m *CorsPolicy) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*CorsPolicy) ProtoMessage Uses

func (*CorsPolicy) ProtoMessage()

func (*CorsPolicy) Reset Uses

func (m *CorsPolicy) Reset()

func (*CorsPolicy) Size Uses

func (m *CorsPolicy) Size() (n int)

func (*CorsPolicy) String Uses

func (m *CorsPolicy) String() string

func (*CorsPolicy) Unmarshal Uses

func (m *CorsPolicy) Unmarshal(dAtA []byte) error

func (*CorsPolicy) UnmarshalJSON Uses

func (this *CorsPolicy) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for CorsPolicy

func (*CorsPolicy) XXX_DiscardUnknown Uses

func (m *CorsPolicy) XXX_DiscardUnknown()

func (*CorsPolicy) XXX_Marshal Uses

func (m *CorsPolicy) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*CorsPolicy) XXX_Merge Uses

func (m *CorsPolicy) XXX_Merge(src proto.Message)

func (*CorsPolicy) XXX_Size Uses

func (m *CorsPolicy) XXX_Size() int

func (*CorsPolicy) XXX_Unmarshal Uses

func (m *CorsPolicy) XXX_Unmarshal(b []byte) error

type Destination Uses

type Destination struct {
    // The name of a service from the service registry. Service
    // names are looked up from the platform's service registry (e.g.,
    // Kubernetes services, Consul services, etc.) and from the hosts
    // declared by [ServiceEntry](https://istio.io/docs/reference/config/networking/service-entry/#ServiceEntry). Traffic forwarded to
    // destinations that are not found in either of the two, will be dropped.
    //
    // *Note for Kubernetes users*: When short names are used (e.g. "reviews"
    // instead of "reviews.default.svc.cluster.local"), Istio will interpret
    // the short name based on the namespace of the rule, not the service. A
    // rule in the "default" namespace containing a host "reviews will be
    // interpreted as "reviews.default.svc.cluster.local", irrespective of
    // the actual namespace associated with the reviews service. _To avoid
    // potential misconfigurations, it is recommended to always use fully
    // qualified domain names over short names._
    Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
    // The name of a subset within the service. Applicable only to services
    // within the mesh. The subset must be defined in a corresponding
    // DestinationRule.
    Subset string `protobuf:"bytes,2,opt,name=subset,proto3" json:"subset,omitempty"`
    // Specifies the port on the host that is being addressed. If a service
    // exposes only a single port it is not required to explicitly select the
    // port.
    Port                 *PortSelector `protobuf:"bytes,3,opt,name=port,proto3" json:"port,omitempty"`
    XXX_NoUnkeyedLiteral struct{}      `json:"-"`
    XXX_unrecognized     []byte        `json:"-"`
    XXX_sizecache        int32         `json:"-"`
}

Destination indicates the network addressable service to which the request/connection will be sent after processing a routing rule. The destination.host should unambiguously refer to a service in the service registry. Istio's service registry is composed of all the services found in the platform's service registry (e.g., Kubernetes services, Consul services), as well as services declared through the [ServiceEntry](https://istio.io/docs/reference/config/networking/service-entry/#ServiceEntry) resource.

*Note for Kubernetes users*: When short names are used (e.g. "reviews" instead of "reviews.default.svc.cluster.local"), Istio will interpret the short name based on the namespace of the rule, not the service. A rule in the "default" namespace containing a host "reviews will be interpreted as "reviews.default.svc.cluster.local", irrespective of the actual namespace associated with the reviews service. _To avoid potential misconfigurations, it is recommended to always use fully qualified domain names over short names._

The following Kubernetes example routes all traffic by default to pods of the reviews service with label "version: v1" (i.e., subset v1), and some to subset v2, in a Kubernetes environment.

“`yaml apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata:

name: reviews-route
namespace: foo

spec:

hosts:
- reviews # interpreted as reviews.foo.svc.cluster.local
http:
- match:
  - uri:
      prefix: "/wpcatalog"
  - uri:
      prefix: "/consumercatalog"
  rewrite:
    uri: "/newcatalog"
  route:
  - destination:
      host: reviews # interpreted as reviews.foo.svc.cluster.local
      subset: v2
- route:
  - destination:
      host: reviews # interpreted as reviews.foo.svc.cluster.local
      subset: v1

“`

And the associated DestinationRule

“`yaml apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata:

name: reviews-destination
namespace: foo

spec:

host: reviews # interpreted as reviews.foo.svc.cluster.local
subsets:
- name: v1
  labels:
    version: v1
- name: v2
  labels:
    version: v2

“`

The following VirtualService sets a timeout of 5s for all calls to productpage.prod.svc.cluster.local service in Kubernetes. Notice that there are no subsets defined in this rule. Istio will fetch all instances of productpage.prod.svc.cluster.local service from the service registry and populate the sidecar's load balancing pool. Also, notice that this rule is set in the istio-system namespace but uses the fully qualified domain name of the productpage service, productpage.prod.svc.cluster.local. Therefore the rule's namespace does not have an impact in resolving the name of the productpage service.

“`yaml apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata:

name: my-productpage-rule
namespace: istio-system

spec:

hosts:
- productpage.prod.svc.cluster.local # ignores rule namespace
http:
- timeout: 5s
  route:
  - destination:
      host: productpage.prod.svc.cluster.local

“`

To control routing for traffic bound to services outside the mesh, external services must first be added to Istio's internal service registry using the ServiceEntry resource. VirtualServices can then be defined to control traffic bound to these external services. For example, the following rules define a Service for wikipedia.org and set a timeout of 5s for http requests.

“`yaml apiVersion: networking.istio.io/v1alpha3 kind: ServiceEntry metadata:

name: external-svc-wikipedia

spec:

hosts:
- wikipedia.org
location: MESH_EXTERNAL
ports:
- number: 80
  name: example-http
  protocol: HTTP
resolution: DNS

apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata:

name: my-wiki-rule

spec:

hosts:
- wikipedia.org
http:
- timeout: 5s
  route:
  - destination:
      host: wikipedia.org

“`

func (*Destination) Descriptor Uses

func (*Destination) Descriptor() ([]byte, []int)

func (*Destination) GetHost Uses

func (m *Destination) GetHost() string

func (*Destination) GetPort Uses

func (m *Destination) GetPort() *PortSelector

func (*Destination) GetSubset Uses

func (m *Destination) GetSubset() string

func (*Destination) Marshal Uses

func (m *Destination) Marshal() (dAtA []byte, err error)

func (*Destination) MarshalJSON Uses

func (this *Destination) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for Destination

func (*Destination) MarshalTo Uses

func (m *Destination) MarshalTo(dAtA []byte) (int, error)

func (*Destination) MarshalToSizedBuffer Uses

func (m *Destination) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Destination) ProtoMessage Uses

func (*Destination) ProtoMessage()

func (*Destination) Reset Uses

func (m *Destination) Reset()

func (*Destination) Size Uses

func (m *Destination) Size() (n int)

func (*Destination) String Uses

func (m *Destination) String() string

func (*Destination) Unmarshal Uses

func (m *Destination) Unmarshal(dAtA []byte) error

func (*Destination) UnmarshalJSON Uses

func (this *Destination) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for Destination

func (*Destination) XXX_DiscardUnknown Uses

func (m *Destination) XXX_DiscardUnknown()

func (*Destination) XXX_Marshal Uses

func (m *Destination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Destination) XXX_Merge Uses

func (m *Destination) XXX_Merge(src proto.Message)

func (*Destination) XXX_Size Uses

func (m *Destination) XXX_Size() int

func (*Destination) XXX_Unmarshal Uses

func (m *Destination) XXX_Unmarshal(b []byte) error

type DestinationRule Uses

type DestinationRule struct {
    // The name of a service from the service registry. Service
    // names are looked up from the platform's service registry (e.g.,
    // Kubernetes services, Consul services, etc.) and from the hosts
    // declared by [ServiceEntries](https://istio.io/docs/reference/config/networking/service-entry/#ServiceEntry). Rules defined for
    // services that do not exist in the service registry will be ignored.
    //
    // *Note for Kubernetes users*: When short names are used (e.g. "reviews"
    // instead of "reviews.default.svc.cluster.local"), Istio will interpret
    // the short name based on the namespace of the rule, not the service. A
    // rule in the "default" namespace containing a host "reviews" will be
    // interpreted as "reviews.default.svc.cluster.local", irrespective of
    // the actual namespace associated with the reviews service. _To avoid
    // potential misconfigurations, it is recommended to always use fully
    // qualified domain names over short names._
    //
    // Note that the host field applies to both HTTP and TCP services.
    Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
    // Traffic policies to apply (load balancing policy, connection pool
    // sizes, outlier detection).
    TrafficPolicy *TrafficPolicy `protobuf:"bytes,2,opt,name=traffic_policy,json=trafficPolicy,proto3" json:"traffic_policy,omitempty"`
    // One or more named sets that represent individual versions of a
    // service. Traffic policies can be overridden at subset level.
    Subsets []*Subset `protobuf:"bytes,3,rep,name=subsets,proto3" json:"subsets,omitempty"`
    // A list of namespaces to which this destination rule is exported.
    // The resolution of a destination rule to apply to a service occurs in the
    // context of a hierarchy of namespaces. Exporting a destination rule allows
    // it to be included in the resolution hierarchy for services in
    // other namespaces. This feature provides a mechanism for service owners
    // and mesh administrators to control the visibility of destination rules
    // across namespace boundaries.
    //
    // If no namespaces are specified then the destination rule is exported to all
    // namespaces by default.
    //
    // The value "." is reserved and defines an export to the same namespace that
    // the destination rule is declared in. Similarly, the value "*" is reserved and
    // defines an export to all namespaces.
    //
    // NOTE: in the current release, the `exportTo` value is restricted to
    // "." or "*" (i.e., the current namespace or all namespaces).
    ExportTo             []string `protobuf:"bytes,4,rep,name=export_to,json=exportTo,proto3" json:"export_to,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

DestinationRule defines policies that apply to traffic intended for a service after routing has occurred.

<!-- go code generation tags +kubetype-gen +kubetype-gen:groupVersion=networking.istio.io/v1alpha3 +genclient +k8s:deepcopy-gen=true -->

func (*DestinationRule) DeepCopyInto Uses

func (in *DestinationRule) DeepCopyInto(out *DestinationRule)

DeepCopyInto supports using DestinationRule within kubernetes types, where deepcopy-gen is used.

func (*DestinationRule) Descriptor Uses

func (*DestinationRule) Descriptor() ([]byte, []int)

func (*DestinationRule) GetExportTo Uses

func (m *DestinationRule) GetExportTo() []string

func (*DestinationRule) GetHost Uses

func (m *DestinationRule) GetHost() string

func (*DestinationRule) GetSubsets Uses

func (m *DestinationRule) GetSubsets() []*Subset

func (*DestinationRule) GetTrafficPolicy Uses

func (m *DestinationRule) GetTrafficPolicy() *TrafficPolicy

func (*DestinationRule) Marshal Uses

func (m *DestinationRule) Marshal() (dAtA []byte, err error)

func (*DestinationRule) MarshalJSON Uses

func (this *DestinationRule) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for DestinationRule

func (*DestinationRule) MarshalTo Uses

func (m *DestinationRule) MarshalTo(dAtA []byte) (int, error)

func (*DestinationRule) MarshalToSizedBuffer Uses

func (m *DestinationRule) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*DestinationRule) ProtoMessage Uses

func (*DestinationRule) ProtoMessage()

func (*DestinationRule) Reset Uses

func (m *DestinationRule) Reset()

func (*DestinationRule) Size Uses

func (m *DestinationRule) Size() (n int)

func (*DestinationRule) String Uses

func (m *DestinationRule) String() string

func (*DestinationRule) Unmarshal Uses

func (m *DestinationRule) Unmarshal(dAtA []byte) error

func (*DestinationRule) UnmarshalJSON Uses

func (this *DestinationRule) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for DestinationRule

func (*DestinationRule) XXX_DiscardUnknown Uses

func (m *DestinationRule) XXX_DiscardUnknown()

func (*DestinationRule) XXX_Marshal Uses

func (m *DestinationRule) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*DestinationRule) XXX_Merge Uses

func (m *DestinationRule) XXX_Merge(src proto.Message)

func (*DestinationRule) XXX_Size Uses

func (m *DestinationRule) XXX_Size() int

func (*DestinationRule) XXX_Unmarshal Uses

func (m *DestinationRule) XXX_Unmarshal(b []byte) error

type EnvoyFilter Uses

type EnvoyFilter struct {
    // Deprecated. Use workload_selector instead.
    // $hide_from_docs
    WorkloadLabels map[string]string `protobuf:"bytes,1,rep,name=workload_labels,json=workloadLabels,proto3" json:"workload_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Deprecated: Do not use.
    // $hide_from_docs
    Filters []*EnvoyFilter_Filter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"` // Deprecated: Do not use.
    // Criteria used to select the specific set of pods/VMs on which
    // this patch configuration should be applied. If omitted, the set
    // of patches in this configuration will be applied to all workload
    // instances in the same namespace.  If omitted, the EnvoyFilter
    // patches will be applied to all workloads in the same
    // namespace. If the EnvoyFilter is present in the config root
    // namespace, it will be applied to all applicable workloads in any
    // namespace.
    WorkloadSelector *WorkloadSelector `protobuf:"bytes,3,opt,name=workload_selector,json=workloadSelector,proto3" json:"workload_selector,omitempty"`
    // One or more patches with match conditions.
    ConfigPatches        []*EnvoyFilter_EnvoyConfigObjectPatch `protobuf:"bytes,4,rep,name=config_patches,json=configPatches,proto3" json:"config_patches,omitempty"`
    XXX_NoUnkeyedLiteral struct{}                              `json:"-"`
    XXX_unrecognized     []byte                                `json:"-"`
    XXX_sizecache        int32                                 `json:"-"`
}

EnvoyFilter provides a mechanism to customize the Envoy configuration generated by Istio Pilot.

<!-- go code generation tags +kubetype-gen +kubetype-gen:groupVersion=networking.istio.io/v1alpha3 +genclient +k8s:deepcopy-gen=true -->

func (*EnvoyFilter) DeepCopyInto Uses

func (in *EnvoyFilter) DeepCopyInto(out *EnvoyFilter)

DeepCopyInto supports using EnvoyFilter within kubernetes types, where deepcopy-gen is used.

func (*EnvoyFilter) Descriptor Uses

func (*EnvoyFilter) Descriptor() ([]byte, []int)

func (*EnvoyFilter) GetConfigPatches Uses

func (m *EnvoyFilter) GetConfigPatches() []*EnvoyFilter_EnvoyConfigObjectPatch

func (*EnvoyFilter) GetFilters Uses

func (m *EnvoyFilter) GetFilters() []*EnvoyFilter_Filter

Deprecated: Do not use.

func (*EnvoyFilter) GetWorkloadLabels Uses

func (m *EnvoyFilter) GetWorkloadLabels() map[string]string

Deprecated: Do not use.

func (*EnvoyFilter) GetWorkloadSelector Uses

func (m *EnvoyFilter) GetWorkloadSelector() *WorkloadSelector

func (*EnvoyFilter) Marshal Uses

func (m *EnvoyFilter) Marshal() (dAtA []byte, err error)

func (*EnvoyFilter) MarshalJSON Uses

func (this *EnvoyFilter) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for EnvoyFilter

func (*EnvoyFilter) MarshalTo Uses

func (m *EnvoyFilter) MarshalTo(dAtA []byte) (int, error)

func (*EnvoyFilter) MarshalToSizedBuffer Uses

func (m *EnvoyFilter) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EnvoyFilter) ProtoMessage Uses

func (*EnvoyFilter) ProtoMessage()

func (*EnvoyFilter) Reset Uses

func (m *EnvoyFilter) Reset()

func (*EnvoyFilter) Size Uses

func (m *EnvoyFilter) Size() (n int)

func (*EnvoyFilter) String Uses

func (m *EnvoyFilter) String() string

func (*EnvoyFilter) Unmarshal Uses

func (m *EnvoyFilter) Unmarshal(dAtA []byte) error

func (*EnvoyFilter) UnmarshalJSON Uses

func (this *EnvoyFilter) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for EnvoyFilter

func (*EnvoyFilter) XXX_DiscardUnknown Uses

func (m *EnvoyFilter) XXX_DiscardUnknown()

func (*EnvoyFilter) XXX_Marshal Uses

func (m *EnvoyFilter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnvoyFilter) XXX_Merge Uses

func (m *EnvoyFilter) XXX_Merge(src proto.Message)

func (*EnvoyFilter) XXX_Size Uses

func (m *EnvoyFilter) XXX_Size() int

func (*EnvoyFilter) XXX_Unmarshal Uses

func (m *EnvoyFilter) XXX_Unmarshal(b []byte) error

type EnvoyFilter_ApplyTo Uses

type EnvoyFilter_ApplyTo int32

ApplyTo specifies where in the Envoy configuration, the given patch should be applied.

const (
    EnvoyFilter_INVALID EnvoyFilter_ApplyTo = 0
    // Applies the patch to the listener.
    EnvoyFilter_LISTENER EnvoyFilter_ApplyTo = 1
    // Applies the patch to the filter chain.
    EnvoyFilter_FILTER_CHAIN EnvoyFilter_ApplyTo = 2
    // Applies the patch to the network filter chain, to modify an
    // existing filter or add a new filter.
    EnvoyFilter_NETWORK_FILTER EnvoyFilter_ApplyTo = 3
    // Applies the patch to the HTTP filter chain in the http
    // connection manager, to modify an existing filter or add a new
    // filter.
    EnvoyFilter_HTTP_FILTER EnvoyFilter_ApplyTo = 4
    // Applies the patch to the Route configuration (rds output)
    // inside a HTTP connection manager. This does not apply to the
    // virtual host. Currently, only MERGE operation is allowed on the
    // route configuration objects.
    EnvoyFilter_ROUTE_CONFIGURATION EnvoyFilter_ApplyTo = 5
    // Applies the patch to a virtual host inside a route configuration.
    EnvoyFilter_VIRTUAL_HOST EnvoyFilter_ApplyTo = 6
    // Applies the patch to a route object inside the matched virtual
    // host in a route configuration. Currently, only MERGE operation
    // is allowed on the route objects.
    EnvoyFilter_HTTP_ROUTE EnvoyFilter_ApplyTo = 7
    // Applies the patch to a cluster in a CDS output. Also used to add new clusters.
    EnvoyFilter_CLUSTER EnvoyFilter_ApplyTo = 8
)

func (EnvoyFilter_ApplyTo) EnumDescriptor Uses

func (EnvoyFilter_ApplyTo) EnumDescriptor() ([]byte, []int)

func (EnvoyFilter_ApplyTo) String Uses

func (x EnvoyFilter_ApplyTo) String() string

type EnvoyFilter_ClusterMatch Uses

type EnvoyFilter_ClusterMatch struct {
    // The service port for which this cluster was generated.  If
    // omitted, applies to clusters for any port.
    PortNumber uint32 `protobuf:"varint,1,opt,name=port_number,json=portNumber,proto3" json:"port_number,omitempty"`
    // The fully qualified service name for this cluster. If omitted,
    // applies to clusters for any service. For services defined
    // through service entries, the service name is same as the hosts
    // defined in the service entry.
    Service string `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"`
    // The subset associated with the service. If omitted, applies to
    // clusters for any subset of a service.
    Subset string `protobuf:"bytes,3,opt,name=subset,proto3" json:"subset,omitempty"`
    // The exact name of the cluster to match. To match a specific
    // cluster by name, such as the internally generated "Passthrough"
    // cluster, leave all fields in clusterMatch empty, except the
    // name.
    Name                 string   `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

Conditions specified in ClusterMatch must be met for the patch to be applied to a cluster.

func (*EnvoyFilter_ClusterMatch) Descriptor Uses

func (*EnvoyFilter_ClusterMatch) Descriptor() ([]byte, []int)

func (*EnvoyFilter_ClusterMatch) GetName Uses

func (m *EnvoyFilter_ClusterMatch) GetName() string

func (*EnvoyFilter_ClusterMatch) GetPortNumber Uses

func (m *EnvoyFilter_ClusterMatch) GetPortNumber() uint32

func (*EnvoyFilter_ClusterMatch) GetService Uses

func (m *EnvoyFilter_ClusterMatch) GetService() string

func (*EnvoyFilter_ClusterMatch) GetSubset Uses

func (m *EnvoyFilter_ClusterMatch) GetSubset() string

func (*EnvoyFilter_ClusterMatch) Marshal Uses

func (m *EnvoyFilter_ClusterMatch) Marshal() (dAtA []byte, err error)

func (*EnvoyFilter_ClusterMatch) MarshalJSON Uses

func (this *EnvoyFilter_ClusterMatch) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for EnvoyFilter_ClusterMatch

func (*EnvoyFilter_ClusterMatch) MarshalTo Uses

func (m *EnvoyFilter_ClusterMatch) MarshalTo(dAtA []byte) (int, error)

func (*EnvoyFilter_ClusterMatch) MarshalToSizedBuffer Uses

func (m *EnvoyFilter_ClusterMatch) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EnvoyFilter_ClusterMatch) ProtoMessage Uses

func (*EnvoyFilter_ClusterMatch) ProtoMessage()

func (*EnvoyFilter_ClusterMatch) Reset Uses

func (m *EnvoyFilter_ClusterMatch) Reset()

func (*EnvoyFilter_ClusterMatch) Size Uses

func (m *EnvoyFilter_ClusterMatch) Size() (n int)

func (*EnvoyFilter_ClusterMatch) String Uses

func (m *EnvoyFilter_ClusterMatch) String() string

func (*EnvoyFilter_ClusterMatch) Unmarshal Uses

func (m *EnvoyFilter_ClusterMatch) Unmarshal(dAtA []byte) error

func (*EnvoyFilter_ClusterMatch) UnmarshalJSON Uses

func (this *EnvoyFilter_ClusterMatch) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for EnvoyFilter_ClusterMatch

func (*EnvoyFilter_ClusterMatch) XXX_DiscardUnknown Uses

func (m *EnvoyFilter_ClusterMatch) XXX_DiscardUnknown()

func (*EnvoyFilter_ClusterMatch) XXX_Marshal Uses

func (m *EnvoyFilter_ClusterMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnvoyFilter_ClusterMatch) XXX_Merge Uses

func (m *EnvoyFilter_ClusterMatch) XXX_Merge(src proto.Message)

func (*EnvoyFilter_ClusterMatch) XXX_Size Uses

func (m *EnvoyFilter_ClusterMatch) XXX_Size() int

func (*EnvoyFilter_ClusterMatch) XXX_Unmarshal Uses

func (m *EnvoyFilter_ClusterMatch) XXX_Unmarshal(b []byte) error

type EnvoyFilter_DeprecatedListenerMatch Uses

type EnvoyFilter_DeprecatedListenerMatch struct {
    // The service port/gateway port to which traffic is being
    // sent/received. If not specified, matches all listeners. Even though
    // inbound listeners are generated for the instance/pod ports, only
    // service ports should be used to match listeners.
    PortNumber uint32 `protobuf:"varint,1,opt,name=port_number,json=portNumber,proto3" json:"port_number,omitempty"`
    // Instead of using specific port numbers, a set of ports matching a
    // given port name prefix can be selected. E.g., "mongo" selects ports
    // named mongo-port, mongo, mongoDB, MONGO, etc. Matching is case
    // insensitive.
    PortNamePrefix string `protobuf:"bytes,2,opt,name=port_name_prefix,json=portNamePrefix,proto3" json:"port_name_prefix,omitempty"`
    // Inbound vs outbound sidecar listener or gateway listener. If not specified,
    // matches all listeners.
    ListenerType EnvoyFilter_DeprecatedListenerMatch_ListenerType `protobuf:"varint,3,opt,name=listener_type,json=listenerType,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_DeprecatedListenerMatch_ListenerType" json:"listener_type,omitempty"`
    // Selects a class of listeners for the same protocol. Use the protocol
    // selection to select all HTTP listeners (includes HTTP2/gRPC/HTTPS
    // where Envoy terminates TLS) or all TCP listeners (includes HTTPS
    // passthrough using SNI). When adding a HTTP filter, the listenerProtocol
    // should be set to HTTP.
    ListenerProtocol EnvoyFilter_DeprecatedListenerMatch_ListenerProtocol `protobuf:"varint,4,opt,name=listener_protocol,json=listenerProtocol,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_DeprecatedListenerMatch_ListenerProtocol" json:"listener_protocol,omitempty"`
    // One or more IP addresses to which the listener is bound. If
    // specified, should match at least one address in the list.
    Address              []string `protobuf:"bytes,5,rep,name=address,proto3" json:"address,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

Deprecated. Select a listener to add the filter to based on the match conditions. All conditions specified in the ListenerMatch must be met for the filter to be applied to a listener. $hide_from_docs

func (*EnvoyFilter_DeprecatedListenerMatch) Descriptor Uses

func (*EnvoyFilter_DeprecatedListenerMatch) Descriptor() ([]byte, []int)

func (*EnvoyFilter_DeprecatedListenerMatch) GetAddress Uses

func (m *EnvoyFilter_DeprecatedListenerMatch) GetAddress() []string

func (*EnvoyFilter_DeprecatedListenerMatch) GetListenerProtocol Uses

func (m *EnvoyFilter_DeprecatedListenerMatch) GetListenerProtocol() EnvoyFilter_DeprecatedListenerMatch_ListenerProtocol

func (*EnvoyFilter_DeprecatedListenerMatch) GetListenerType Uses

func (m *EnvoyFilter_DeprecatedListenerMatch) GetListenerType() EnvoyFilter_DeprecatedListenerMatch_ListenerType

func (*EnvoyFilter_DeprecatedListenerMatch) GetPortNamePrefix Uses

func (m *EnvoyFilter_DeprecatedListenerMatch) GetPortNamePrefix() string

func (*EnvoyFilter_DeprecatedListenerMatch) GetPortNumber Uses

func (m *EnvoyFilter_DeprecatedListenerMatch) GetPortNumber() uint32

func (*EnvoyFilter_DeprecatedListenerMatch) Marshal Uses

func (m *EnvoyFilter_DeprecatedListenerMatch) Marshal() (dAtA []byte, err error)

func (*EnvoyFilter_DeprecatedListenerMatch) MarshalJSON Uses

func (this *EnvoyFilter_DeprecatedListenerMatch) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for EnvoyFilter_DeprecatedListenerMatch

func (*EnvoyFilter_DeprecatedListenerMatch) MarshalTo Uses

func (m *EnvoyFilter_DeprecatedListenerMatch) MarshalTo(dAtA []byte) (int, error)

func (*EnvoyFilter_DeprecatedListenerMatch) MarshalToSizedBuffer Uses

func (m *EnvoyFilter_DeprecatedListenerMatch) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EnvoyFilter_DeprecatedListenerMatch) ProtoMessage Uses

func (*EnvoyFilter_DeprecatedListenerMatch) ProtoMessage()

func (*EnvoyFilter_DeprecatedListenerMatch) Reset Uses

func (m *EnvoyFilter_DeprecatedListenerMatch) Reset()

func (*EnvoyFilter_DeprecatedListenerMatch) Size Uses

func (m *EnvoyFilter_DeprecatedListenerMatch) Size() (n int)

func (*EnvoyFilter_DeprecatedListenerMatch) String Uses

func (m *EnvoyFilter_DeprecatedListenerMatch) String() string

func (*EnvoyFilter_DeprecatedListenerMatch) Unmarshal Uses

func (m *EnvoyFilter_DeprecatedListenerMatch) Unmarshal(dAtA []byte) error

func (*EnvoyFilter_DeprecatedListenerMatch) UnmarshalJSON Uses

func (this *EnvoyFilter_DeprecatedListenerMatch) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for EnvoyFilter_DeprecatedListenerMatch

func (*EnvoyFilter_DeprecatedListenerMatch) XXX_DiscardUnknown Uses

func (m *EnvoyFilter_DeprecatedListenerMatch) XXX_DiscardUnknown()

func (*EnvoyFilter_DeprecatedListenerMatch) XXX_Marshal Uses

func (m *EnvoyFilter_DeprecatedListenerMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnvoyFilter_DeprecatedListenerMatch) XXX_Merge Uses

func (m *EnvoyFilter_DeprecatedListenerMatch) XXX_Merge(src proto.Message)

func (*EnvoyFilter_DeprecatedListenerMatch) XXX_Size Uses

func (m *EnvoyFilter_DeprecatedListenerMatch) XXX_Size() int

func (*EnvoyFilter_DeprecatedListenerMatch) XXX_Unmarshal Uses

func (m *EnvoyFilter_DeprecatedListenerMatch) XXX_Unmarshal(b []byte) error

type EnvoyFilter_DeprecatedListenerMatch_ListenerProtocol Uses

type EnvoyFilter_DeprecatedListenerMatch_ListenerProtocol int32
const (
    // All protocols
    EnvoyFilter_DeprecatedListenerMatch_ALL EnvoyFilter_DeprecatedListenerMatch_ListenerProtocol = 0
    // HTTP or HTTPS (with termination) / HTTP2/gRPC
    EnvoyFilter_DeprecatedListenerMatch_HTTP EnvoyFilter_DeprecatedListenerMatch_ListenerProtocol = 1
    // Any non-HTTP listener
    EnvoyFilter_DeprecatedListenerMatch_TCP EnvoyFilter_DeprecatedListenerMatch_ListenerProtocol = 2
)

func (EnvoyFilter_DeprecatedListenerMatch_ListenerProtocol) EnumDescriptor Uses

func (EnvoyFilter_DeprecatedListenerMatch_ListenerProtocol) EnumDescriptor() ([]byte, []int)

func (EnvoyFilter_DeprecatedListenerMatch_ListenerProtocol) String Uses

func (x EnvoyFilter_DeprecatedListenerMatch_ListenerProtocol) String() string

type EnvoyFilter_DeprecatedListenerMatch_ListenerType Uses

type EnvoyFilter_DeprecatedListenerMatch_ListenerType int32
const (
    // All listeners
    EnvoyFilter_DeprecatedListenerMatch_ANY EnvoyFilter_DeprecatedListenerMatch_ListenerType = 0
    // Inbound listener in sidecar
    EnvoyFilter_DeprecatedListenerMatch_SIDECAR_INBOUND EnvoyFilter_DeprecatedListenerMatch_ListenerType = 1
    // Outbound listener in sidecar
    EnvoyFilter_DeprecatedListenerMatch_SIDECAR_OUTBOUND EnvoyFilter_DeprecatedListenerMatch_ListenerType = 2
    // Gateway listener
    EnvoyFilter_DeprecatedListenerMatch_GATEWAY EnvoyFilter_DeprecatedListenerMatch_ListenerType = 3
)

func (EnvoyFilter_DeprecatedListenerMatch_ListenerType) EnumDescriptor Uses

func (EnvoyFilter_DeprecatedListenerMatch_ListenerType) EnumDescriptor() ([]byte, []int)

func (EnvoyFilter_DeprecatedListenerMatch_ListenerType) String Uses

func (x EnvoyFilter_DeprecatedListenerMatch_ListenerType) String() string

type EnvoyFilter_EnvoyConfigObjectMatch Uses

type EnvoyFilter_EnvoyConfigObjectMatch struct {
    // The specific config generation context to match on. Istio Pilot
    // generates envoy configuration in the context of a gateway,
    // inbound traffic to sidecar and outbound traffic from sidecar.
    Context EnvoyFilter_PatchContext `protobuf:"varint,1,opt,name=context,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_PatchContext" json:"context,omitempty"`
    // Match on properties associated with a proxy.
    Proxy *EnvoyFilter_ProxyMatch `protobuf:"bytes,2,opt,name=proxy,proto3" json:"proxy,omitempty"`
    // Types that are valid to be assigned to ObjectTypes:
    //	*EnvoyFilter_EnvoyConfigObjectMatch_Listener
    //	*EnvoyFilter_EnvoyConfigObjectMatch_RouteConfiguration
    //	*EnvoyFilter_EnvoyConfigObjectMatch_Cluster
    ObjectTypes          isEnvoyFilter_EnvoyConfigObjectMatch_ObjectTypes `protobuf_oneof:"object_types"`
    XXX_NoUnkeyedLiteral struct{}                                         `json:"-"`
    XXX_unrecognized     []byte                                           `json:"-"`
    XXX_sizecache        int32                                            `json:"-"`
}

One or more match conditions to be met before a patch is applied to the generated configuration for a given proxy.

func (*EnvoyFilter_EnvoyConfigObjectMatch) Descriptor Uses

func (*EnvoyFilter_EnvoyConfigObjectMatch) Descriptor() ([]byte, []int)

func (*EnvoyFilter_EnvoyConfigObjectMatch) GetCluster Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch) GetCluster() *EnvoyFilter_ClusterMatch

func (*EnvoyFilter_EnvoyConfigObjectMatch) GetContext Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch) GetContext() EnvoyFilter_PatchContext

func (*EnvoyFilter_EnvoyConfigObjectMatch) GetListener Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch) GetListener() *EnvoyFilter_ListenerMatch

func (*EnvoyFilter_EnvoyConfigObjectMatch) GetObjectTypes Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch) GetObjectTypes() isEnvoyFilter_EnvoyConfigObjectMatch_ObjectTypes

func (*EnvoyFilter_EnvoyConfigObjectMatch) GetProxy Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch) GetProxy() *EnvoyFilter_ProxyMatch

func (*EnvoyFilter_EnvoyConfigObjectMatch) GetRouteConfiguration Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch) GetRouteConfiguration() *EnvoyFilter_RouteConfigurationMatch

func (*EnvoyFilter_EnvoyConfigObjectMatch) Marshal Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch) Marshal() (dAtA []byte, err error)

func (*EnvoyFilter_EnvoyConfigObjectMatch) MarshalJSON Uses

func (this *EnvoyFilter_EnvoyConfigObjectMatch) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for EnvoyFilter_EnvoyConfigObjectMatch

func (*EnvoyFilter_EnvoyConfigObjectMatch) MarshalTo Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch) MarshalTo(dAtA []byte) (int, error)

func (*EnvoyFilter_EnvoyConfigObjectMatch) MarshalToSizedBuffer Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EnvoyFilter_EnvoyConfigObjectMatch) ProtoMessage Uses

func (*EnvoyFilter_EnvoyConfigObjectMatch) ProtoMessage()

func (*EnvoyFilter_EnvoyConfigObjectMatch) Reset Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch) Reset()

func (*EnvoyFilter_EnvoyConfigObjectMatch) Size Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch) Size() (n int)

func (*EnvoyFilter_EnvoyConfigObjectMatch) String Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch) String() string

func (*EnvoyFilter_EnvoyConfigObjectMatch) Unmarshal Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch) Unmarshal(dAtA []byte) error

func (*EnvoyFilter_EnvoyConfigObjectMatch) UnmarshalJSON Uses

func (this *EnvoyFilter_EnvoyConfigObjectMatch) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for EnvoyFilter_EnvoyConfigObjectMatch

func (*EnvoyFilter_EnvoyConfigObjectMatch) XXX_DiscardUnknown Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch) XXX_DiscardUnknown()

func (*EnvoyFilter_EnvoyConfigObjectMatch) XXX_Marshal Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnvoyFilter_EnvoyConfigObjectMatch) XXX_Merge Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch) XXX_Merge(src proto.Message)

func (*EnvoyFilter_EnvoyConfigObjectMatch) XXX_OneofWrappers Uses

func (*EnvoyFilter_EnvoyConfigObjectMatch) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*EnvoyFilter_EnvoyConfigObjectMatch) XXX_Size Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch) XXX_Size() int

func (*EnvoyFilter_EnvoyConfigObjectMatch) XXX_Unmarshal Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch) XXX_Unmarshal(b []byte) error

type EnvoyFilter_EnvoyConfigObjectMatch_Cluster Uses

type EnvoyFilter_EnvoyConfigObjectMatch_Cluster struct {
    Cluster *EnvoyFilter_ClusterMatch `protobuf:"bytes,5,opt,name=cluster,proto3,oneof"`
}

func (*EnvoyFilter_EnvoyConfigObjectMatch_Cluster) MarshalTo Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch_Cluster) MarshalTo(dAtA []byte) (int, error)

func (*EnvoyFilter_EnvoyConfigObjectMatch_Cluster) MarshalToSizedBuffer Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch_Cluster) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EnvoyFilter_EnvoyConfigObjectMatch_Cluster) Size Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch_Cluster) Size() (n int)

type EnvoyFilter_EnvoyConfigObjectMatch_Listener Uses

type EnvoyFilter_EnvoyConfigObjectMatch_Listener struct {
    Listener *EnvoyFilter_ListenerMatch `protobuf:"bytes,3,opt,name=listener,proto3,oneof"`
}

func (*EnvoyFilter_EnvoyConfigObjectMatch_Listener) MarshalTo Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch_Listener) MarshalTo(dAtA []byte) (int, error)

func (*EnvoyFilter_EnvoyConfigObjectMatch_Listener) MarshalToSizedBuffer Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch_Listener) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EnvoyFilter_EnvoyConfigObjectMatch_Listener) Size Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch_Listener) Size() (n int)

type EnvoyFilter_EnvoyConfigObjectMatch_RouteConfiguration Uses

type EnvoyFilter_EnvoyConfigObjectMatch_RouteConfiguration struct {
    RouteConfiguration *EnvoyFilter_RouteConfigurationMatch `protobuf:"bytes,4,opt,name=route_configuration,json=routeConfiguration,proto3,oneof"`
}

func (*EnvoyFilter_EnvoyConfigObjectMatch_RouteConfiguration) MarshalTo Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch_RouteConfiguration) MarshalTo(dAtA []byte) (int, error)

func (*EnvoyFilter_EnvoyConfigObjectMatch_RouteConfiguration) MarshalToSizedBuffer Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch_RouteConfiguration) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EnvoyFilter_EnvoyConfigObjectMatch_RouteConfiguration) Size Uses

func (m *EnvoyFilter_EnvoyConfigObjectMatch_RouteConfiguration) Size() (n int)

type EnvoyFilter_EnvoyConfigObjectPatch Uses

type EnvoyFilter_EnvoyConfigObjectPatch struct {
    // Specifies where in the Envoy configuration, the patch should be
    // applied.  The match is expected to select the appropriate
    // object based on applyTo.  For example, an applyTo with
    // HTTP_FILTER is expected to have a match condition on the
    // listeners, with a network filter selection on
    // envoy.http_connection_manager and a sub filter selection on the
    // HTTP filter relative to which the insertion should be
    // performed. Similarly, an applyTo on CLUSTER should have a match
    // (if provided) on the cluster and not on a listener.
    ApplyTo EnvoyFilter_ApplyTo `protobuf:"varint,1,opt,name=apply_to,json=applyTo,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_ApplyTo" json:"apply_to,omitempty"`
    // Match on listener/route configuration/cluster.
    Match *EnvoyFilter_EnvoyConfigObjectMatch `protobuf:"bytes,2,opt,name=match,proto3" json:"match,omitempty"`
    // The patch to apply along with the operation.
    Patch                *EnvoyFilter_Patch `protobuf:"bytes,3,opt,name=patch,proto3" json:"patch,omitempty"`
    XXX_NoUnkeyedLiteral struct{}           `json:"-"`
    XXX_unrecognized     []byte             `json:"-"`
    XXX_sizecache        int32              `json:"-"`
}

Changes to be made to various envoy config objects.

func (*EnvoyFilter_EnvoyConfigObjectPatch) Descriptor Uses

func (*EnvoyFilter_EnvoyConfigObjectPatch) Descriptor() ([]byte, []int)

func (*EnvoyFilter_EnvoyConfigObjectPatch) GetApplyTo Uses

func (m *EnvoyFilter_EnvoyConfigObjectPatch) GetApplyTo() EnvoyFilter_ApplyTo

func (*EnvoyFilter_EnvoyConfigObjectPatch) GetMatch Uses

func (m *EnvoyFilter_EnvoyConfigObjectPatch) GetMatch() *EnvoyFilter_EnvoyConfigObjectMatch

func (*EnvoyFilter_EnvoyConfigObjectPatch) GetPatch Uses

func (m *EnvoyFilter_EnvoyConfigObjectPatch) GetPatch() *EnvoyFilter_Patch

func (*EnvoyFilter_EnvoyConfigObjectPatch) Marshal Uses

func (m *EnvoyFilter_EnvoyConfigObjectPatch) Marshal() (dAtA []byte, err error)

func (*EnvoyFilter_EnvoyConfigObjectPatch) MarshalJSON Uses

func (this *EnvoyFilter_EnvoyConfigObjectPatch) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for EnvoyFilter_EnvoyConfigObjectPatch

func (*EnvoyFilter_EnvoyConfigObjectPatch) MarshalTo Uses

func (m *EnvoyFilter_EnvoyConfigObjectPatch) MarshalTo(dAtA []byte) (int, error)

func (*EnvoyFilter_EnvoyConfigObjectPatch) MarshalToSizedBuffer Uses

func (m *EnvoyFilter_EnvoyConfigObjectPatch) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EnvoyFilter_EnvoyConfigObjectPatch) ProtoMessage Uses

func (*EnvoyFilter_EnvoyConfigObjectPatch) ProtoMessage()

func (*EnvoyFilter_EnvoyConfigObjectPatch) Reset Uses

func (m *EnvoyFilter_EnvoyConfigObjectPatch) Reset()

func (*EnvoyFilter_EnvoyConfigObjectPatch) Size Uses

func (m *EnvoyFilter_EnvoyConfigObjectPatch) Size() (n int)

func (*EnvoyFilter_EnvoyConfigObjectPatch) String Uses

func (m *EnvoyFilter_EnvoyConfigObjectPatch) String() string

func (*EnvoyFilter_EnvoyConfigObjectPatch) Unmarshal Uses

func (m *EnvoyFilter_EnvoyConfigObjectPatch) Unmarshal(dAtA []byte) error

func (*EnvoyFilter_EnvoyConfigObjectPatch) UnmarshalJSON Uses

func (this *EnvoyFilter_EnvoyConfigObjectPatch) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for EnvoyFilter_EnvoyConfigObjectPatch

func (*EnvoyFilter_EnvoyConfigObjectPatch) XXX_DiscardUnknown Uses

func (m *EnvoyFilter_EnvoyConfigObjectPatch) XXX_DiscardUnknown()

func (*EnvoyFilter_EnvoyConfigObjectPatch) XXX_Marshal Uses

func (m *EnvoyFilter_EnvoyConfigObjectPatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnvoyFilter_EnvoyConfigObjectPatch) XXX_Merge Uses

func (m *EnvoyFilter_EnvoyConfigObjectPatch) XXX_Merge(src proto.Message)

func (*EnvoyFilter_EnvoyConfigObjectPatch) XXX_Size Uses

func (m *EnvoyFilter_EnvoyConfigObjectPatch) XXX_Size() int

func (*EnvoyFilter_EnvoyConfigObjectPatch) XXX_Unmarshal Uses

func (m *EnvoyFilter_EnvoyConfigObjectPatch) XXX_Unmarshal(b []byte) error

type EnvoyFilter_Filter Uses

type EnvoyFilter_Filter struct {
    // Filter will be added to the listener only if the match
    // conditions are true.  If not specified, the filters will be
    // applied to all listeners where possible, potentially resulting
    // in invalid configurations. It is recommended to specify the
    // listener match criteria for all filter insertions.
    ListenerMatch *EnvoyFilter_DeprecatedListenerMatch `protobuf:"bytes,1,opt,name=listener_match,json=listenerMatch,proto3" json:"listener_match,omitempty"`
    // Insert position in the filter chain. Defaults to FIRST
    InsertPosition *EnvoyFilter_InsertPosition `protobuf:"bytes,2,opt,name=insert_position,json=insertPosition,proto3" json:"insert_position,omitempty"`
    // The type of filter to instantiate.
    FilterType EnvoyFilter_Filter_FilterType `protobuf:"varint,3,opt,name=filter_type,json=filterType,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_Filter_FilterType" json:"filter_type,omitempty"`
    // The name of the filter to instantiate. The name must match a supported
    // filter _compiled into_ Envoy.
    FilterName string `protobuf:"bytes,4,opt,name=filter_name,json=filterName,proto3" json:"filter_name,omitempty"`
    // Filter specific configuration which depends on the filter being
    // instantiated.
    FilterConfig         *types.Struct `protobuf:"bytes,5,opt,name=filter_config,json=filterConfig,proto3" json:"filter_config,omitempty"`
    XXX_NoUnkeyedLiteral struct{}      `json:"-"`
    XXX_unrecognized     []byte        `json:"-"`
    XXX_sizecache        int32         `json:"-"`
}

Deprecated. Envoy filters to be added to a network or http filter chain. $hide_from_docs

func (*EnvoyFilter_Filter) Descriptor Uses

func (*EnvoyFilter_Filter) Descriptor() ([]byte, []int)

func (*EnvoyFilter_Filter) GetFilterConfig Uses

func (m *EnvoyFilter_Filter) GetFilterConfig() *types.Struct

func (*EnvoyFilter_Filter) GetFilterName Uses

func (m *EnvoyFilter_Filter) GetFilterName() string

func (*EnvoyFilter_Filter) GetFilterType Uses

func (m *EnvoyFilter_Filter) GetFilterType() EnvoyFilter_Filter_FilterType

func (*EnvoyFilter_Filter) GetInsertPosition Uses

func (m *EnvoyFilter_Filter) GetInsertPosition() *EnvoyFilter_InsertPosition

func (*EnvoyFilter_Filter) GetListenerMatch Uses

func (m *EnvoyFilter_Filter) GetListenerMatch() *EnvoyFilter_DeprecatedListenerMatch

func (*EnvoyFilter_Filter) Marshal Uses

func (m *EnvoyFilter_Filter) Marshal() (dAtA []byte, err error)

func (*EnvoyFilter_Filter) MarshalJSON Uses

func (this *EnvoyFilter_Filter) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for EnvoyFilter_Filter

func (*EnvoyFilter_Filter) MarshalTo Uses

func (m *EnvoyFilter_Filter) MarshalTo(dAtA []byte) (int, error)

func (*EnvoyFilter_Filter) MarshalToSizedBuffer Uses

func (m *EnvoyFilter_Filter) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EnvoyFilter_Filter) ProtoMessage Uses

func (*EnvoyFilter_Filter) ProtoMessage()

func (*EnvoyFilter_Filter) Reset Uses

func (m *EnvoyFilter_Filter) Reset()

func (*EnvoyFilter_Filter) Size Uses

func (m *EnvoyFilter_Filter) Size() (n int)

func (*EnvoyFilter_Filter) String Uses

func (m *EnvoyFilter_Filter) String() string

func (*EnvoyFilter_Filter) Unmarshal Uses

func (m *EnvoyFilter_Filter) Unmarshal(dAtA []byte) error

func (*EnvoyFilter_Filter) UnmarshalJSON Uses

func (this *EnvoyFilter_Filter) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for EnvoyFilter_Filter

func (*EnvoyFilter_Filter) XXX_DiscardUnknown Uses

func (m *EnvoyFilter_Filter) XXX_DiscardUnknown()

func (*EnvoyFilter_Filter) XXX_Marshal Uses

func (m *EnvoyFilter_Filter) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnvoyFilter_Filter) XXX_Merge Uses

func (m *EnvoyFilter_Filter) XXX_Merge(src proto.Message)

func (*EnvoyFilter_Filter) XXX_Size Uses

func (m *EnvoyFilter_Filter) XXX_Size() int

func (*EnvoyFilter_Filter) XXX_Unmarshal Uses

func (m *EnvoyFilter_Filter) XXX_Unmarshal(b []byte) error

type EnvoyFilter_Filter_FilterType Uses

type EnvoyFilter_Filter_FilterType int32
const (
    // placeholder
    EnvoyFilter_Filter_INVALID EnvoyFilter_Filter_FilterType = 0
    // Http filter
    EnvoyFilter_Filter_HTTP EnvoyFilter_Filter_FilterType = 1
    // Network filter
    EnvoyFilter_Filter_NETWORK EnvoyFilter_Filter_FilterType = 2
)

func (EnvoyFilter_Filter_FilterType) EnumDescriptor Uses

func (EnvoyFilter_Filter_FilterType) EnumDescriptor() ([]byte, []int)

func (EnvoyFilter_Filter_FilterType) String Uses

func (x EnvoyFilter_Filter_FilterType) String() string

type EnvoyFilter_InsertPosition Uses

type EnvoyFilter_InsertPosition struct {
    // Position of this filter in the filter chain.
    Index EnvoyFilter_InsertPosition_Index `protobuf:"varint,1,opt,name=index,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_InsertPosition_Index" json:"index,omitempty"`
    // If BEFORE or AFTER position is specified, specify the name of the
    // filter relative to which this filter should be inserted.
    RelativeTo           string   `protobuf:"bytes,2,opt,name=relative_to,json=relativeTo,proto3" json:"relative_to,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

Deprecated. Indicates the relative index in the filter chain where the filter should be inserted. $hide_from_docs

func (*EnvoyFilter_InsertPosition) Descriptor Uses

func (*EnvoyFilter_InsertPosition) Descriptor() ([]byte, []int)

func (*EnvoyFilter_InsertPosition) GetIndex Uses

func (m *EnvoyFilter_InsertPosition) GetIndex() EnvoyFilter_InsertPosition_Index

func (*EnvoyFilter_InsertPosition) GetRelativeTo Uses

func (m *EnvoyFilter_InsertPosition) GetRelativeTo() string

func (*EnvoyFilter_InsertPosition) Marshal Uses

func (m *EnvoyFilter_InsertPosition) Marshal() (dAtA []byte, err error)

func (*EnvoyFilter_InsertPosition) MarshalJSON Uses

func (this *EnvoyFilter_InsertPosition) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for EnvoyFilter_InsertPosition

func (*EnvoyFilter_InsertPosition) MarshalTo Uses

func (m *EnvoyFilter_InsertPosition) MarshalTo(dAtA []byte) (int, error)

func (*EnvoyFilter_InsertPosition) MarshalToSizedBuffer Uses

func (m *EnvoyFilter_InsertPosition) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EnvoyFilter_InsertPosition) ProtoMessage Uses

func (*EnvoyFilter_InsertPosition) ProtoMessage()

func (*EnvoyFilter_InsertPosition) Reset Uses

func (m *EnvoyFilter_InsertPosition) Reset()

func (*EnvoyFilter_InsertPosition) Size Uses

func (m *EnvoyFilter_InsertPosition) Size() (n int)

func (*EnvoyFilter_InsertPosition) String Uses

func (m *EnvoyFilter_InsertPosition) String() string

func (*EnvoyFilter_InsertPosition) Unmarshal Uses

func (m *EnvoyFilter_InsertPosition) Unmarshal(dAtA []byte) error

func (*EnvoyFilter_InsertPosition) UnmarshalJSON Uses

func (this *EnvoyFilter_InsertPosition) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for EnvoyFilter_InsertPosition

func (*EnvoyFilter_InsertPosition) XXX_DiscardUnknown Uses

func (m *EnvoyFilter_InsertPosition) XXX_DiscardUnknown()

func (*EnvoyFilter_InsertPosition) XXX_Marshal Uses

func (m *EnvoyFilter_InsertPosition) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnvoyFilter_InsertPosition) XXX_Merge Uses

func (m *EnvoyFilter_InsertPosition) XXX_Merge(src proto.Message)

func (*EnvoyFilter_InsertPosition) XXX_Size Uses

func (m *EnvoyFilter_InsertPosition) XXX_Size() int

func (*EnvoyFilter_InsertPosition) XXX_Unmarshal Uses

func (m *EnvoyFilter_InsertPosition) XXX_Unmarshal(b []byte) error

type EnvoyFilter_InsertPosition_Index Uses

type EnvoyFilter_InsertPosition_Index int32

Index/position in the filter chain.

const (
    // Insert first
    EnvoyFilter_InsertPosition_FIRST EnvoyFilter_InsertPosition_Index = 0
    // Insert last
    EnvoyFilter_InsertPosition_LAST EnvoyFilter_InsertPosition_Index = 1
    // Insert before the named filter.
    EnvoyFilter_InsertPosition_BEFORE EnvoyFilter_InsertPosition_Index = 2
    // Insert after the named filter.
    EnvoyFilter_InsertPosition_AFTER EnvoyFilter_InsertPosition_Index = 3
)

func (EnvoyFilter_InsertPosition_Index) EnumDescriptor Uses

func (EnvoyFilter_InsertPosition_Index) EnumDescriptor() ([]byte, []int)

func (EnvoyFilter_InsertPosition_Index) String Uses

func (x EnvoyFilter_InsertPosition_Index) String() string

type EnvoyFilter_ListenerMatch Uses

type EnvoyFilter_ListenerMatch struct {
    // The service port/gateway port to which traffic is being
    // sent/received. If not specified, matches all listeners. Even though
    // inbound listeners are generated for the instance/pod ports, only
    // service ports should be used to match listeners.
    PortNumber uint32 `protobuf:"varint,1,opt,name=port_number,json=portNumber,proto3" json:"port_number,omitempty"`
    // Instead of using specific port numbers, a set of ports matching
    // a given service's port name can be selected. Matching is case
    // insensitive.
    // Not implemented.
    // $hide_from_docs
    PortName string `protobuf:"bytes,2,opt,name=port_name,json=portName,proto3" json:"port_name,omitempty"`
    // Match a specific filter chain in a listener. If specified, the
    // patch will be applied to the filter chain (and a specific
    // filter if specified) and not to other filter chains in the
    // listener.
    FilterChain *EnvoyFilter_ListenerMatch_FilterChainMatch `protobuf:"bytes,3,opt,name=filter_chain,json=filterChain,proto3" json:"filter_chain,omitempty"`
    // Match a specific listener by its name. The listeners generated
    // by Pilot are typically named as IP:Port.
    Name                 string   `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

Conditions specified in a listener match must be met for the patch to be applied to a specific listener across all filter chains, or a specific filter chain inside the listener.

func (*EnvoyFilter_ListenerMatch) Descriptor Uses

func (*EnvoyFilter_ListenerMatch) Descriptor() ([]byte, []int)

func (*EnvoyFilter_ListenerMatch) GetFilterChain Uses

func (m *EnvoyFilter_ListenerMatch) GetFilterChain() *EnvoyFilter_ListenerMatch_FilterChainMatch

func (*EnvoyFilter_ListenerMatch) GetName Uses

func (m *EnvoyFilter_ListenerMatch) GetName() string

func (*EnvoyFilter_ListenerMatch) GetPortName Uses

func (m *EnvoyFilter_ListenerMatch) GetPortName() string

func (*EnvoyFilter_ListenerMatch) GetPortNumber Uses

func (m *EnvoyFilter_ListenerMatch) GetPortNumber() uint32

func (*EnvoyFilter_ListenerMatch) Marshal Uses

func (m *EnvoyFilter_ListenerMatch) Marshal() (dAtA []byte, err error)

func (*EnvoyFilter_ListenerMatch) MarshalJSON Uses

func (this *EnvoyFilter_ListenerMatch) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for EnvoyFilter_ListenerMatch

func (*EnvoyFilter_ListenerMatch) MarshalTo Uses

func (m *EnvoyFilter_ListenerMatch) MarshalTo(dAtA []byte) (int, error)

func (*EnvoyFilter_ListenerMatch) MarshalToSizedBuffer Uses

func (m *EnvoyFilter_ListenerMatch) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EnvoyFilter_ListenerMatch) ProtoMessage Uses

func (*EnvoyFilter_ListenerMatch) ProtoMessage()

func (*EnvoyFilter_ListenerMatch) Reset Uses

func (m *EnvoyFilter_ListenerMatch) Reset()

func (*EnvoyFilter_ListenerMatch) Size Uses

func (m *EnvoyFilter_ListenerMatch) Size() (n int)

func (*EnvoyFilter_ListenerMatch) String Uses

func (m *EnvoyFilter_ListenerMatch) String() string

func (*EnvoyFilter_ListenerMatch) Unmarshal Uses

func (m *EnvoyFilter_ListenerMatch) Unmarshal(dAtA []byte) error

func (*EnvoyFilter_ListenerMatch) UnmarshalJSON Uses

func (this *EnvoyFilter_ListenerMatch) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for EnvoyFilter_ListenerMatch

func (*EnvoyFilter_ListenerMatch) XXX_DiscardUnknown Uses

func (m *EnvoyFilter_ListenerMatch) XXX_DiscardUnknown()

func (*EnvoyFilter_ListenerMatch) XXX_Marshal Uses

func (m *EnvoyFilter_ListenerMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnvoyFilter_ListenerMatch) XXX_Merge Uses

func (m *EnvoyFilter_ListenerMatch) XXX_Merge(src proto.Message)

func (*EnvoyFilter_ListenerMatch) XXX_Size Uses

func (m *EnvoyFilter_ListenerMatch) XXX_Size() int

func (*EnvoyFilter_ListenerMatch) XXX_Unmarshal Uses

func (m *EnvoyFilter_ListenerMatch) XXX_Unmarshal(b []byte) error

type EnvoyFilter_ListenerMatch_FilterChainMatch Uses

type EnvoyFilter_ListenerMatch_FilterChainMatch struct {
    // The name assigned to the filter chain.
    Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    // The SNI value used by a filter chain's match condition.  This
    // condition will evaluate to false if the filter chain has no
    // sni match.
    Sni string `protobuf:"bytes,2,opt,name=sni,proto3" json:"sni,omitempty"`
    // Applies only to SIDECAR_INBOUND context. If non-empty, a
    // transport protocol to consider when determining a filter
    // chain match.  This value will be compared against the
    // transport protocol of a new connection, when it's detected by
    // the tls_inspector listener filter.
    //
    // Accepted values include:
    //
    // * `raw_buffer` - default, used when no transport protocol is detected.
    // * `tls` - set when TLS protocol is detected by the TLS inspector.
    TransportProtocol string `protobuf:"bytes,3,opt,name=transport_protocol,json=transportProtocol,proto3" json:"transport_protocol,omitempty"`
    // Applies only to sidecars. If non-empty, a comma separated set
    // of application protocols to consider when determining a
    // filter chain match.  This value will be compared against the
    // application protocols of a new connection, when it's detected
    // by one of the listener filters such as the http_inspector.
    //
    // Accepted values include: h2,http/1.1,http/1.0
    ApplicationProtocols string `protobuf:"bytes,4,opt,name=application_protocols,json=applicationProtocols,proto3" json:"application_protocols,omitempty"`
    // The name of a specific filter to apply the patch to. Set this
    // to envoy.http_connection_manager to add a filter or apply a
    // patch to the HTTP connection manager.
    Filter               *EnvoyFilter_ListenerMatch_FilterMatch `protobuf:"bytes,5,opt,name=filter,proto3" json:"filter,omitempty"`
    XXX_NoUnkeyedLiteral struct{}                               `json:"-"`
    XXX_unrecognized     []byte                                 `json:"-"`
    XXX_sizecache        int32                                  `json:"-"`
}

For listeners with multiple filter chains (e.g., inbound listeners on sidecars with permissive mTLS, gateway listeners with multiple SNI matches), the filter chain match can be used to select a specific filter chain to patch.

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) Descriptor Uses

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) Descriptor() ([]byte, []int)

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) GetApplicationProtocols Uses

func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) GetApplicationProtocols() string

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) GetFilter Uses

func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) GetFilter() *EnvoyFilter_ListenerMatch_FilterMatch

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) GetName Uses

func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) GetName() string

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) GetSni Uses

func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) GetSni() string

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) GetTransportProtocol Uses

func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) GetTransportProtocol() string

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) Marshal Uses

func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) Marshal() (dAtA []byte, err error)

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) MarshalJSON Uses

func (this *EnvoyFilter_ListenerMatch_FilterChainMatch) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for EnvoyFilter_ListenerMatch_FilterChainMatch

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) MarshalTo Uses

func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) MarshalTo(dAtA []byte) (int, error)

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) MarshalToSizedBuffer Uses

func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) ProtoMessage Uses

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) ProtoMessage()

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) Reset Uses

func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) Reset()

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) Size Uses

func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) Size() (n int)

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) String Uses

func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) String() string

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) Unmarshal Uses

func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) Unmarshal(dAtA []byte) error

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) UnmarshalJSON Uses

func (this *EnvoyFilter_ListenerMatch_FilterChainMatch) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for EnvoyFilter_ListenerMatch_FilterChainMatch

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) XXX_DiscardUnknown Uses

func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) XXX_DiscardUnknown()

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) XXX_Marshal Uses

func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) XXX_Merge Uses

func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) XXX_Merge(src proto.Message)

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) XXX_Size Uses

func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) XXX_Size() int

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) XXX_Unmarshal Uses

func (m *EnvoyFilter_ListenerMatch_FilterChainMatch) XXX_Unmarshal(b []byte) error

type EnvoyFilter_ListenerMatch_FilterMatch Uses

type EnvoyFilter_ListenerMatch_FilterMatch struct {
    // The filter name to match on.
    Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    // The next level filter within this filter to match
    // upon. Typically used for HTTP Connection Manager filters and
    // Thrift filters.
    SubFilter            *EnvoyFilter_ListenerMatch_SubFilterMatch `protobuf:"bytes,2,opt,name=sub_filter,json=subFilter,proto3" json:"sub_filter,omitempty"`
    XXX_NoUnkeyedLiteral struct{}                                  `json:"-"`
    XXX_unrecognized     []byte                                    `json:"-"`
    XXX_sizecache        int32                                     `json:"-"`
}

Conditions to match a specific filter within a filter chain.

func (*EnvoyFilter_ListenerMatch_FilterMatch) Descriptor Uses

func (*EnvoyFilter_ListenerMatch_FilterMatch) Descriptor() ([]byte, []int)

func (*EnvoyFilter_ListenerMatch_FilterMatch) GetName Uses

func (m *EnvoyFilter_ListenerMatch_FilterMatch) GetName() string

func (*EnvoyFilter_ListenerMatch_FilterMatch) GetSubFilter Uses

func (m *EnvoyFilter_ListenerMatch_FilterMatch) GetSubFilter() *EnvoyFilter_ListenerMatch_SubFilterMatch

func (*EnvoyFilter_ListenerMatch_FilterMatch) Marshal Uses

func (m *EnvoyFilter_ListenerMatch_FilterMatch) Marshal() (dAtA []byte, err error)

func (*EnvoyFilter_ListenerMatch_FilterMatch) MarshalJSON Uses

func (this *EnvoyFilter_ListenerMatch_FilterMatch) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for EnvoyFilter_ListenerMatch_FilterMatch

func (*EnvoyFilter_ListenerMatch_FilterMatch) MarshalTo Uses

func (m *EnvoyFilter_ListenerMatch_FilterMatch) MarshalTo(dAtA []byte) (int, error)

func (*EnvoyFilter_ListenerMatch_FilterMatch) MarshalToSizedBuffer Uses

func (m *EnvoyFilter_ListenerMatch_FilterMatch) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EnvoyFilter_ListenerMatch_FilterMatch) ProtoMessage Uses

func (*EnvoyFilter_ListenerMatch_FilterMatch) ProtoMessage()

func (*EnvoyFilter_ListenerMatch_FilterMatch) Reset Uses

func (m *EnvoyFilter_ListenerMatch_FilterMatch) Reset()

func (*EnvoyFilter_ListenerMatch_FilterMatch) Size Uses

func (m *EnvoyFilter_ListenerMatch_FilterMatch) Size() (n int)

func (*EnvoyFilter_ListenerMatch_FilterMatch) String Uses

func (m *EnvoyFilter_ListenerMatch_FilterMatch) String() string

func (*EnvoyFilter_ListenerMatch_FilterMatch) Unmarshal Uses

func (m *EnvoyFilter_ListenerMatch_FilterMatch) Unmarshal(dAtA []byte) error

func (*EnvoyFilter_ListenerMatch_FilterMatch) UnmarshalJSON Uses

func (this *EnvoyFilter_ListenerMatch_FilterMatch) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for EnvoyFilter_ListenerMatch_FilterMatch

func (*EnvoyFilter_ListenerMatch_FilterMatch) XXX_DiscardUnknown Uses

func (m *EnvoyFilter_ListenerMatch_FilterMatch) XXX_DiscardUnknown()

func (*EnvoyFilter_ListenerMatch_FilterMatch) XXX_Marshal Uses

func (m *EnvoyFilter_ListenerMatch_FilterMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnvoyFilter_ListenerMatch_FilterMatch) XXX_Merge Uses

func (m *EnvoyFilter_ListenerMatch_FilterMatch) XXX_Merge(src proto.Message)

func (*EnvoyFilter_ListenerMatch_FilterMatch) XXX_Size Uses

func (m *EnvoyFilter_ListenerMatch_FilterMatch) XXX_Size() int

func (*EnvoyFilter_ListenerMatch_FilterMatch) XXX_Unmarshal Uses

func (m *EnvoyFilter_ListenerMatch_FilterMatch) XXX_Unmarshal(b []byte) error

type EnvoyFilter_ListenerMatch_SubFilterMatch Uses

type EnvoyFilter_ListenerMatch_SubFilterMatch struct {
    // The filter name to match on.
    Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

Conditions to match a specific filter within another filter. This field is typically useful to match a HTTP filter inside the envoy.http_connection_manager network filter. This could also be applicable for thrift filters.

func (*EnvoyFilter_ListenerMatch_SubFilterMatch) Descriptor Uses

func (*EnvoyFilter_ListenerMatch_SubFilterMatch) Descriptor() ([]byte, []int)

func (*EnvoyFilter_ListenerMatch_SubFilterMatch) GetName Uses

func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) GetName() string

func (*EnvoyFilter_ListenerMatch_SubFilterMatch) Marshal Uses

func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) Marshal() (dAtA []byte, err error)

func (*EnvoyFilter_ListenerMatch_SubFilterMatch) MarshalJSON Uses

func (this *EnvoyFilter_ListenerMatch_SubFilterMatch) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for EnvoyFilter_ListenerMatch_SubFilterMatch

func (*EnvoyFilter_ListenerMatch_SubFilterMatch) MarshalTo Uses

func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) MarshalTo(dAtA []byte) (int, error)

func (*EnvoyFilter_ListenerMatch_SubFilterMatch) MarshalToSizedBuffer Uses

func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EnvoyFilter_ListenerMatch_SubFilterMatch) ProtoMessage Uses

func (*EnvoyFilter_ListenerMatch_SubFilterMatch) ProtoMessage()

func (*EnvoyFilter_ListenerMatch_SubFilterMatch) Reset Uses

func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) Reset()

func (*EnvoyFilter_ListenerMatch_SubFilterMatch) Size Uses

func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) Size() (n int)

func (*EnvoyFilter_ListenerMatch_SubFilterMatch) String Uses

func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) String() string

func (*EnvoyFilter_ListenerMatch_SubFilterMatch) Unmarshal Uses

func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) Unmarshal(dAtA []byte) error

func (*EnvoyFilter_ListenerMatch_SubFilterMatch) UnmarshalJSON Uses

func (this *EnvoyFilter_ListenerMatch_SubFilterMatch) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for EnvoyFilter_ListenerMatch_SubFilterMatch

func (*EnvoyFilter_ListenerMatch_SubFilterMatch) XXX_DiscardUnknown Uses

func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) XXX_DiscardUnknown()

func (*EnvoyFilter_ListenerMatch_SubFilterMatch) XXX_Marshal Uses

func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnvoyFilter_ListenerMatch_SubFilterMatch) XXX_Merge Uses

func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) XXX_Merge(src proto.Message)

func (*EnvoyFilter_ListenerMatch_SubFilterMatch) XXX_Size Uses

func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) XXX_Size() int

func (*EnvoyFilter_ListenerMatch_SubFilterMatch) XXX_Unmarshal Uses

func (m *EnvoyFilter_ListenerMatch_SubFilterMatch) XXX_Unmarshal(b []byte) error

type EnvoyFilter_Patch Uses

type EnvoyFilter_Patch struct {
    // Determines how the patch should be applied.
    Operation EnvoyFilter_Patch_Operation `protobuf:"varint,1,opt,name=operation,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_Patch_Operation" json:"operation,omitempty"`
    // The JSON config of the object being patched. This will be merged using
    // json merge semantics with the existing proto in the path.
    Value                *types.Struct `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
    XXX_NoUnkeyedLiteral struct{}      `json:"-"`
    XXX_unrecognized     []byte        `json:"-"`
    XXX_sizecache        int32         `json:"-"`
}

Patch specifies how the selected object should be modified.

func (*EnvoyFilter_Patch) Descriptor Uses

func (*EnvoyFilter_Patch) Descriptor() ([]byte, []int)

func (*EnvoyFilter_Patch) GetOperation Uses

func (m *EnvoyFilter_Patch) GetOperation() EnvoyFilter_Patch_Operation

func (*EnvoyFilter_Patch) GetValue Uses

func (m *EnvoyFilter_Patch) GetValue() *types.Struct

func (*EnvoyFilter_Patch) Marshal Uses

func (m *EnvoyFilter_Patch) Marshal() (dAtA []byte, err error)

func (*EnvoyFilter_Patch) MarshalJSON Uses

func (this *EnvoyFilter_Patch) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for EnvoyFilter_Patch

func (*EnvoyFilter_Patch) MarshalTo Uses

func (m *EnvoyFilter_Patch) MarshalTo(dAtA []byte) (int, error)

func (*EnvoyFilter_Patch) MarshalToSizedBuffer Uses

func (m *EnvoyFilter_Patch) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EnvoyFilter_Patch) ProtoMessage Uses

func (*EnvoyFilter_Patch) ProtoMessage()

func (*EnvoyFilter_Patch) Reset Uses

func (m *EnvoyFilter_Patch) Reset()

func (*EnvoyFilter_Patch) Size Uses

func (m *EnvoyFilter_Patch) Size() (n int)

func (*EnvoyFilter_Patch) String Uses

func (m *EnvoyFilter_Patch) String() string

func (*EnvoyFilter_Patch) Unmarshal Uses

func (m *EnvoyFilter_Patch) Unmarshal(dAtA []byte) error

func (*EnvoyFilter_Patch) UnmarshalJSON Uses

func (this *EnvoyFilter_Patch) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for EnvoyFilter_Patch

func (*EnvoyFilter_Patch) XXX_DiscardUnknown Uses

func (m *EnvoyFilter_Patch) XXX_DiscardUnknown()

func (*EnvoyFilter_Patch) XXX_Marshal Uses

func (m *EnvoyFilter_Patch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnvoyFilter_Patch) XXX_Merge Uses

func (m *EnvoyFilter_Patch) XXX_Merge(src proto.Message)

func (*EnvoyFilter_Patch) XXX_Size Uses

func (m *EnvoyFilter_Patch) XXX_Size() int

func (*EnvoyFilter_Patch) XXX_Unmarshal Uses

func (m *EnvoyFilter_Patch) XXX_Unmarshal(b []byte) error

type EnvoyFilter_PatchContext Uses

type EnvoyFilter_PatchContext int32

PatchContext selects a class of configurations based on the traffic flow direction and workload type.

const (
    // All listeners/routes/clusters in both sidecars and gateways.
    EnvoyFilter_ANY EnvoyFilter_PatchContext = 0
    // Inbound listener/route/cluster in sidecar.
    EnvoyFilter_SIDECAR_INBOUND EnvoyFilter_PatchContext = 1
    // Outbound listener/route/cluster in sidecar.
    EnvoyFilter_SIDECAR_OUTBOUND EnvoyFilter_PatchContext = 2
    // Gateway listener/route/cluster.
    EnvoyFilter_GATEWAY EnvoyFilter_PatchContext = 3
)

func (EnvoyFilter_PatchContext) EnumDescriptor Uses

func (EnvoyFilter_PatchContext) EnumDescriptor() ([]byte, []int)

func (EnvoyFilter_PatchContext) String Uses

func (x EnvoyFilter_PatchContext) String() string

type EnvoyFilter_Patch_Operation Uses

type EnvoyFilter_Patch_Operation int32

Operation denotes how the patch should be applied to the selected configuration.

const (
    EnvoyFilter_Patch_INVALID EnvoyFilter_Patch_Operation = 0
    // Merge the provided config with the generated config using
    // json merge semantics.
    EnvoyFilter_Patch_MERGE EnvoyFilter_Patch_Operation = 1
    // Add the provided config to an existing list (of listeners,
    // clusters, virtual hosts, network filters, or http
    // filters). This operation will be ignored when applyTo is set
    // to ROUTE_CONFIGURATION, or HTTP_ROUTE.
    EnvoyFilter_Patch_ADD EnvoyFilter_Patch_Operation = 2
    // Remove the selected object from the list (of listeners,
    // clusters, virtual hosts, network filters, or http
    // filters). Does not require a value to be specified. This
    // operation will be ignored when applyTo is set to
    // ROUTE_CONFIGURATION, or HTTP_ROUTE.
    EnvoyFilter_Patch_REMOVE EnvoyFilter_Patch_Operation = 3
    // Insert operation on an array of named objects. This operation
    // is typically useful only in the context of filters, where the
    // order of filters matter. For clusters and virtual hosts,
    // order of the element in the array does not matter. Insert
    // before the selected filter or sub filter. If no filter is
    // selected, the specified filter will be inserted at the front
    // of the list.
    EnvoyFilter_Patch_INSERT_BEFORE EnvoyFilter_Patch_Operation = 4
    // Insert operation on an array of named objects. This operation
    // is typically useful only in the context of filters, where the
    // order of filters matter. For clusters and virtual hosts,
    // order of the element in the array does not matter. Insert
    // after the selected filter or sub filter. If no filter is
    // selected, the specified filter will be inserted at the end
    // of the list.
    EnvoyFilter_Patch_INSERT_AFTER EnvoyFilter_Patch_Operation = 5
)

func (EnvoyFilter_Patch_Operation) EnumDescriptor Uses

func (EnvoyFilter_Patch_Operation) EnumDescriptor() ([]byte, []int)

func (EnvoyFilter_Patch_Operation) String Uses

func (x EnvoyFilter_Patch_Operation) String() string

type EnvoyFilter_ProxyMatch Uses

type EnvoyFilter_ProxyMatch struct {
    // A regular expression in golang regex format (RE2) that can be
    // used to select proxies using a specific version of istio
    // proxy. The Istio version for a given proxy is obtained from the
    // node metadata field ISTIO_VERSION supplied by the proxy when
    // connecting to Pilot. This value is embedded as an environment
    // variable (ISTIO_META_ISTIO_VERSION) in the Istio proxy docker
    // image. Custom proxy implementations should provide this metadata
    // variable to take advantage of the Istio version check option.
    ProxyVersion string `protobuf:"bytes,1,opt,name=proxy_version,json=proxyVersion,proto3" json:"proxy_version,omitempty"`
    // Match on the node metadata supplied by a proxy when connecting
    // to Istio Pilot. Note that while Envoy's node metadata is of
    // type Struct, only string key-value pairs are processed by
    // Pilot. All keys specified in the metadata must match with exact
    // values. The match will fail if any of the specified keys are
    // absent or the values fail to match.
    Metadata             map[string]string `protobuf:"bytes,2,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    XXX_NoUnkeyedLiteral struct{}          `json:"-"`
    XXX_unrecognized     []byte            `json:"-"`
    XXX_sizecache        int32             `json:"-"`
}

One or more properties of the proxy to match on.

func (*EnvoyFilter_ProxyMatch) Descriptor Uses

func (*EnvoyFilter_ProxyMatch) Descriptor() ([]byte, []int)

func (*EnvoyFilter_ProxyMatch) GetMetadata Uses

func (m *EnvoyFilter_ProxyMatch) GetMetadata() map[string]string

func (*EnvoyFilter_ProxyMatch) GetProxyVersion Uses

func (m *EnvoyFilter_ProxyMatch) GetProxyVersion() string

func (*EnvoyFilter_ProxyMatch) Marshal Uses

func (m *EnvoyFilter_ProxyMatch) Marshal() (dAtA []byte, err error)

func (*EnvoyFilter_ProxyMatch) MarshalJSON Uses

func (this *EnvoyFilter_ProxyMatch) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for EnvoyFilter_ProxyMatch

func (*EnvoyFilter_ProxyMatch) MarshalTo Uses

func (m *EnvoyFilter_ProxyMatch) MarshalTo(dAtA []byte) (int, error)

func (*EnvoyFilter_ProxyMatch) MarshalToSizedBuffer Uses

func (m *EnvoyFilter_ProxyMatch) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EnvoyFilter_ProxyMatch) ProtoMessage Uses

func (*EnvoyFilter_ProxyMatch) ProtoMessage()

func (*EnvoyFilter_ProxyMatch) Reset Uses

func (m *EnvoyFilter_ProxyMatch) Reset()

func (*EnvoyFilter_ProxyMatch) Size Uses

func (m *EnvoyFilter_ProxyMatch) Size() (n int)

func (*EnvoyFilter_ProxyMatch) String Uses

func (m *EnvoyFilter_ProxyMatch) String() string

func (*EnvoyFilter_ProxyMatch) Unmarshal Uses

func (m *EnvoyFilter_ProxyMatch) Unmarshal(dAtA []byte) error

func (*EnvoyFilter_ProxyMatch) UnmarshalJSON Uses

func (this *EnvoyFilter_ProxyMatch) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for EnvoyFilter_ProxyMatch

func (*EnvoyFilter_ProxyMatch) XXX_DiscardUnknown Uses

func (m *EnvoyFilter_ProxyMatch) XXX_DiscardUnknown()

func (*EnvoyFilter_ProxyMatch) XXX_Marshal Uses

func (m *EnvoyFilter_ProxyMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnvoyFilter_ProxyMatch) XXX_Merge Uses

func (m *EnvoyFilter_ProxyMatch) XXX_Merge(src proto.Message)

func (*EnvoyFilter_ProxyMatch) XXX_Size Uses

func (m *EnvoyFilter_ProxyMatch) XXX_Size() int

func (*EnvoyFilter_ProxyMatch) XXX_Unmarshal Uses

func (m *EnvoyFilter_ProxyMatch) XXX_Unmarshal(b []byte) error

type EnvoyFilter_RouteConfigurationMatch Uses

type EnvoyFilter_RouteConfigurationMatch struct {
    // The service port number or gateway server port number for which
    // this route configuration was generated. If omitted, applies to
    // route configurations for all ports.
    PortNumber uint32 `protobuf:"varint,1,opt,name=port_number,json=portNumber,proto3" json:"port_number,omitempty"`
    // Applicable only for GATEWAY context. The gateway server port
    // name for which this route configuration was generated.
    PortName string `protobuf:"bytes,2,opt,name=port_name,json=portName,proto3" json:"port_name,omitempty"`
    // The Istio gateway config's namespace/name for which this route
    // configuration was generated. Applies only if the context is
    // GATEWAY. Should be in the namespace/name format. Use this field
    // in conjunction with the portNumber and portName to accurately
    // select the Envoy route configuration for a specific HTTPS
    // server within a gateway config object.
    Gateway string `protobuf:"bytes,3,opt,name=gateway,proto3" json:"gateway,omitempty"`
    // Match a specific virtual host in a route configuration and
    // apply the patch to the virtual host.
    Vhost *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch `protobuf:"bytes,4,opt,name=vhost,proto3" json:"vhost,omitempty"`
    // Route configuration name to match on. Can be used to match a
    // specific route configuration by name, such as the internally
    // generated "http_proxy" route configuration for all sidecars.
    Name                 string   `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

Conditions specified in RouteConfigurationMatch must be met for the patch to be applied to a route configuration object or a specific virtual host within the route configuration.

func (*EnvoyFilter_RouteConfigurationMatch) Descriptor Uses

func (*EnvoyFilter_RouteConfigurationMatch) Descriptor() ([]byte, []int)

func (*EnvoyFilter_RouteConfigurationMatch) GetGateway Uses

func (m *EnvoyFilter_RouteConfigurationMatch) GetGateway() string

func (*EnvoyFilter_RouteConfigurationMatch) GetName Uses

func (m *EnvoyFilter_RouteConfigurationMatch) GetName() string

func (*EnvoyFilter_RouteConfigurationMatch) GetPortName Uses

func (m *EnvoyFilter_RouteConfigurationMatch) GetPortName() string

func (*EnvoyFilter_RouteConfigurationMatch) GetPortNumber Uses

func (m *EnvoyFilter_RouteConfigurationMatch) GetPortNumber() uint32

func (*EnvoyFilter_RouteConfigurationMatch) GetVhost Uses

func (m *EnvoyFilter_RouteConfigurationMatch) GetVhost() *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch

func (*EnvoyFilter_RouteConfigurationMatch) Marshal Uses

func (m *EnvoyFilter_RouteConfigurationMatch) Marshal() (dAtA []byte, err error)

func (*EnvoyFilter_RouteConfigurationMatch) MarshalJSON Uses

func (this *EnvoyFilter_RouteConfigurationMatch) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for EnvoyFilter_RouteConfigurationMatch

func (*EnvoyFilter_RouteConfigurationMatch) MarshalTo Uses

func (m *EnvoyFilter_RouteConfigurationMatch) MarshalTo(dAtA []byte) (int, error)

func (*EnvoyFilter_RouteConfigurationMatch) MarshalToSizedBuffer Uses

func (m *EnvoyFilter_RouteConfigurationMatch) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EnvoyFilter_RouteConfigurationMatch) ProtoMessage Uses

func (*EnvoyFilter_RouteConfigurationMatch) ProtoMessage()

func (*EnvoyFilter_RouteConfigurationMatch) Reset Uses

func (m *EnvoyFilter_RouteConfigurationMatch) Reset()

func (*EnvoyFilter_RouteConfigurationMatch) Size Uses

func (m *EnvoyFilter_RouteConfigurationMatch) Size() (n int)

func (*EnvoyFilter_RouteConfigurationMatch) String Uses

func (m *EnvoyFilter_RouteConfigurationMatch) String() string

func (*EnvoyFilter_RouteConfigurationMatch) Unmarshal Uses

func (m *EnvoyFilter_RouteConfigurationMatch) Unmarshal(dAtA []byte) error

func (*EnvoyFilter_RouteConfigurationMatch) UnmarshalJSON Uses

func (this *EnvoyFilter_RouteConfigurationMatch) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for EnvoyFilter_RouteConfigurationMatch

func (*EnvoyFilter_RouteConfigurationMatch) XXX_DiscardUnknown Uses

func (m *EnvoyFilter_RouteConfigurationMatch) XXX_DiscardUnknown()

func (*EnvoyFilter_RouteConfigurationMatch) XXX_Marshal Uses

func (m *EnvoyFilter_RouteConfigurationMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnvoyFilter_RouteConfigurationMatch) XXX_Merge Uses

func (m *EnvoyFilter_RouteConfigurationMatch) XXX_Merge(src proto.Message)

func (*EnvoyFilter_RouteConfigurationMatch) XXX_Size Uses

func (m *EnvoyFilter_RouteConfigurationMatch) XXX_Size() int

func (*EnvoyFilter_RouteConfigurationMatch) XXX_Unmarshal Uses

func (m *EnvoyFilter_RouteConfigurationMatch) XXX_Unmarshal(b []byte) error

type EnvoyFilter_RouteConfigurationMatch_RouteMatch Uses

type EnvoyFilter_RouteConfigurationMatch_RouteMatch struct {
    // The Route objects generated by default are named as
    // "default".  Route objects generated using a virtual service
    // will carry the name used in the virtual service's HTTP
    // routes.
    Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    // Match a route with specific action type.
    Action               EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action `protobuf:"varint,2,opt,name=action,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action" json:"action,omitempty"`
    XXX_NoUnkeyedLiteral struct{}                                              `json:"-"`
    XXX_unrecognized     []byte                                                `json:"-"`
    XXX_sizecache        int32                                                 `json:"-"`
}

Match a specific route inside a virtual host in a route configuration.

func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) Descriptor Uses

func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) Descriptor() ([]byte, []int)

func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) GetAction Uses

func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) GetAction() EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action

func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) GetName Uses

func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) GetName() string

func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) Marshal Uses

func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) Marshal() (dAtA []byte, err error)

func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) MarshalJSON Uses

func (this *EnvoyFilter_RouteConfigurationMatch_RouteMatch) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for EnvoyFilter_RouteConfigurationMatch_RouteMatch

func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) MarshalTo Uses

func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) MarshalTo(dAtA []byte) (int, error)

func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) MarshalToSizedBuffer Uses

func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) ProtoMessage Uses

func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) ProtoMessage()

func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) Reset Uses

func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) Reset()

func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) Size Uses

func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) Size() (n int)

func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) String Uses

func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) String() string

func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) Unmarshal Uses

func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) Unmarshal(dAtA []byte) error

func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) UnmarshalJSON Uses

func (this *EnvoyFilter_RouteConfigurationMatch_RouteMatch) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for EnvoyFilter_RouteConfigurationMatch_RouteMatch

func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) XXX_DiscardUnknown Uses

func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) XXX_DiscardUnknown()

func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) XXX_Marshal Uses

func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) XXX_Merge Uses

func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) XXX_Merge(src proto.Message)

func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) XXX_Size Uses

func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) XXX_Size() int

func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) XXX_Unmarshal Uses

func (m *EnvoyFilter_RouteConfigurationMatch_RouteMatch) XXX_Unmarshal(b []byte) error

type EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action Uses

type EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action int32

Action refers to the route action taken by Envoy when a http route matches.

const (
    // All three route actions
    EnvoyFilter_RouteConfigurationMatch_RouteMatch_ANY EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action = 0
    // Route traffic to a cluster / weighted clusters.
    EnvoyFilter_RouteConfigurationMatch_RouteMatch_ROUTE EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action = 1
    // Redirect request.
    EnvoyFilter_RouteConfigurationMatch_RouteMatch_REDIRECT EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action = 2
    // directly respond to a request with specific payload.
    EnvoyFilter_RouteConfigurationMatch_RouteMatch_DIRECT_RESPONSE EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action = 3
)

func (EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action) EnumDescriptor Uses

func (EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action) EnumDescriptor() ([]byte, []int)

func (EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action) String Uses

func (x EnvoyFilter_RouteConfigurationMatch_RouteMatch_Action) String() string

type EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch Uses

type EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch struct {
    // The VirtualHosts objects generated by Istio are named as
    // host:port, where the host typically corresponds to the
    // VirtualService's host field or the hostname of a service in the
    // registry.
    Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    // Match a specific route within the virtual host.
    Route                *EnvoyFilter_RouteConfigurationMatch_RouteMatch `protobuf:"bytes,2,opt,name=route,proto3" json:"route,omitempty"`
    XXX_NoUnkeyedLiteral struct{}                                        `json:"-"`
    XXX_unrecognized     []byte                                          `json:"-"`
    XXX_sizecache        int32                                           `json:"-"`
}

Match a specific virtual host inside a route configuration.

func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) Descriptor Uses

func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) Descriptor() ([]byte, []int)

func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) GetName Uses

func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) GetName() string

func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) GetRoute Uses

func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) GetRoute() *EnvoyFilter_RouteConfigurationMatch_RouteMatch

func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) Marshal Uses

func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) Marshal() (dAtA []byte, err error)

func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) MarshalJSON Uses

func (this *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch

func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) MarshalTo Uses

func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) MarshalTo(dAtA []byte) (int, error)

func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) MarshalToSizedBuffer Uses

func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) ProtoMessage Uses

func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) ProtoMessage()

func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) Reset Uses

func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) Reset()

func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) Size Uses

func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) Size() (n int)

func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) String Uses

func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) String() string

func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) Unmarshal Uses

func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) Unmarshal(dAtA []byte) error

func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) UnmarshalJSON Uses

func (this *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch

func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) XXX_DiscardUnknown Uses

func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) XXX_DiscardUnknown()

func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) XXX_Marshal Uses

func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) XXX_Merge Uses

func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) XXX_Merge(src proto.Message)

func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) XXX_Size Uses

func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) XXX_Size() int

func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) XXX_Unmarshal Uses

func (m *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) XXX_Unmarshal(b []byte) error

type Gateway Uses

type Gateway struct {
    // A list of server specifications.
    Servers []*Server `protobuf:"bytes,1,rep,name=servers,proto3" json:"servers,omitempty"`
    // One or more labels that indicate a specific set of pods/VMs
    // on which this gateway configuration should be applied. The scope of
    // label search is restricted to the configuration namespace in which the
    // the resource is present. In other words, the Gateway resource must
    // reside in the same namespace as the gateway workload instance.
    Selector             map[string]string `protobuf:"bytes,2,rep,name=selector,proto3" json:"selector,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    XXX_NoUnkeyedLiteral struct{}          `json:"-"`
    XXX_unrecognized     []byte            `json:"-"`
    XXX_sizecache        int32             `json:"-"`
}

Gateway describes a load balancer operating at the edge of the mesh receiving incoming or outgoing HTTP/TCP connections.

<!-- go code generation tags +kubetype-gen +kubetype-gen:groupVersion=networking.istio.io/v1alpha3 +genclient +k8s:deepcopy-gen=true -->

func (*Gateway) DeepCopyInto Uses

func (in *Gateway) DeepCopyInto(out *Gateway)

DeepCopyInto supports using Gateway within kubernetes types, where deepcopy-gen is used.

func (*Gateway) Descriptor Uses

func (*Gateway) Descriptor() ([]byte, []int)

func (*Gateway) GetSelector Uses

func (m *Gateway) GetSelector() map[string]string

func (*Gateway) GetServers Uses

func (m *Gateway) GetServers() []*Server

func (*Gateway) Marshal Uses

func (m *Gateway) Marshal() (dAtA []byte, err error)

func (*Gateway) MarshalJSON Uses

func (this *Gateway) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for Gateway

func (*Gateway) MarshalTo Uses

func (m *Gateway) MarshalTo(dAtA []byte) (int, error)

func (*Gateway) MarshalToSizedBuffer Uses

func (m *Gateway) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Gateway) ProtoMessage Uses

func (*Gateway) ProtoMessage()

func (*Gateway) Reset Uses

func (m *Gateway) Reset()

func (*Gateway) Size Uses

func (m *Gateway) Size() (n int)

func (*Gateway) String Uses

func (m *Gateway) String() string

func (*Gateway) Unmarshal Uses

func (m *Gateway) Unmarshal(dAtA []byte) error

func (*Gateway) UnmarshalJSON Uses

func (this *Gateway) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for Gateway

func (*Gateway) XXX_DiscardUnknown Uses

func (m *Gateway) XXX_DiscardUnknown()

func (*Gateway) XXX_Marshal Uses

func (m *Gateway) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Gateway) XXX_Merge Uses

func (m *Gateway) XXX_Merge(src proto.Message)

func (*Gateway) XXX_Size Uses

func (m *Gateway) XXX_Size() int

func (*Gateway) XXX_Unmarshal Uses

func (m *Gateway) XXX_Unmarshal(b []byte) error

type HTTPFaultInjection Uses

type HTTPFaultInjection struct {
    // Delay requests before forwarding, emulating various failures such as
    // network issues, overloaded upstream service, etc.
    Delay *HTTPFaultInjection_Delay `protobuf:"bytes,1,opt,name=delay,proto3" json:"delay,omitempty"`
    // Abort Http request attempts and return error codes back to downstream
    // service, giving the impression that the upstream service is faulty.
    Abort                *HTTPFaultInjection_Abort `protobuf:"bytes,2,opt,name=abort,proto3" json:"abort,omitempty"`
    XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
    XXX_unrecognized     []byte                    `json:"-"`
    XXX_sizecache        int32                     `json:"-"`
}

HTTPFaultInjection can be used to specify one or more faults to inject while forwarding http requests to the destination specified in a route. Fault specification is part of a VirtualService rule. Faults include aborting the Http request from downstream service, and/or delaying proxying of requests. A fault rule MUST HAVE delay or abort or both.

*Note:* Delay and abort faults are independent of one another, even if both are specified simultaneously.

func (*HTTPFaultInjection) Descriptor Uses

func (*HTTPFaultInjection) Descriptor() ([]byte, []int)

func (*HTTPFaultInjection) GetAbort Uses

func (m *HTTPFaultInjection) GetAbort() *HTTPFaultInjection_Abort

func (*HTTPFaultInjection) GetDelay Uses

func (m *HTTPFaultInjection) GetDelay() *HTTPFaultInjection_Delay

func (*HTTPFaultInjection) Marshal Uses

func (m *HTTPFaultInjection) Marshal() (dAtA []byte, err error)

func (*HTTPFaultInjection) MarshalJSON Uses

func (this *HTTPFaultInjection) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for HTTPFaultInjection

func (*HTTPFaultInjection) MarshalTo Uses

func (m *HTTPFaultInjection) MarshalTo(dAtA []byte) (int, error)

func (*HTTPFaultInjection) MarshalToSizedBuffer Uses

func (m *HTTPFaultInjection) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*HTTPFaultInjection) ProtoMessage Uses

func (*HTTPFaultInjection) ProtoMessage()

func (*HTTPFaultInjection) Reset Uses

func (m *HTTPFaultInjection) Reset()

func (*HTTPFaultInjection) Size Uses

func (m *HTTPFaultInjection) Size() (n int)

func (*HTTPFaultInjection) String Uses

func (m *HTTPFaultInjection) String() string

func (*HTTPFaultInjection) Unmarshal Uses

func (m *HTTPFaultInjection) Unmarshal(dAtA []byte) error

func (*HTTPFaultInjection) UnmarshalJSON Uses

func (this *HTTPFaultInjection) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for HTTPFaultInjection

func (*HTTPFaultInjection) XXX_DiscardUnknown Uses

func (m *HTTPFaultInjection) XXX_DiscardUnknown()

func (*HTTPFaultInjection) XXX_Marshal Uses

func (m *HTTPFaultInjection) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HTTPFaultInjection) XXX_Merge Uses

func (m *HTTPFaultInjection) XXX_Merge(src proto.Message)

func (*HTTPFaultInjection) XXX_Size Uses

func (m *HTTPFaultInjection) XXX_Size() int

func (*HTTPFaultInjection) XXX_Unmarshal Uses

func (m *HTTPFaultInjection) XXX_Unmarshal(b []byte) error

type HTTPFaultInjection_Abort Uses

type HTTPFaultInjection_Abort struct {
    // Percentage of requests to be aborted with the error code provided (0-100).
    // Use of integer `percent` value is deprecated. Use the double `percentage`
    // field instead.
    Percent int32 `protobuf:"varint,1,opt,name=percent,proto3" json:"percent,omitempty"` // Deprecated: Do not use.
    // Types that are valid to be assigned to ErrorType:
    //	*HTTPFaultInjection_Abort_HttpStatus
    //	*HTTPFaultInjection_Abort_GrpcStatus
    //	*HTTPFaultInjection_Abort_Http2Error
    ErrorType isHTTPFaultInjection_Abort_ErrorType `protobuf_oneof:"error_type"`
    // Percentage of requests to be aborted with the error code provided.
    Percentage           *Percent `protobuf:"bytes,5,opt,name=percentage,proto3" json:"percentage,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

Abort specification is used to prematurely abort a request with a pre-specified error code. The following example will return an HTTP 400 error code for 1 out of every 1000 requests to the "ratings" service "v1".

“`yaml apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata:

name: ratings-route

spec:

hosts:
- ratings.prod.svc.cluster.local
http:
- route:
  - destination:
      host: ratings.prod.svc.cluster.local
      subset: v1
  fault:
    abort:
      percentage:
        value: 0.1
      httpStatus: 400

“`

The _httpStatus_ field is used to indicate the HTTP status code to return to the caller. The optional _percentage_ field can be used to only abort a certain percentage of requests. If not specified, all requests are aborted.

func (*HTTPFaultInjection_Abort) Descriptor Uses

func (*HTTPFaultInjection_Abort) Descriptor() ([]byte, []int)

func (*HTTPFaultInjection_Abort) GetErrorType Uses

func (m *HTTPFaultInjection_Abort) GetErrorType() isHTTPFaultInjection_Abort_ErrorType

func (*HTTPFaultInjection_Abort) GetGrpcStatus Uses

func (m *HTTPFaultInjection_Abort) GetGrpcStatus() string

func (*HTTPFaultInjection_Abort) GetHttp2Error Uses

func (m *HTTPFaultInjection_Abort) GetHttp2Error() string

func (*HTTPFaultInjection_Abort) GetHttpStatus Uses

func (m *HTTPFaultInjection_Abort) GetHttpStatus() int32

func (*HTTPFaultInjection_Abort) GetPercent Uses

func (m *HTTPFaultInjection_Abort) GetPercent() int32

Deprecated: Do not use.

func (*HTTPFaultInjection_Abort) GetPercentage Uses

func (m *HTTPFaultInjection_Abort) GetPercentage() *Percent

func (*HTTPFaultInjection_Abort) Marshal Uses

func (m *HTTPFaultInjection_Abort) Marshal() (dAtA []byte, err error)

func (*HTTPFaultInjection_Abort) MarshalJSON Uses

func (this *HTTPFaultInjection_Abort) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for HTTPFaultInjection_Abort

func (*HTTPFaultInjection_Abort) MarshalTo Uses

func (m *HTTPFaultInjection_Abort) MarshalTo(dAtA []byte) (int, error)

func (*HTTPFaultInjection_Abort) MarshalToSizedBuffer Uses

func (m *HTTPFaultInjection_Abort) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*HTTPFaultInjection_Abort) ProtoMessage Uses

func (*HTTPFaultInjection_Abort) ProtoMessage()

func (*HTTPFaultInjection_Abort) Reset Uses

func (m *HTTPFaultInjection_Abort) Reset()

func (*HTTPFaultInjection_Abort) Size Uses

func (m *HTTPFaultInjection_Abort) Size() (n int)

func (*HTTPFaultInjection_Abort) String Uses

func (m *HTTPFaultInjection_Abort) String() string

func (*HTTPFaultInjection_Abort) Unmarshal Uses

func (m *HTTPFaultInjection_Abort) Unmarshal(dAtA []byte) error

func (*HTTPFaultInjection_Abort) UnmarshalJSON Uses

func (this *HTTPFaultInjection_Abort) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for HTTPFaultInjection_Abort

func (*HTTPFaultInjection_Abort) XXX_DiscardUnknown Uses

func (m *HTTPFaultInjection_Abort) XXX_DiscardUnknown()

func (*HTTPFaultInjection_Abort) XXX_Marshal Uses

func (m *HTTPFaultInjection_Abort) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HTTPFaultInjection_Abort) XXX_Merge Uses

func (m *HTTPFaultInjection_Abort) XXX_Merge(src proto.Message)

func (*HTTPFaultInjection_Abort) XXX_OneofWrappers Uses

func (*HTTPFaultInjection_Abort) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*HTTPFaultInjection_Abort) XXX_Size Uses

func (m *HTTPFaultInjection_Abort) XXX_Size() int

func (*HTTPFaultInjection_Abort) XXX_Unmarshal Uses

func (m *HTTPFaultInjection_Abort) XXX_Unmarshal(b []byte) error

type HTTPFaultInjection_Abort_GrpcStatus Uses

type HTTPFaultInjection_Abort_GrpcStatus struct {
    GrpcStatus string `protobuf:"bytes,3,opt,name=grpc_status,json=grpcStatus,proto3,oneof"`
}

func (*HTTPFaultInjection_Abort_GrpcStatus) MarshalTo Uses

func (m *HTTPFaultInjection_Abort_GrpcStatus) MarshalTo(dAtA []byte) (int, error)

func (*HTTPFaultInjection_Abort_GrpcStatus) MarshalToSizedBuffer Uses

func (m *HTTPFaultInjection_Abort_GrpcStatus) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*HTTPFaultInjection_Abort_GrpcStatus) Size Uses

func (m *HTTPFaultInjection_Abort_GrpcStatus) Size() (n int)

type HTTPFaultInjection_Abort_Http2Error Uses

type HTTPFaultInjection_Abort_Http2Error struct {
    Http2Error string `protobuf:"bytes,4,opt,name=http2_error,json=http2Error,proto3,oneof"`
}

func (*HTTPFaultInjection_Abort_Http2Error) MarshalTo Uses

func (m *HTTPFaultInjection_Abort_Http2Error) MarshalTo(dAtA []byte) (int, error)

func (*HTTPFaultInjection_Abort_Http2Error) MarshalToSizedBuffer Uses

func (m *HTTPFaultInjection_Abort_Http2Error) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*HTTPFaultInjection_Abort_Http2Error) Size Uses

func (m *HTTPFaultInjection_Abort_Http2Error) Size() (n int)

type HTTPFaultInjection_Abort_HttpStatus Uses

type HTTPFaultInjection_Abort_HttpStatus struct {
    HttpStatus int32 `protobuf:"varint,2,opt,name=http_status,json=httpStatus,proto3,oneof"`
}

func (*HTTPFaultInjection_Abort_HttpStatus) MarshalTo Uses

func (m *HTTPFaultInjection_Abort_HttpStatus) MarshalTo(dAtA []byte) (int, error)

func (*HTTPFaultInjection_Abort_HttpStatus) MarshalToSizedBuffer Uses

func (m *HTTPFaultInjection_Abort_HttpStatus) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*HTTPFaultInjection_Abort_HttpStatus) Size Uses

func (m *HTTPFaultInjection_Abort_HttpStatus) Size() (n int)

type HTTPFaultInjection_Delay Uses

type HTTPFaultInjection_Delay struct {
    // Percentage of requests on which the delay will be injected (0-100).
    // Use of integer `percent` value is deprecated. Use the double `percentage`
    // field instead.
    Percent int32 `protobuf:"varint,1,opt,name=percent,proto3" json:"percent,omitempty"` // Deprecated: Do not use.
    // Types that are valid to be assigned to HttpDelayType:
    //	*HTTPFaultInjection_Delay_FixedDelay
    //	*HTTPFaultInjection_Delay_ExponentialDelay
    HttpDelayType isHTTPFaultInjection_Delay_HttpDelayType `protobuf_oneof:"http_delay_type"`
    // Percentage of requests on which the delay will be injected.
    Percentage           *Percent `protobuf:"bytes,5,opt,name=percentage,proto3" json:"percentage,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

Delay specification is used to inject latency into the request forwarding path. The following example will introduce a 5 second delay in 1 out of every 1000 requests to the "v1" version of the "reviews" service from all pods with label env: prod

“`yaml apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata:

name: reviews-route

spec:

hosts:
- reviews.prod.svc.cluster.local
http:
- match:
  - sourceLabels:
      env: prod
  route:
  - destination:
      host: reviews.prod.svc.cluster.local
      subset: v1
  fault:
    delay:
      percentage:
        value: 0.1
      fixedDelay: 5s

“`

The _fixedDelay_ field is used to indicate the amount of delay in seconds. The optional _percentage_ field can be used to only delay a certain percentage of requests. If left unspecified, all request will be delayed.

func (*HTTPFaultInjection_Delay) Descriptor Uses

func (*HTTPFaultInjection_Delay) Descriptor() ([]byte, []int)

func (*HTTPFaultInjection_Delay) GetExponentialDelay Uses

func (m *HTTPFaultInjection_Delay) GetExponentialDelay() *types.Duration

func (*HTTPFaultInjection_Delay) GetFixedDelay Uses

func (m *HTTPFaultInjection_Delay) GetFixedDelay() *types.Duration

func (*HTTPFaultInjection_Delay) GetHttpDelayType Uses

func (m *HTTPFaultInjection_Delay) GetHttpDelayType() isHTTPFaultInjection_Delay_HttpDelayType

func (*HTTPFaultInjection_Delay) GetPercent Uses

func (m *HTTPFaultInjection_Delay) GetPercent() int32

Deprecated: Do not use.

func (*HTTPFaultInjection_Delay) GetPercentage Uses

func (m *HTTPFaultInjection_Delay) GetPercentage() *Percent

func (*HTTPFaultInjection_Delay) Marshal Uses

func (m *HTTPFaultInjection_Delay) Marshal() (dAtA []byte, err error)

func (*HTTPFaultInjection_Delay) MarshalJSON Uses

func (this *HTTPFaultInjection_Delay) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for HTTPFaultInjection_Delay

func (*HTTPFaultInjection_Delay) MarshalTo Uses

func (m *HTTPFaultInjection_Delay) MarshalTo(dAtA []byte) (int, error)

func (*HTTPFaultInjection_Delay) MarshalToSizedBuffer Uses

func (m *HTTPFaultInjection_Delay) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*HTTPFaultInjection_Delay) ProtoMessage Uses

func (*HTTPFaultInjection_Delay) ProtoMessage()

func (*HTTPFaultInjection_Delay) Reset Uses

func (m *HTTPFaultInjection_Delay) Reset()

func (*HTTPFaultInjection_Delay) Size Uses

func (m *HTTPFaultInjection_Delay) Size() (n int)

func (*HTTPFaultInjection_Delay) String Uses

func (m *HTTPFaultInjection_Delay) String() string

func (*HTTPFaultInjection_Delay) Unmarshal Uses

func (m *HTTPFaultInjection_Delay) Unmarshal(dAtA []byte) error

func (*HTTPFaultInjection_Delay) UnmarshalJSON Uses

func (this *HTTPFaultInjection_Delay) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for HTTPFaultInjection_Delay

func (*HTTPFaultInjection_Delay) XXX_DiscardUnknown Uses

func (m *HTTPFaultInjection_Delay) XXX_DiscardUnknown()

func (*HTTPFaultInjection_Delay) XXX_Marshal Uses

func (m *HTTPFaultInjection_Delay) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HTTPFaultInjection_Delay) XXX_Merge Uses

func (m *HTTPFaultInjection_Delay) XXX_Merge(src proto.Message)

func (*HTTPFaultInjection_Delay) XXX_OneofWrappers Uses

func (*HTTPFaultInjection_Delay) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*HTTPFaultInjection_Delay) XXX_Size Uses

func (m *HTTPFaultInjection_Delay) XXX_Size() int

func (*HTTPFaultInjection_Delay) XXX_Unmarshal Uses

func (m *HTTPFaultInjection_Delay) XXX_Unmarshal(b []byte) error

type HTTPFaultInjection_Delay_ExponentialDelay Uses

type HTTPFaultInjection_Delay_ExponentialDelay struct {
    ExponentialDelay *types.Duration `protobuf:"bytes,3,opt,name=exponential_delay,json=exponentialDelay,proto3,oneof"`
}

func (*HTTPFaultInjection_Delay_ExponentialDelay) MarshalTo Uses

func (m *HTTPFaultInjection_Delay_ExponentialDelay) MarshalTo(dAtA []byte) (int, error)

func (*HTTPFaultInjection_Delay_ExponentialDelay) MarshalToSizedBuffer Uses

func (m *HTTPFaultInjection_Delay_ExponentialDelay) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*HTTPFaultInjection_Delay_ExponentialDelay) Size Uses

func (m *HTTPFaultInjection_Delay_ExponentialDelay) Size() (n int)

type HTTPFaultInjection_Delay_FixedDelay Uses

type HTTPFaultInjection_Delay_FixedDelay struct {
    FixedDelay *types.Duration `protobuf:"bytes,2,opt,name=fixed_delay,json=fixedDelay,proto3,oneof"`
}

func (*HTTPFaultInjection_Delay_FixedDelay) MarshalTo Uses

func (m *HTTPFaultInjection_Delay_FixedDelay) MarshalTo(dAtA []byte) (int, error)

func (*HTTPFaultInjection_Delay_FixedDelay) MarshalToSizedBuffer Uses

func (m *HTTPFaultInjection_Delay_FixedDelay) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*HTTPFaultInjection_Delay_FixedDelay) Size Uses

func (m *HTTPFaultInjection_Delay_FixedDelay) Size() (n int)

type HTTPMatchRequest Uses

type HTTPMatchRequest struct {
    // The name assigned to a match. The match's name will be
    // concatenated with the parent route's name and will be logged in
    // the access logs for requests matching this route.
    Name string `protobuf:"bytes,11,opt,name=name,proto3" json:"name,omitempty"`
    // URI to match
    // values are case-sensitive and formatted as follows:
    //
    // - `exact: "value"` for exact string match
    //
    // - `prefix: "value"` for prefix-based match
    //
    // - `regex: "value"` for ECMAscript style regex-based match
    //
    // **Note:** Case-insensitive matching could be enabled via the
    // `ignore_uri_case` flag.
    Uri *StringMatch `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
    // URI Scheme
    // values are case-sensitive and formatted as follows:
    //
    // - `exact: "value"` for exact string match
    //
    // - `prefix: "value"` for prefix-based match
    //
    // - `regex: "value"` for ECMAscript style regex-based match
    //
    Scheme *StringMatch `protobuf:"bytes,2,opt,name=scheme,proto3" json:"scheme,omitempty"`
    // HTTP Method
    // values are case-sensitive and formatted as follows:
    //
    // - `exact: "value"` for exact string match
    //
    // - `prefix: "value"` for prefix-based match
    //
    // - `regex: "value"` for ECMAscript style regex-based match
    //
    Method *StringMatch `protobuf:"bytes,3,opt,name=method,proto3" json:"method,omitempty"`
    // HTTP Authority
    // values are case-sensitive and formatted as follows:
    //
    // - `exact: "value"` for exact string match
    //
    // - `prefix: "value"` for prefix-based match
    //
    // - `regex: "value"` for ECMAscript style regex-based match
    //
    Authority *StringMatch `protobuf:"bytes,4,opt,name=authority,proto3" json:"authority,omitempty"`
    // The header keys must be lowercase and use hyphen as the separator,
    // e.g. _x-request-id_.
    //
    // Header values are case-sensitive and formatted as follows:
    //
    // - `exact: "value"` for exact string match
    //
    // - `prefix: "value"` for prefix-based match
    //
    // - `regex: "value"` for ECMAscript style regex-based match
    //
    // **Note:** The keys `uri`, `scheme`, `method`, and `authority` will be ignored.
    Headers map[string]*StringMatch `protobuf:"bytes,5,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    // Specifies the ports on the host that is being addressed. Many services
    // only expose a single port or label ports with the protocols they support,
    // in these cases it is not required to explicitly select the port.
    Port uint32 `protobuf:"varint,6,opt,name=port,proto3" json:"port,omitempty"`
    // One or more labels that constrain the applicability of a rule to
    // workloads with the given labels. If the VirtualService has a list of
    // gateways specified at the top, it must include the reserved gateway
    // `mesh` for this field to be applicable.
    SourceLabels map[string]string `protobuf:"bytes,7,rep,name=source_labels,json=sourceLabels,proto3" json:"source_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    // $hide_from_docs
    Gateways []string `protobuf:"bytes,8,rep,name=gateways,proto3" json:"gateways,omitempty"`
    // Query parameters for matching.
    //
    // Ex:
    // - For a query parameter like "?key=true", the map key would be "key" and
    //   the string match could be defined as `exact: "true"`.
    // - For a query parameter like "?key", the map key would be "key" and the
    //   string match could be defined as `exact: ""`.
    // - For a query parameter like "?key=123", the map key would be "key" and the
    //   string match could be defined as `regex: "\d+$"`. Note that this
    //   configuration will only match values like "123" but not "a123" or "123a".
    //
    // **Note:** `prefix` matching is currently not supported.
    QueryParams map[string]*StringMatch `protobuf:"bytes,9,rep,name=query_params,json=queryParams,proto3" json:"query_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    // Flag to specify whether the URI matching should be case-insensitive.
    //
    // **Note:** The case will be ignored only in the case of `exact` and `prefix`
    // URI matches.
    IgnoreUriCase        bool     `protobuf:"varint,10,opt,name=ignore_uri_case,json=ignoreUriCase,proto3" json:"ignore_uri_case,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

HttpMatchRequest specifies a set of criterion to be met in order for the rule to be applied to the HTTP request. For example, the following restricts the rule to match only requests where the URL path starts with /ratings/v2/ and the request contains a custom `end-user` header with value `jason`.

“`yaml apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata:

name: ratings-route

spec:

hosts:
- ratings.prod.svc.cluster.local
http:
- match:
  - headers:
      end-user:
        exact: jason
    uri:
      prefix: "/ratings/v2/"
    ignoreUriCase: true
  route:
  - destination:
      host: ratings.prod.svc.cluster.local

“`

HTTPMatchRequest CANNOT be empty.

func (*HTTPMatchRequest) Descriptor Uses

func (*HTTPMatchRequest) Descriptor() ([]byte, []int)

func (*HTTPMatchRequest) GetAuthority Uses

func (m *HTTPMatchRequest) GetAuthority() *StringMatch

func (*HTTPMatchRequest) GetGateways Uses

func (m *HTTPMatchRequest) GetGateways() []string

func (*HTTPMatchRequest) GetHeaders Uses

func (m *HTTPMatchRequest) GetHeaders() map[string]*StringMatch

func (*HTTPMatchRequest) GetIgnoreUriCase Uses

func (m *HTTPMatchRequest) GetIgnoreUriCase() bool

func (*HTTPMatchRequest) GetMethod Uses

func (m *HTTPMatchRequest) GetMethod() *StringMatch

func (*HTTPMatchRequest) GetName Uses

func (m *HTTPMatchRequest) GetName() string

func (*HTTPMatchRequest) GetPort Uses

func (m *HTTPMatchRequest) GetPort() uint32

func (*HTTPMatchRequest) GetQueryParams Uses

func (m *HTTPMatchRequest) GetQueryParams() map[string]*StringMatch

func (*HTTPMatchRequest) GetScheme Uses

func (m *HTTPMatchRequest) GetScheme() *StringMatch

func (*HTTPMatchRequest) GetSourceLabels Uses

func (m *HTTPMatchRequest) GetSourceLabels() map[string]string

func (*HTTPMatchRequest) GetUri Uses

func (m *HTTPMatchRequest) GetUri() *StringMatch

func (*HTTPMatchRequest) Marshal Uses

func (m *HTTPMatchRequest) Marshal() (dAtA []byte, err error)

func (*HTTPMatchRequest) MarshalJSON Uses

func (this *HTTPMatchRequest) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for HTTPMatchRequest

func (*HTTPMatchRequest) MarshalTo Uses

func (m *HTTPMatchRequest) MarshalTo(dAtA []byte) (int, error)

func (*HTTPMatchRequest) MarshalToSizedBuffer Uses

func (m *HTTPMatchRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*HTTPMatchRequest) ProtoMessage Uses

func (*HTTPMatchRequest) ProtoMessage()

func (*HTTPMatchRequest) Reset Uses

func (m *HTTPMatchRequest) Reset()

func (*HTTPMatchRequest) Size Uses

func (m *HTTPMatchRequest) Size() (n int)

func (*HTTPMatchRequest) String Uses

func (m *HTTPMatchRequest) String() string

func (*HTTPMatchRequest) Unmarshal Uses

func (m *HTTPMatchRequest) Unmarshal(dAtA []byte) error

func (*HTTPMatchRequest) UnmarshalJSON Uses

func (this *HTTPMatchRequest) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for HTTPMatchRequest

func (*HTTPMatchRequest) XXX_DiscardUnknown Uses

func (m *HTTPMatchRequest) XXX_DiscardUnknown()

func (*HTTPMatchRequest) XXX_Marshal Uses

func (m *HTTPMatchRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HTTPMatchRequest) XXX_Merge Uses

func (m *HTTPMatchRequest) XXX_Merge(src proto.Message)

func (*HTTPMatchRequest) XXX_Size Uses

func (m *HTTPMatchRequest) XXX_Size() int

func (*HTTPMatchRequest) XXX_Unmarshal Uses

func (m *HTTPMatchRequest) XXX_Unmarshal(b []byte) error

type HTTPRedirect Uses

type HTTPRedirect struct {
    // On a redirect, overwrite the Path portion of the URL with this
    // value. Note that the entire path will be replaced, irrespective of the
    // request URI being matched as an exact path or prefix.
    Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
    // On a redirect, overwrite the Authority/Host portion of the URL with
    // this value.
    Authority string `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"`
    // On a redirect, Specifies the HTTP status code to use in the redirect
    // response. The default response code is MOVED_PERMANENTLY (301).
    RedirectCode         uint32   `protobuf:"varint,3,opt,name=redirect_code,json=redirectCode,proto3" json:"redirect_code,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

HTTPRedirect can be used to send a 301 redirect response to the caller, where the Authority/Host and the URI in the response can be swapped with the specified values. For example, the following rule redirects requests for /v1/getProductRatings API on the ratings service to /v1/bookRatings provided by the bookratings service.

“`yaml apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata:

name: ratings-route

spec:

hosts:
- ratings.prod.svc.cluster.local
http:
- match:
  - uri:
      exact: /v1/getProductRatings
  redirect:
    uri: /v1/bookRatings
    authority: newratings.default.svc.cluster.local
...

“`

func (*HTTPRedirect) Descriptor Uses

func (*HTTPRedirect) Descriptor() ([]byte, []int)

func (*HTTPRedirect) GetAuthority Uses

func (m *HTTPRedirect) GetAuthority() string

func (*HTTPRedirect) GetRedirectCode Uses

func (m *HTTPRedirect) GetRedirectCode() uint32

func (*HTTPRedirect) GetUri Uses

func (m *HTTPRedirect) GetUri() string

func (*HTTPRedirect) Marshal Uses

func (m *HTTPRedirect) Marshal() (dAtA []byte, err error)

func (*HTTPRedirect) MarshalJSON Uses

func (this *HTTPRedirect) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for HTTPRedirect

func (*HTTPRedirect) MarshalTo Uses

func (m *HTTPRedirect) MarshalTo(dAtA []byte) (int, error)

func (*HTTPRedirect) MarshalToSizedBuffer Uses

func (m *HTTPRedirect) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*HTTPRedirect) ProtoMessage Uses

func (*HTTPRedirect) ProtoMessage()

func (*HTTPRedirect) Reset Uses

func (m *HTTPRedirect) Reset()

func (*HTTPRedirect) Size Uses

func (m *HTTPRedirect) Size() (n int)

func (*HTTPRedirect) String Uses

func (m *HTTPRedirect) String() string

func (*HTTPRedirect) Unmarshal Uses

func (m *HTTPRedirect) Unmarshal(dAtA []byte) error

func (*HTTPRedirect) UnmarshalJSON Uses

func (this *HTTPRedirect) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for HTTPRedirect

func (*HTTPRedirect) XXX_DiscardUnknown Uses

func (m *HTTPRedirect) XXX_DiscardUnknown()

func (*HTTPRedirect) XXX_Marshal Uses

func (m *HTTPRedirect) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HTTPRedirect) XXX_Merge Uses

func (m *HTTPRedirect) XXX_Merge(src proto.Message)

func (*HTTPRedirect) XXX_Size Uses

func (m *HTTPRedirect) XXX_Size() int

func (*HTTPRedirect) XXX_Unmarshal Uses

func (m *HTTPRedirect) XXX_Unmarshal(b []byte) error

type HTTPRetry Uses

type HTTPRetry struct {
    // Number of retries for a given request. The interval
    // between retries will be determined automatically (25ms+). Actual
    // number of retries attempted depends on the httpReqTimeout.
    Attempts int32 `protobuf:"varint,1,opt,name=attempts,proto3" json:"attempts,omitempty"`
    // Timeout per retry attempt for a given request. format: 1h/1m/1s/1ms. MUST BE >=1ms.
    PerTryTimeout *types.Duration `protobuf:"bytes,2,opt,name=per_try_timeout,json=perTryTimeout,proto3" json:"per_try_timeout,omitempty"`
    // Specifies the conditions under which retry takes place.
    // One or more policies can be specified using a ‘,’ delimited list.
    // See the [retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-on)
    // and [gRPC retry policies](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/router_filter#x-envoy-retry-grpc-on) for more details.
    RetryOn              string   `protobuf:"bytes,3,opt,name=retry_on,json=retryOn,proto3" json:"retry_on,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

Describes the retry policy to use when a HTTP request fails. For example, the following rule sets the maximum number of retries to 3 when calling ratings:v1 service, with a 2s timeout per retry attempt.

“`yaml apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata:

name: ratings-route

spec:

hosts:
- ratings.prod.svc.cluster.local
http:
- route:
  - destination:
      host: ratings.prod.svc.cluster.local
      subset: v1
  retries:
    attempts: 3
    perTryTimeout: 2s
    retryOn: gateway-error,connect-failure,refused-stream

“`

func (*HTTPRetry) Descriptor Uses

func (*HTTPRetry) Descriptor() ([]byte, []int)

func (*HTTPRetry) GetAttempts Uses

func (m *HTTPRetry) GetAttempts() int32

func (*HTTPRetry) GetPerTryTimeout Uses

func (m *HTTPRetry) GetPerTryTimeout() *types.Duration

func (*HTTPRetry) GetRetryOn Uses

func (m *HTTPRetry) GetRetryOn() string

func (*HTTPRetry) Marshal Uses

func (m *HTTPRetry) Marshal() (dAtA []byte, err error)

func (*HTTPRetry) MarshalJSON Uses

func (this *HTTPRetry) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for HTTPRetry

func (*HTTPRetry) MarshalTo Uses

func (m *HTTPRetry) MarshalTo(dAtA []byte) (int, error)

func (*HTTPRetry) MarshalToSizedBuffer Uses

func (m *HTTPRetry) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*HTTPRetry) ProtoMessage Uses

func (*HTTPRetry) ProtoMessage()

func (*HTTPRetry) Reset Uses

func (m *HTTPRetry) Reset()

func (*HTTPRetry) Size Uses

func (m *HTTPRetry) Size() (n int)

func (*HTTPRetry) String Uses

func (m *HTTPRetry) String() string

func (*HTTPRetry) Unmarshal Uses

func (m *HTTPRetry) Unmarshal(dAtA []byte) error

func (*HTTPRetry) UnmarshalJSON Uses

func (this *HTTPRetry) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for HTTPRetry

func (*HTTPRetry) XXX_DiscardUnknown Uses

func (m *HTTPRetry) XXX_DiscardUnknown()

func (*HTTPRetry) XXX_Marshal Uses

func (m *HTTPRetry) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HTTPRetry) XXX_Merge Uses

func (m *HTTPRetry) XXX_Merge(src proto.Message)

func (*HTTPRetry) XXX_Size Uses

func (m *HTTPRetry) XXX_Size() int

func (*HTTPRetry) XXX_Unmarshal Uses

func (m *HTTPRetry) XXX_Unmarshal(b []byte) error

type HTTPRewrite Uses

type HTTPRewrite struct {
    // rewrite the path (or the prefix) portion of the URI with this
    // value. If the original URI was matched based on prefix, the value
    // provided in this field will replace the corresponding matched prefix.
    Uri string `protobuf:"bytes,1,opt,name=uri,proto3" json:"uri,omitempty"`
    // rewrite the Authority/Host header with this value.
    Authority            string   `protobuf:"bytes,2,opt,name=authority,proto3" json:"authority,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

HTTPRewrite can be used to rewrite specific parts of a HTTP request before forwarding the request to the destination. Rewrite primitive can be used only with HTTPRouteDestination. The following example demonstrates how to rewrite the URL prefix for api call (/ratings) to ratings service before making the actual API call.

“`yaml apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata:

name: ratings-route

spec:

hosts:
- ratings.prod.svc.cluster.local
http:
- match:
  - uri:
      prefix: /ratings
  rewrite:
    uri: /v1/bookRatings
  route:
  - destination:
      host: ratings.prod.svc.cluster.local
      subset: v1

“`

func (*HTTPRewrite) Descriptor Uses

func (*HTTPRewrite) Descriptor() ([]byte, []int)

func (*HTTPRewrite) GetAuthority Uses

func (m *HTTPRewrite) GetAuthority() string

func (*HTTPRewrite) GetUri Uses

func (m *HTTPRewrite) GetUri() string

func (*HTTPRewrite) Marshal Uses

func (m *HTTPRewrite) Marshal() (dAtA []byte, err error)

func (*HTTPRewrite) MarshalJSON Uses

func (this *HTTPRewrite) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for HTTPRewrite

func (*HTTPRewrite) MarshalTo Uses

func (m *HTTPRewrite) MarshalTo(dAtA []byte) (int, error)

func (*HTTPRewrite) MarshalToSizedBuffer Uses

func (m *HTTPRewrite) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*HTTPRewrite) ProtoMessage Uses

func (*HTTPRewrite) ProtoMessage()

func (*HTTPRewrite) Reset Uses

func (m *HTTPRewrite) Reset()

func (*HTTPRewrite) Size Uses

func (m *HTTPRewrite) Size() (n int)

func (*HTTPRewrite) String Uses

func (m *HTTPRewrite) String() string

func (*HTTPRewrite) Unmarshal Uses

func (m *HTTPRewrite) Unmarshal(dAtA []byte) error

func (*HTTPRewrite) UnmarshalJSON Uses

func (this *HTTPRewrite) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for HTTPRewrite

func (*HTTPRewrite) XXX_DiscardUnknown Uses

func (m *HTTPRewrite) XXX_DiscardUnknown()

func (*HTTPRewrite) XXX_Marshal Uses

func (m *HTTPRewrite) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HTTPRewrite) XXX_Merge Uses

func (m *HTTPRewrite) XXX_Merge(src proto.Message)

func (*HTTPRewrite) XXX_Size Uses

func (m *HTTPRewrite) XXX_Size() int

func (*HTTPRewrite) XXX_Unmarshal Uses

func (m *HTTPRewrite) XXX_Unmarshal(b []byte) error

type HTTPRoute Uses

type HTTPRoute struct {
    // The name assigned to the route for debugging purposes. The
    // route's name will be concatenated with the match's name and will
    // be logged in the access logs for requests matching this
    // route/match.
    Name string `protobuf:"bytes,17,opt,name=name,proto3" json:"name,omitempty"`
    // Match conditions to be satisfied for the rule to be
    // activated. All conditions inside a single match block have AND
    // semantics, while the list of match blocks have OR semantics. The rule
    // is matched if any one of the match blocks succeed.
    Match []*HTTPMatchRequest `protobuf:"bytes,1,rep,name=match,proto3" json:"match,omitempty"`
    // A http rule can either redirect or forward (default) traffic. The
    // forwarding target can be one of several versions of a service (see
    // glossary in beginning of document). Weights associated with the
    // service version determine the proportion of traffic it receives.
    Route []*HTTPRouteDestination `protobuf:"bytes,2,rep,name=route,proto3" json:"route,omitempty"`
    // A http rule can either redirect or forward (default) traffic. If
    // traffic passthrough option is specified in the rule,
    // route/redirect will be ignored. The redirect primitive can be used to
    // send a HTTP 301 redirect to a different URI or Authority.
    Redirect *HTTPRedirect `protobuf:"bytes,3,opt,name=redirect,proto3" json:"redirect,omitempty"`
    // Rewrite HTTP URIs and Authority headers. Rewrite cannot be used with
    // Redirect primitive. Rewrite will be performed before forwarding.
    Rewrite *HTTPRewrite `protobuf:"bytes,4,opt,name=rewrite,proto3" json:"rewrite,omitempty"`
    // Deprecated. Websocket upgrades are done automatically starting from Istio 1.0.
    // $hide_from_docs
    WebsocketUpgrade bool `protobuf:"varint,5,opt,name=websocket_upgrade,json=websocketUpgrade,proto3" json:"websocket_upgrade,omitempty"`
    // Timeout for HTTP requests.
    Timeout *types.Duration `protobuf:"bytes,6,opt,name=timeout,proto3" json:"timeout,omitempty"`
    // Retry policy for HTTP requests.
    Retries *HTTPRetry `protobuf:"bytes,7,opt,name=retries,proto3" json:"retries,omitempty"`
    // Fault injection policy to apply on HTTP traffic at the client side.
    // Note that timeouts or retries will not be enabled when faults are
    // enabled on the client side.
    Fault *HTTPFaultInjection `protobuf:"bytes,8,opt,name=fault,proto3" json:"fault,omitempty"`
    // Mirror HTTP traffic to a another destination in addition to forwarding
    // the requests to the intended destination. Mirrored traffic is on a
    // best effort basis where the sidecar/gateway will not wait for the
    // mirrored cluster to respond before returning the response from the
    // original destination.  Statistics will be generated for the mirrored
    // destination.
    Mirror *Destination `protobuf:"bytes,9,opt,name=mirror,proto3" json:"mirror,omitempty"`
    // Percentage of the traffic to be mirrored by the `mirror` field.
    // If this field is absent, all the traffic (100%) will be mirrored.
    // Max value is 100.
    MirrorPercent *types.UInt32Value `protobuf:"bytes,18,opt,name=mirror_percent,json=mirrorPercent,proto3" json:"mirror_percent,omitempty"`
    // Cross-Origin Resource Sharing policy (CORS). Refer to
    // [CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS)
    // for further details about cross origin resource sharing.
    CorsPolicy *CorsPolicy `protobuf:"bytes,10,opt,name=cors_policy,json=corsPolicy,proto3" json:"cors_policy,omitempty"`
    // $hide_from_docs
    AppendHeaders map[string]string `protobuf:"bytes,11,rep,name=append_headers,json=appendHeaders,proto3" json:"append_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Deprecated: Do not use.
    // $hide_from_docs
    RemoveResponseHeaders []string `protobuf:"bytes,12,rep,name=remove_response_headers,json=removeResponseHeaders,proto3" json:"remove_response_headers,omitempty"` // Deprecated: Do not use.
    // $hide_from_docs
    AppendResponseHeaders map[string]string `protobuf:"bytes,13,rep,name=append_response_headers,json=appendResponseHeaders,proto3" json:"append_response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Deprecated: Do not use.
    // $hide_from_docs
    RemoveRequestHeaders []string `protobuf:"bytes,14,rep,name=remove_request_headers,json=removeRequestHeaders,proto3" json:"remove_request_headers,omitempty"` // Deprecated: Do not use.
    // $hide_from_docs
    AppendRequestHeaders map[string]string `protobuf:"bytes,15,rep,name=append_request_headers,json=appendRequestHeaders,proto3" json:"append_request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Deprecated: Do not use.
    // Header manipulation rules
    Headers              *Headers `protobuf:"bytes,16,opt,name=headers,proto3" json:"headers,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

Describes match conditions and actions for routing HTTP/1.1, HTTP2, and gRPC traffic. See VirtualService for usage examples.

func (*HTTPRoute) Descriptor Uses

func (*HTTPRoute) Descriptor() ([]byte, []int)

func (*HTTPRoute) GetAppendHeaders Uses

func (m *HTTPRoute) GetAppendHeaders() map[string]string

Deprecated: Do not use.

func (*HTTPRoute) GetAppendRequestHeaders Uses

func (m *HTTPRoute) GetAppendRequestHeaders() map[string]string

Deprecated: Do not use.

func (*HTTPRoute) GetAppendResponseHeaders Uses

func (m *HTTPRoute) GetAppendResponseHeaders() map[string]string

Deprecated: Do not use.

func (*HTTPRoute) GetCorsPolicy Uses

func (m *HTTPRoute) GetCorsPolicy() *CorsPolicy

func (*HTTPRoute) GetFault Uses

func (m *HTTPRoute) GetFault() *HTTPFaultInjection

func (*HTTPRoute) GetHeaders Uses

func (m *HTTPRoute) GetHeaders() *Headers

func (*HTTPRoute) GetMatch Uses

func (m *HTTPRoute) GetMatch() []*HTTPMatchRequest

func (*HTTPRoute) GetMirror Uses

func (m *HTTPRoute) GetMirror() *Destination

func (*HTTPRoute) GetMirrorPercent Uses

func (m *HTTPRoute) GetMirrorPercent() *types.UInt32Value

func (*HTTPRoute) GetName Uses

func (m *HTTPRoute) GetName() string

func (*HTTPRoute) GetRedirect Uses

func (m *HTTPRoute) GetRedirect() *HTTPRedirect

func (*HTTPRoute) GetRemoveRequestHeaders Uses

func (m *HTTPRoute) GetRemoveRequestHeaders() []string

Deprecated: Do not use.

func (*HTTPRoute) GetRemoveResponseHeaders Uses

func (m *HTTPRoute) GetRemoveResponseHeaders() []string

Deprecated: Do not use.

func (*HTTPRoute) GetRetries Uses

func (m *HTTPRoute) GetRetries() *HTTPRetry

func (*HTTPRoute) GetRewrite Uses

func (m *HTTPRoute) GetRewrite() *HTTPRewrite

func (*HTTPRoute) GetRoute Uses

func (m *HTTPRoute) GetRoute() []*HTTPRouteDestination

func (*HTTPRoute) GetTimeout Uses

func (m *HTTPRoute) GetTimeout() *types.Duration

func (*HTTPRoute) GetWebsocketUpgrade Uses

func (m *HTTPRoute) GetWebsocketUpgrade() bool

func (*HTTPRoute) Marshal Uses

func (m *HTTPRoute) Marshal() (dAtA []byte, err error)

func (*HTTPRoute) MarshalJSON Uses

func (this *HTTPRoute) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for HTTPRoute

func (*HTTPRoute) MarshalTo Uses

func (m *HTTPRoute) MarshalTo(dAtA []byte) (int, error)

func (*HTTPRoute) MarshalToSizedBuffer Uses

func (m *HTTPRoute) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*HTTPRoute) ProtoMessage Uses

func (*HTTPRoute) ProtoMessage()

func (*HTTPRoute) Reset Uses

func (m *HTTPRoute) Reset()

func (*HTTPRoute) Size Uses

func (m *HTTPRoute) Size() (n int)

func (*HTTPRoute) String Uses

func (m *HTTPRoute) String() string

func (*HTTPRoute) Unmarshal Uses

func (m *HTTPRoute) Unmarshal(dAtA []byte) error

func (*HTTPRoute) UnmarshalJSON Uses

func (this *HTTPRoute) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for HTTPRoute

func (*HTTPRoute) XXX_DiscardUnknown Uses

func (m *HTTPRoute) XXX_DiscardUnknown()

func (*HTTPRoute) XXX_Marshal Uses

func (m *HTTPRoute) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HTTPRoute) XXX_Merge Uses

func (m *HTTPRoute) XXX_Merge(src proto.Message)

func (*HTTPRoute) XXX_Size Uses

func (m *HTTPRoute) XXX_Size() int

func (*HTTPRoute) XXX_Unmarshal Uses

func (m *HTTPRoute) XXX_Unmarshal(b []byte) error

type HTTPRouteDestination Uses

type HTTPRouteDestination struct {
    // Destination uniquely identifies the instances of a service
    // to which the request/connection should be forwarded to.
    Destination *Destination `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"`
    // The proportion of traffic to be forwarded to the service
    // version. (0-100). Sum of weights across destinations SHOULD BE == 100.
    // If there is only one destination in a rule, the weight value is assumed to
    // be 100.
    Weight int32 `protobuf:"varint,2,opt,name=weight,proto3" json:"weight,omitempty"`
    // Use of `remove_response_header` is deprecated. Use the `headers`
    // field instead.
    RemoveResponseHeaders []string `protobuf:"bytes,3,rep,name=remove_response_headers,json=removeResponseHeaders,proto3" json:"remove_response_headers,omitempty"` // Deprecated: Do not use.
    // Use of `append_response_headers` is deprecated. Use the `headers`
    // field instead.
    AppendResponseHeaders map[string]string `protobuf:"bytes,4,rep,name=append_response_headers,json=appendResponseHeaders,proto3" json:"append_response_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Deprecated: Do not use.
    // Use of `remove_request_headers` is deprecated. Use the `headers`
    // field instead.
    RemoveRequestHeaders []string `protobuf:"bytes,5,rep,name=remove_request_headers,json=removeRequestHeaders,proto3" json:"remove_request_headers,omitempty"` // Deprecated: Do not use.
    // Use of `append_request_headers` is deprecated. Use the `headers`
    // field instead.
    AppendRequestHeaders map[string]string `protobuf:"bytes,6,rep,name=append_request_headers,json=appendRequestHeaders,proto3" json:"append_request_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` // Deprecated: Do not use.
    // Header manipulation rules
    Headers              *Headers `protobuf:"bytes,7,opt,name=headers,proto3" json:"headers,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

Each routing rule is associated with one or more service versions (see glossary in beginning of document). Weights associated with the version determine the proportion of traffic it receives. For example, the following rule will route 25% of traffic for the "reviews" service to instances with the "v2" tag and the remaining traffic (i.e., 75%) to "v1".

“`yaml apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata:

name: reviews-route

spec:

hosts:
- reviews.prod.svc.cluster.local
http:
- route:
  - destination:
      host: reviews.prod.svc.cluster.local
      subset: v2
    weight: 25
  - destination:
      host: reviews.prod.svc.cluster.local
      subset: v1
    weight: 75

“`

And the associated DestinationRule

“`yaml apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata:

name: reviews-destination

spec:

host: reviews.prod.svc.cluster.local
subsets:
- name: v1
  labels:
    version: v1
- name: v2
  labels:
    version: v2

“`

Traffic can also be split across two entirely different services without having to define new subsets. For example, the following rule forwards 25% of traffic to reviews.com to dev.reviews.com

“`yaml apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata:

name: reviews-route-two-domains

spec:

hosts:
- reviews.com
http:
- route:
  - destination:
      host: dev.reviews.com
    weight: 25
  - destination:
      host: reviews.com
    weight: 75

“`

func (*HTTPRouteDestination) Descriptor Uses

func (*HTTPRouteDestination) Descriptor() ([]byte, []int)

func (*HTTPRouteDestination) GetAppendRequestHeaders Uses

func (m *HTTPRouteDestination) GetAppendRequestHeaders() map[string]string

Deprecated: Do not use.

func (*HTTPRouteDestination) GetAppendResponseHeaders Uses

func (m *HTTPRouteDestination) GetAppendResponseHeaders() map[string]string

Deprecated: Do not use.

func (*HTTPRouteDestination) GetDestination Uses

func (m *HTTPRouteDestination) GetDestination() *Destination

func (*HTTPRouteDestination) GetHeaders Uses

func (m *HTTPRouteDestination) GetHeaders() *Headers

func (*HTTPRouteDestination) GetRemoveRequestHeaders Uses

func (m *HTTPRouteDestination) GetRemoveRequestHeaders() []string

Deprecated: Do not use.

func (*HTTPRouteDestination) GetRemoveResponseHeaders Uses

func (m *HTTPRouteDestination) GetRemoveResponseHeaders() []string

Deprecated: Do not use.

func (*HTTPRouteDestination) GetWeight Uses

func (m *HTTPRouteDestination) GetWeight() int32

func (*HTTPRouteDestination) Marshal Uses

func (m *HTTPRouteDestination) Marshal() (dAtA []byte, err error)

func (*HTTPRouteDestination) MarshalJSON Uses

func (this *HTTPRouteDestination) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for HTTPRouteDestination

func (*HTTPRouteDestination) MarshalTo Uses

func (m *HTTPRouteDestination) MarshalTo(dAtA []byte) (int, error)

func (*HTTPRouteDestination) MarshalToSizedBuffer Uses

func (m *HTTPRouteDestination) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*HTTPRouteDestination) ProtoMessage Uses

func (*HTTPRouteDestination) ProtoMessage()

func (*HTTPRouteDestination) Reset Uses

func (m *HTTPRouteDestination) Reset()

func (*HTTPRouteDestination) Size Uses

func (m *HTTPRouteDestination) Size() (n int)

func (*HTTPRouteDestination) String Uses

func (m *HTTPRouteDestination) String() string

func (*HTTPRouteDestination) Unmarshal Uses

func (m *HTTPRouteDestination) Unmarshal(dAtA []byte) error

func (*HTTPRouteDestination) UnmarshalJSON Uses

func (this *HTTPRouteDestination) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for HTTPRouteDestination

func (*HTTPRouteDestination) XXX_DiscardUnknown Uses

func (m *HTTPRouteDestination) XXX_DiscardUnknown()

func (*HTTPRouteDestination) XXX_Marshal Uses

func (m *HTTPRouteDestination) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*HTTPRouteDestination) XXX_Merge Uses

func (m *HTTPRouteDestination) XXX_Merge(src proto.Message)

func (*HTTPRouteDestination) XXX_Size Uses

func (m *HTTPRouteDestination) XXX_Size() int

func (*HTTPRouteDestination) XXX_Unmarshal Uses

func (m *HTTPRouteDestination) XXX_Unmarshal(b []byte) error

type Headers Uses

type Headers struct {
    // Header manipulation rules to apply before forwarding a request
    // to the destination service
    Request *Headers_HeaderOperations `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"`
    // Header manipulation rules to apply before returning a response
    // to the caller
    Response             *Headers_HeaderOperations `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"`
    XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
    XXX_unrecognized     []byte                    `json:"-"`
    XXX_sizecache        int32                     `json:"-"`
}

Message headers can be manipulated when Envoy forwards requests to, or responses from, a destination service. Header manipulation rules can be specified for a specific route destination or for all destinations. The following VirtualService adds a `test` header with the value `true` to requests that are routed to any `reviews` service destination. It also romoves the `foo` response header, but only from responses coming from the `v1` subset (version) of the `reviews` service.

“`yaml apiVersion: networking.istio.io/v1alpha3 kind: VirtualService metadata:

name: reviews-route

spec:

hosts:
- reviews.prod.svc.cluster.local
http:
- headers:
    request:
      set:
        test: true
  route:
  - destination:
      host: reviews.prod.svc.cluster.local
      subset: v2
    weight: 25
  - destination:
      host: reviews.prod.svc.cluster.local
      subset: v1
    headers:
      response:
        remove:
        - foo
    weight: 75

“`

func (*Headers) Descriptor Uses

func (*Headers) Descriptor() ([]byte, []int)

func (*Headers) GetRequest Uses

func (m *Headers) GetRequest() *Headers_HeaderOperations

func (*Headers) GetResponse Uses

func (m *Headers) GetResponse() *Headers_HeaderOperations

func (*Headers) Marshal Uses

func (m *Headers) Marshal() (dAtA []byte, err error)

func (*Headers) MarshalJSON Uses

func (this *Headers) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for Headers

func (*Headers) MarshalTo Uses

func (m *Headers) MarshalTo(dAtA []byte) (int, error)

func (*Headers) MarshalToSizedBuffer Uses

func (m *Headers) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Headers) ProtoMessage Uses

func (*Headers) ProtoMessage()

func (*Headers) Reset Uses

func (m *Headers) Reset()

func (*Headers) Size Uses

func (m *Headers) Size() (n int)

func (*Headers) String Uses

func (m *Headers) String() string

func (*Headers) Unmarshal Uses

func (m *Headers) Unmarshal(dAtA []byte) error

func (*Headers) UnmarshalJSON Uses

func (this *Headers) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for Headers

func (*Headers) XXX_DiscardUnknown Uses

func (m *Headers) XXX_DiscardUnknown()

func (*Headers) XXX_Marshal Uses

func (m *Headers) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Headers) XXX_Merge Uses

func (m *Headers) XXX_Merge(src proto.Message)

func (*Headers) XXX_Size Uses

func (m *Headers) XXX_Size() int

func (*Headers) XXX_Unmarshal Uses

func (m *Headers) XXX_Unmarshal(b []byte) error

type Headers_HeaderOperations Uses

type Headers_HeaderOperations struct {
    // Overwrite the headers specified by key with the given values
    Set map[string]string `protobuf:"bytes,1,rep,name=set,proto3" json:"set,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    // Append the given values to the headers specified by keys
    // (will create a comma-separated list of values)
    Add map[string]string `protobuf:"bytes,2,rep,name=add,proto3" json:"add,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    // Remove a the specified headers
    Remove               []string `protobuf:"bytes,3,rep,name=remove,proto3" json:"remove,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

HeaderOperations Describes the header manipulations to apply

func (*Headers_HeaderOperations) Descriptor Uses

func (*Headers_HeaderOperations) Descriptor() ([]byte, []int)

func (*Headers_HeaderOperations) GetAdd Uses

func (m *Headers_HeaderOperations) GetAdd() map[string]string

func (*Headers_HeaderOperations) GetRemove Uses

func (m *Headers_HeaderOperations) GetRemove() []string

func (*Headers_HeaderOperations) GetSet Uses

func (m *Headers_HeaderOperations) GetSet() map[string]string

func (*Headers_HeaderOperations) Marshal Uses

func (m *Headers_HeaderOperations) Marshal() (dAtA []byte, err error)

func (*Headers_HeaderOperations) MarshalJSON Uses

func (this *Headers_HeaderOperations) MarshalJSON() ([]byte, error)

MarshalJSON is a custom marshaler for Headers_HeaderOperations

func (*Headers_HeaderOperations) MarshalTo Uses

func (m *Headers_HeaderOperations) MarshalTo(dAtA []byte) (int, error)

func (*Headers_HeaderOperations) MarshalToSizedBuffer Uses

func (m *Headers_HeaderOperations) MarshalToSizedBuffer(dAtA []byte) (int, error)

func (*Headers_HeaderOperations) ProtoMessage Uses

func (*Headers_HeaderOperations) ProtoMessage()

func (*Headers_HeaderOperations) Reset Uses

func (m *Headers_HeaderOperations) Reset()

func (*Headers_HeaderOperations) Size Uses

func (m *Headers_HeaderOperations) Size() (n int)

func (*Headers_HeaderOperations) String Uses

func (m *Headers_HeaderOperations) String() string

func (*Headers_HeaderOperations) Unmarshal Uses

func (m *Headers_HeaderOperations) Unmarshal(dAtA []byte) error

func (*Headers_HeaderOperations) UnmarshalJSON Uses

func (this *Headers_HeaderOperations) UnmarshalJSON(b []byte) error

UnmarshalJSON is a custom unmarshaler for Headers_HeaderOperations

func (*Headers_HeaderOperations) XXX_DiscardUnknown Uses

func (m *Headers_HeaderOperations) XXX_DiscardUnknown()

func (*Headers_HeaderOperations) XXX_Marshal Uses

func (m *Headers_HeaderOperations) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Headers_HeaderOperations) XXX_Merge Uses

func (m *Headers_HeaderOperations) XXX_Merge(src proto.Message)

func (*Headers_HeaderOperations) XXX_Size Uses

func (m *Headers_HeaderOperations) XXX_Size() int

func (*Headers_HeaderOperations) XXX_Unmarshal Uses

func (m *Headers_HeaderOperations) XXX_Unmarshal(b []byte) error

type IstioEgressListener Uses

type IstioEgressListener struct {
    // The port associated with the listener. If using Unix domain socket,
    // use 0 as the port number, with a valid protocol. The port if
    // specified, will be used as the default destination port associated
    // with the imported hosts. If the port is omitted, Istio will infer the
    // listener ports based on the imported hosts.