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 workload_entry.pb.go workload_entry_deepcopy.gen.go workload_entry_json.gen.go workload_group.pb.go workload_group_deepcopy.gen.go workload_group_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 (
    ErrInvalidLengthWorkloadEntry = fmt.Errorf("proto: negative length found during unmarshaling")
    ErrIntOverflowWorkloadEntry   = fmt.Errorf("proto: integer overflow")
)
var (
    WorkloadEntryMarshaler   = &github_com_gogo_protobuf_jsonpb.Marshaler{}
    WorkloadEntryUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{}
)
var (
    ErrInvalidLengthWorkloadGroup = fmt.Errorf("proto: negative length found during unmarshaling")
    ErrIntOverflowWorkloadGroup   = fmt.Errorf("proto: integer overflow")
)
var (
    WorkloadGroupMarshaler   = &github_com_gogo_protobuf_jsonpb.Marshaler{}
    WorkloadGroupUnmarshaler = &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 ClientTLSSettings_TLSmode_name = map[int32]string{
    0:  "DISABLE",
    1:  "SIMPLE",
    2:  "MUTUAL",
    3:  "ISTIO_MUTUAL",
}
var ClientTLSSettings_TLSmode_value = map[string]int32{
    "DISABLE":      0,
    "SIMPLE":       1,
    "MUTUAL":       2,
    "ISTIO_MUTUAL": 3,
}
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_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_FilterClass_name = map[int32]string{
    0:  "UNSPECIFIED",
    1:  "AUTHN",
    2:  "AUTHZ",
    3:  "STATS",
}
var EnvoyFilter_Patch_FilterClass_value = map[string]int32{
    "UNSPECIFIED": 0,
    "AUTHN":       1,
    "AUTHZ":       2,
    "STATS":       3,
}
var EnvoyFilter_Patch_Operation_name = map[int32]string{
    0:  "INVALID",
    1:  "MERGE",
    2:  "ADD",
    3:  "REMOVE",
    4:  "INSERT_BEFORE",
    5:  "INSERT_AFTER",
    6:  "INSERT_FIRST",
    7:  "REPLACE",
}
var EnvoyFilter_Patch_Operation_value = map[string]int32{
    "INVALID":       0,
    "MERGE":         1,
    "ADD":           2,
    "REMOVE":        3,
    "INSERT_BEFORE": 4,
    "INSERT_AFTER":  5,
    "INSERT_FIRST":  6,
    "REPLACE":       7,
}
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 ServerTLSSettings_TLSProtocol_name = map[int32]string{
    0:  "TLS_AUTO",
    1:  "TLSV1_0",
    2:  "TLSV1_1",
    3:  "TLSV1_2",
    4:  "TLSV1_3",
}
var ServerTLSSettings_TLSProtocol_value = map[string]int32{
    "TLS_AUTO": 0,
    "TLSV1_0":  1,
    "TLSV1_1":  2,
    "TLSV1_2":  3,
    "TLSV1_3":  4,
}
var ServerTLSSettings_TLSmode_name = map[int32]string{
    0:  "PASSTHROUGH",
    1:  "SIMPLE",
    2:  "MUTUAL",
    3:  "AUTO_PASSTHROUGH",
    4:  "ISTIO_MUTUAL",
}
var ServerTLSSettings_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,
}

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 ClientTLSSettings Uses

type ClientTLSSettings struct {
    // Indicates whether connections to this port should be secured
    // using TLS. The value of this field determines how TLS is enforced.
    Mode ClientTLSSettings_TLSmode `protobuf:"varint,1,opt,name=mode,proto3,enum=istio.networking.v1alpha3.ClientTLSSettings_TLSmode" json:"mode,omitempty"`
    // REQUIRED if mode is `MUTUAL`. The path to the file holding the
    // client-side TLS certificate to use.
    // Should be empty if mode is `ISTIO_MUTUAL`.
    ClientCertificate string `protobuf:"bytes,2,opt,name=client_certificate,json=clientCertificate,proto3" json:"client_certificate,omitempty"`
    // REQUIRED if mode is `MUTUAL`. The path to the file holding the
    // client's private key.
    // Should be empty if mode is `ISTIO_MUTUAL`.
    PrivateKey string `protobuf:"bytes,3,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"`
    // OPTIONAL: The path to the file containing certificate authority
    // certificates to use in verifying a presented server certificate. If
    // omitted, the proxy will not verify the server's certificate.
    // Should be empty if mode is `ISTIO_MUTUAL`.
    CaCertificates string `protobuf:"bytes,4,opt,name=ca_certificates,json=caCertificates,proto3" json:"ca_certificates,omitempty"`
    // The name of the secret that holds the TLS certs for the
    // client including the CA certificates. Secret must exist in the
    // same namespace with the proxy using the certificates.
    // The secret (of type `generic`)should contain the
    // following keys and values: `key: <privateKey>`,
    // `cert: <serverCert>`, `cacert: <CACertificate>`.
    // Secret of type tls for client certificates along with
    // ca.crt key for CA certificates is also supported.
    // Only one of client certificates and CA certificate
    // or credentialName can be specified.
    //
    // **NOTE:** This field is currently applicable only at gateways.
    // Sidecars will continue to use the certificate paths.
    CredentialName string `protobuf:"bytes,7,opt,name=credential_name,json=credentialName,proto3" json:"credential_name,omitempty"`
    // A list of alternate names to verify the subject identity in the
    // certificate. If specified, the proxy will verify that the server
    // certificate's subject alt name matches one of the specified values.
    // If specified, this list overrides the value of subject_alt_names
    // from the ServiceEntry.
    SubjectAltNames []string `protobuf:"bytes,5,rep,name=subject_alt_names,json=subjectAltNames,proto3" json:"subject_alt_names,omitempty"`
    // SNI string to present to the server during TLS handshake.
    Sni                  string   `protobuf:"bytes,6,opt,name=sni,proto3" json:"sni,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

SSL/TLS related settings for upstream connections. See Envoy's [TLS context](https://www.envoyproxy.io/docs/envoy/latest/api-v2/api/v2/auth/cert.proto.html) for more details. These settings are common to both HTTP and TCP upstreams.

For example, the following rule configures a client to use mutual TLS for connections to upstream database cluster.

{{<tabset category-name="example">}} {{<tab name="v1alpha3" category-value="v1alpha3">}} “`yaml apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata:

name: db-mtls

spec:

host: mydbserver.prod.svc.cluster.local
trafficPolicy:
  tls:
    mode: MUTUAL
    clientCertificate: /etc/certs/myclientcert.pem
    privateKey: /etc/certs/client_private_key.pem
    caCertificates: /etc/certs/rootcacerts.pem

“` {{</tab>}}

{{<tab name="v1beta1" category-value="v1beta1">}} “`yaml apiVersion: networking.istio.io/v1beta1 kind: DestinationRule metadata:

name: db-mtls

spec:

host: mydbserver.prod.svc.cluster.local
trafficPolicy:
  tls:
    mode: MUTUAL
    clientCertificate: /etc/certs/myclientcert.pem
    privateKey: /etc/certs/client_private_key.pem
    caCertificates: /etc/certs/rootcacerts.pem

“` {{</tab>}} {{</tabset>}}

The following rule configures a client to use TLS when talking to a foreign service whose domain matches *.foo.com.

{{<tabset category-name="example">}} {{<tab name="v1alpha3" category-value="v1alpha3">}} “`yaml apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata:

name: tls-foo

spec:

host: "*.foo.com"
trafficPolicy:
  tls:
    mode: SIMPLE

“` {{</tab>}}

{{<tab name="v1beta1" category-value="v1beta1">}} “`yaml apiVersion: networking.istio.io/v1beta1 kind: DestinationRule metadata:

name: tls-foo

spec:

host: "*.foo.com"
trafficPolicy:
  tls:
    mode: SIMPLE

“` {{</tab>}} {{</tabset>}}

The following rule configures a client to use Istio mutual TLS when talking to rating services.

{{<tabset category-name="example">}} {{<tab name="v1alpha3" category-value="v1alpha3">}} “`yaml apiVersion: networking.istio.io/v1alpha3 kind: DestinationRule metadata:

name: ratings-istio-mtls

spec:

host: ratings.prod.svc.cluster.local
trafficPolicy:
  tls:
    mode: ISTIO_MUTUAL

“` {{</tab>}}

{{<tab name="v1beta1" category-value="v1beta1">}} “`yaml apiVersion: networking.istio.io/v1beta1 kind: DestinationRule metadata:

name: ratings-istio-mtls

spec:

host: ratings.prod.svc.cluster.local
trafficPolicy:
  tls:
    mode: ISTIO_MUTUAL

“` {{</tab>}} {{</tabset>}}

func (*ClientTLSSettings) DeepCopy Uses

func (in *ClientTLSSettings) DeepCopy() *ClientTLSSettings

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClientTLSSettings. Required by controller-gen.

func (*ClientTLSSettings) DeepCopyInterface Uses

func (in *ClientTLSSettings) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new ClientTLSSettings. Required by controller-gen.

func (*ClientTLSSettings) DeepCopyInto Uses

func (in *ClientTLSSettings) DeepCopyInto(out *ClientTLSSettings)

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

func (*ClientTLSSettings) Descriptor Uses

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

func (*ClientTLSSettings) GetCaCertificates Uses

func (m *ClientTLSSettings) GetCaCertificates() string

func (*ClientTLSSettings) GetClientCertificate Uses

func (m *ClientTLSSettings) GetClientCertificate() string

func (*ClientTLSSettings) GetCredentialName Uses

func (m *ClientTLSSettings) GetCredentialName() string

func (*ClientTLSSettings) GetMode Uses

func (m *ClientTLSSettings) GetMode() ClientTLSSettings_TLSmode

func (*ClientTLSSettings) GetPrivateKey Uses

func (m *ClientTLSSettings) GetPrivateKey() string

func (*ClientTLSSettings) GetSni Uses

func (m *ClientTLSSettings) GetSni() string

func (*ClientTLSSettings) GetSubjectAltNames Uses

func (m *ClientTLSSettings) GetSubjectAltNames() []string

func (*ClientTLSSettings) Marshal Uses

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

func (*ClientTLSSettings) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for ClientTLSSettings

func (*ClientTLSSettings) MarshalTo Uses

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

func (*ClientTLSSettings) MarshalToSizedBuffer Uses

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

func (*ClientTLSSettings) ProtoMessage Uses

func (*ClientTLSSettings) ProtoMessage()

func (*ClientTLSSettings) Reset Uses

func (m *ClientTLSSettings) Reset()

func (*ClientTLSSettings) Size Uses

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

func (*ClientTLSSettings) String Uses

func (m *ClientTLSSettings) String() string

func (*ClientTLSSettings) Unmarshal Uses

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

func (*ClientTLSSettings) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for ClientTLSSettings

func (*ClientTLSSettings) XXX_DiscardUnknown Uses

func (m *ClientTLSSettings) XXX_DiscardUnknown()

func (*ClientTLSSettings) XXX_Marshal Uses

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

func (*ClientTLSSettings) XXX_Merge Uses

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

func (*ClientTLSSettings) XXX_Size Uses

func (m *ClientTLSSettings) XXX_Size() int

func (*ClientTLSSettings) XXX_Unmarshal Uses

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

type ClientTLSSettings_TLSmode Uses

type ClientTLSSettings_TLSmode int32

TLS connection mode

const (
    // Do not setup a TLS connection to the upstream endpoint.
    ClientTLSSettings_DISABLE ClientTLSSettings_TLSmode = 0
    // Originate a TLS connection to the upstream endpoint.
    ClientTLSSettings_SIMPLE ClientTLSSettings_TLSmode = 1
    // Secure connections to the upstream using mutual TLS by presenting
    // client certificates for authentication.
    ClientTLSSettings_MUTUAL ClientTLSSettings_TLSmode = 2
    // Secure connections to the upstream using mutual TLS by presenting
    // client certificates for authentication.
    // Compared to Mutual mode, this mode uses certificates generated
    // automatically by Istio for mTLS authentication. When this mode is
    // used, all other fields in `ClientTLSSettings` should be empty.
    ClientTLSSettings_ISTIO_MUTUAL ClientTLSSettings_TLSmode = 3
)

func (ClientTLSSettings_TLSmode) EnumDescriptor Uses

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

func (ClientTLSSettings_TLSmode) String Uses

func (x ClientTLSSettings_TLSmode) 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

{{<tabset category-name="example">}} {{<tab name="v1alpha3" category-value="v1alpha3">}} “`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

“` {{</tab>}}

{{<tab name="v1beta1" category-value="v1beta1">}} “`yaml apiVersion: networking.istio.io/v1beta1 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

“` {{</tab>}} {{</tabset>}}

func (*ConnectionPoolSettings) DeepCopy Uses

func (in *ConnectionPoolSettings) DeepCopy() *ConnectionPoolSettings

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionPoolSettings. Required by controller-gen.

func (*ConnectionPoolSettings) DeepCopyInterface Uses

func (in *ConnectionPoolSettings) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionPoolSettings. Required by controller-gen.

func (*ConnectionPoolSettings) DeepCopyInto Uses

func (in *ConnectionPoolSettings) DeepCopyInto(out *ConnectionPoolSettings)

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

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"`
    // If set to true, client protocol will be preserved while initiating connection to backend.
    // Note that when this is set to true, h2_upgrade_policy will be ineffective i.e. the client
    // connections will not be upgraded to http2.
    UseClientProtocol    bool     `protobuf:"varint,7,opt,name=use_client_protocol,json=useClientProtocol,proto3" json:"use_client_protocol,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

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

func (*ConnectionPoolSettings_HTTPSettings) DeepCopy Uses

func (in *ConnectionPoolSettings_HTTPSettings) DeepCopy() *ConnectionPoolSettings_HTTPSettings

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionPoolSettings_HTTPSettings. Required by controller-gen.

func (*ConnectionPoolSettings_HTTPSettings) DeepCopyInterface Uses

func (in *ConnectionPoolSettings_HTTPSettings) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionPoolSettings_HTTPSettings. Required by controller-gen.

func (*ConnectionPoolSettings_HTTPSettings) DeepCopyInto Uses

func (in *ConnectionPoolSettings_HTTPSettings) DeepCopyInto(out *ConnectionPoolSettings_HTTPSettings)

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

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) GetUseClientProtocol Uses

func (m *ConnectionPoolSettings_HTTPSettings) GetUseClientProtocol() bool

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. format:
    // 1h/1m/1s/1ms. MUST BE >=1ms. Default is 10s.
    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) DeepCopy Uses

func (in *ConnectionPoolSettings_TCPSettings) DeepCopy() *ConnectionPoolSettings_TCPSettings

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionPoolSettings_TCPSettings. Required by controller-gen.

func (*ConnectionPoolSettings_TCPSettings) DeepCopyInterface Uses

func (in *ConnectionPoolSettings_TCPSettings) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionPoolSettings_TCPSettings. Required by controller-gen.

func (*ConnectionPoolSettings_TCPSettings) DeepCopyInto Uses

func (in *ConnectionPoolSettings_TCPSettings) DeepCopyInto(out *ConnectionPoolSettings_TCPSettings)

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

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) DeepCopy Uses

func (in *ConnectionPoolSettings_TCPSettings_TcpKeepalive) DeepCopy() *ConnectionPoolSettings_TCPSettings_TcpKeepalive

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionPoolSettings_TCPSettings_TcpKeepalive. Required by controller-gen.

func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) DeepCopyInterface Uses

func (in *ConnectionPoolSettings_TCPSettings_TcpKeepalive) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new ConnectionPoolSettings_TCPSettings_TcpKeepalive. Required by controller-gen.

func (*ConnectionPoolSettings_TCPSettings_TcpKeepalive) DeepCopyInto Uses

func (in *ConnectionPoolSettings_TCPSettings_TcpKeepalive) DeepCopyInto(out *ConnectionPoolSettings_TCPSettings_TcpKeepalive)

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

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.
    // $hide_from_docs
    AllowOrigin []string `protobuf:"bytes,1,rep,name=allow_origin,json=allowOrigin,proto3" json:"allow_origin,omitempty"` // Deprecated: Do not use.
    // String patterns that match allowed origins.
    // An origin is allowed if any of the string matchers match.
    // If a match is found, then the outgoing Access-Control-Allow-Origin would be set to the origin as provided by the client.
    AllowOrigins []*StringMatch `protobuf:"bytes,7,rep,name=allow_origins,json=allowOrigins,proto3" json:"allow_origins,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 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.

{{<tabset category-name="example">}} {{<tab name="v1alpha3" category-value="v1alpha3">}} “`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:
    allowOrigins:
    - exact: https://example.com
    allowMethods:
    - POST
    - GET
    allowCredentials: false
    allowHeaders:
    - X-Foo-Bar
    maxAge: "24h"

“` {{</tab>}}

{{<tab name="v1beta1" category-value="v1beta1">}} “`yaml apiVersion: networking.istio.io/v1beta1 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:
    allowOrigins:
    - exact: https://example.com
    allowMethods:
    - POST
    - GET
    allowCredentials: false
    allowHeaders:
    - X-Foo-Bar
    maxAge: "24h"

“` {{</tab>}} {{</tabset>}}

func (*CorsPolicy) DeepCopy Uses

func (in *CorsPolicy) DeepCopy() *CorsPolicy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CorsPolicy. Required by controller-gen.

func (*CorsPolicy) DeepCopyInterface Uses

func (in *CorsPolicy) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new CorsPolicy. Required by controller-gen.

func (*CorsPolicy) DeepCopyInto Uses

func (in *CorsPolicy) DeepCopyInto(out *CorsPolicy)

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

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

Deprecated: Do not use.

func (*CorsPolicy) GetAllowOrigins Uses

func (m *CorsPolicy) GetAllowOrigins() []*StringMatch

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 Delegate Uses

type Delegate struct {
    // Name specifies the name of the delegate VirtualService.
    Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    // Namespace specifies the namespace where the delegate VirtualService resides.
    // By default, it is same to the root's.
    Namespace            string   `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

Describes the delegate VirtualService. The following routing rules forward the traffic to `/productpage` by a delegate VirtualService named `productpage`, forward the traffic to `/reviews` by a delegate VirtualService named `reviews`.

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

name: bookinfo

spec:

hosts:
- "bookinfo.com"
gateways:
- mygateway
http:
- match:
  - uri:
      prefix: "/productpage"
  delegate:
     name: productpage
     namespace: nsA
- match:
  - uri:
      prefix: "/reviews"
  delegate:
      name: reviews
      namespace: nsB

“`

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

name: productpage
namespace: nsA

spec:

http:
- match:
   - uri:
      prefix: "/productpage/v1/"
  route:
  - destination:
      host: productpage-v1.nsA.svc.cluster.local
- route:
  - destination:
      host: productpage.nsA.svc.cluster.local

“`

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

name: reviews
namespace: nsB

spec:

http:
- route:
  - destination:
      host: reviews.nsB.svc.cluster.local

“`

func (*Delegate) DeepCopy Uses

func (in *Delegate) DeepCopy() *Delegate

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Delegate. Required by controller-gen.

func (*Delegate) DeepCopyInterface Uses

func (in *Delegate) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new Delegate. Required by controller-gen.

func (*Delegate) DeepCopyInto Uses

func (in *Delegate) DeepCopyInto(out *Delegate)

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

func (*Delegate) Descriptor Uses

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

func (*Delegate) GetName Uses

func (m *Delegate) GetName() string

func (*Delegate) GetNamespace Uses

func (m *Delegate) GetNamespace() string

func (*Delegate) Marshal Uses

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

func (*Delegate) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for Delegate

func (*Delegate) MarshalTo Uses

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

func (*Delegate) MarshalToSizedBuffer Uses

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

func (*Delegate) ProtoMessage Uses

func (*Delegate) ProtoMessage()

func (*Delegate) Reset Uses

func (m *Delegate) Reset()

func (*Delegate) Size Uses

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

func (*Delegate) String Uses

func (m *Delegate) String() string

func (*Delegate) Unmarshal Uses

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

func (*Delegate) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for Delegate

func (*Delegate) XXX_DiscardUnknown Uses

func (m *Delegate) XXX_DiscardUnknown()

func (*Delegate) XXX_Marshal Uses

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

func (*Delegate) XXX_Merge Uses

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

func (*Delegate) XXX_Size Uses

func (m *Delegate) XXX_Size() int

func (*Delegate) XXX_Unmarshal Uses

func (m *Delegate) 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 misconfiguration, 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.

{{<tabset category-name="example">}} {{<tab name="v1alpha3" category-value="v1alpha3">}} “`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

“` {{</tab>}}

{{<tab name="v1beta1" category-value="v1beta1">}} “`yaml apiVersion: networking.istio.io/v1beta1 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

“` {{</tab>}} {{</tabset>}}

And the associated DestinationRule

{{<tabset category-name="example">}} {{<tab name="v1alpha3" category-value="v1alpha3">}} “`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

“` {{</tab>}}

{{<tab name="v1beta1" category-value="v1beta1">}} “`yaml apiVersion: networking.istio.io/v1beta1 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

“` {{</tab>}} {{</tabset>}}

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.

{{<tabset category-name="example">}} {{<tab name="v1alpha3" category-value="v1alpha3">}} “`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

“` {{</tab>}}

{{<tab name="v1beta1" category-value="v1beta1">}} “`yaml apiVersion: networking.istio.io/v1beta1 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

“` {{</tab>}} {{</tabset>}}

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.

{{<tabset category-name="example">}} {{<tab name="v1alpha3" category-value="v1alpha3">}} “`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

“` {{</tab>}}

{{<tab name="v1beta1" category-value="v1beta1">}} “`yaml apiVersion: networking.istio.io/v1beta1 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

“` {{</tab>}} {{</tabset>}}

func (*Destination) DeepCopy Uses

func (in *Destination) DeepCopy() *Destination

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Destination. Required by controller-gen.

func (*Destination) DeepCopyInterface Uses

func (in *Destination) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new Destination. Required by controller-gen.

func (*Destination) DeepCopyInto Uses

func (in *Destination) DeepCopyInto(out *Destination)

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

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.

<!-- crd generation tags +cue-gen:DestinationRule:groupName:networking.istio.io +cue-gen:DestinationRule:version:v1alpha3 +cue-gen:DestinationRule:storageVersion +cue-gen:DestinationRule:annotations:helm.sh/resource-policy=keep +cue-gen:DestinationRule:labels:app=istio-pilot,chart=istio,heritage=Tiller,release=istio +cue-gen:DestinationRule:subresource:status +cue-gen:DestinationRule:scope:Namespaced +cue-gen:DestinationRule:resource:categories=istio-io,networking-istio-io,shortNames=dr +cue-gen:DestinationRule:printerColumn:name=Host,type=string,JSONPath=.spec.host,description="The name of a service from the service registry" +cue-gen:DestinationRule:printerColumn:name=Age,type=date,JSONPath=.metadata.creationTimestamp,description="CreationTimestamp is a timestamp representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations. Clients may not set this value. It is represented in RFC3339 form and is in UTC. Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata" -->

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

func (*DestinationRule) DeepCopy Uses

func (in *DestinationRule) DeepCopy() *DestinationRule

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationRule. Required by controller-gen.

func (*DestinationRule) DeepCopyInterface Uses

func (in *DestinationRule) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new DestinationRule. Required by controller-gen.

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 {
    // 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.

<!-- crd generation tags +cue-gen:EnvoyFilter:groupName:networking.istio.io +cue-gen:EnvoyFilter:version:v1alpha3 +cue-gen:EnvoyFilter:storageVersion +cue-gen:EnvoyFilter:annotations:helm.sh/resource-policy=keep +cue-gen:EnvoyFilter:labels:app=istio-pilot,chart=istio,heritage=Tiller,release=istio +cue-gen:EnvoyFilter:subresource:status +cue-gen:EnvoyFilter:scope:Namespaced +cue-gen:EnvoyFilter:resource:categories=istio-io,networking-istio-io +cue-gen:EnvoyFilter:preserveUnknownFields:configPatches.[].patch.value -->

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

func (*EnvoyFilter) DeepCopy Uses

func (in *EnvoyFilter) DeepCopy() *EnvoyFilter

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter. Required by controller-gen.

func (*EnvoyFilter) DeepCopyInterface Uses

func (in *EnvoyFilter) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter. Required by controller-gen.

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) 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) DeepCopy Uses

func (in *EnvoyFilter_ClusterMatch) DeepCopy() *EnvoyFilter_ClusterMatch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_ClusterMatch. Required by controller-gen.

func (*EnvoyFilter_ClusterMatch) DeepCopyInterface Uses

func (in *EnvoyFilter_ClusterMatch) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_ClusterMatch. Required by controller-gen.

func (*EnvoyFilter_ClusterMatch) DeepCopyInto Uses

func (in *EnvoyFilter_ClusterMatch) DeepCopyInto(out *EnvoyFilter_ClusterMatch)

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

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_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) DeepCopy Uses

func (in *EnvoyFilter_EnvoyConfigObjectMatch) DeepCopy() *EnvoyFilter_EnvoyConfigObjectMatch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_EnvoyConfigObjectMatch. Required by controller-gen.

func (*EnvoyFilter_EnvoyConfigObjectMatch) DeepCopyInterface Uses

func (in *EnvoyFilter_EnvoyConfigObjectMatch) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_EnvoyConfigObjectMatch. Required by controller-gen.

func (*EnvoyFilter_EnvoyConfigObjectMatch) DeepCopyInto Uses

func (in *EnvoyFilter_EnvoyConfigObjectMatch) DeepCopyInto(out *EnvoyFilter_EnvoyConfigObjectMatch)

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

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.filters.network.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) DeepCopy Uses

func (in *EnvoyFilter_EnvoyConfigObjectPatch) DeepCopy() *EnvoyFilter_EnvoyConfigObjectPatch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_EnvoyConfigObjectPatch. Required by controller-gen.

func (*EnvoyFilter_EnvoyConfigObjectPatch) DeepCopyInterface Uses

func (in *EnvoyFilter_EnvoyConfigObjectPatch) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_EnvoyConfigObjectPatch. Required by controller-gen.

func (*EnvoyFilter_EnvoyConfigObjectPatch) DeepCopyInto Uses

func (in *EnvoyFilter_EnvoyConfigObjectPatch) DeepCopyInto(out *EnvoyFilter_EnvoyConfigObjectPatch)

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

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_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) DeepCopy Uses

func (in *EnvoyFilter_ListenerMatch) DeepCopy() *EnvoyFilter_ListenerMatch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_ListenerMatch. Required by controller-gen.

func (*EnvoyFilter_ListenerMatch) DeepCopyInterface Uses

func (in *EnvoyFilter_ListenerMatch) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_ListenerMatch. Required by controller-gen.

func (*EnvoyFilter_ListenerMatch) DeepCopyInto Uses

func (in *EnvoyFilter_ListenerMatch) DeepCopyInto(out *EnvoyFilter_ListenerMatch)

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

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.filters.network.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) DeepCopy Uses

func (in *EnvoyFilter_ListenerMatch_FilterChainMatch) DeepCopy() *EnvoyFilter_ListenerMatch_FilterChainMatch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_ListenerMatch_FilterChainMatch. Required by controller-gen.

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) DeepCopyInterface Uses

func (in *EnvoyFilter_ListenerMatch_FilterChainMatch) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_ListenerMatch_FilterChainMatch. Required by controller-gen.

func (*EnvoyFilter_ListenerMatch_FilterChainMatch) DeepCopyInto Uses

func (in *EnvoyFilter_ListenerMatch_FilterChainMatch) DeepCopyInto(out *EnvoyFilter_ListenerMatch_FilterChainMatch)

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

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.
    // For standard Envoy filters, canonical filter names should be used.
    // Refer to https://www.envoyproxy.io/docs/envoy/latest/version_history/v1.14.0#deprecated for canonical names.
    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) DeepCopy Uses

func (in *EnvoyFilter_ListenerMatch_FilterMatch) DeepCopy() *EnvoyFilter_ListenerMatch_FilterMatch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_ListenerMatch_FilterMatch. Required by controller-gen.

func (*EnvoyFilter_ListenerMatch_FilterMatch) DeepCopyInterface Uses

func (in *EnvoyFilter_ListenerMatch_FilterMatch) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_ListenerMatch_FilterMatch. Required by controller-gen.

func (*EnvoyFilter_ListenerMatch_FilterMatch) DeepCopyInto Uses

func (in *EnvoyFilter_ListenerMatch_FilterMatch) DeepCopyInto(out *EnvoyFilter_ListenerMatch_FilterMatch)

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

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.filters.network.http_connection_manager network filter. This could also be applicable for thrift filters.

func (*EnvoyFilter_ListenerMatch_SubFilterMatch) DeepCopy Uses

func (in *EnvoyFilter_ListenerMatch_SubFilterMatch) DeepCopy() *EnvoyFilter_ListenerMatch_SubFilterMatch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_ListenerMatch_SubFilterMatch. Required by controller-gen.

func (*EnvoyFilter_ListenerMatch_SubFilterMatch) DeepCopyInterface Uses

func (in *EnvoyFilter_ListenerMatch_SubFilterMatch) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_ListenerMatch_SubFilterMatch. Required by controller-gen.

func (*EnvoyFilter_ListenerMatch_SubFilterMatch) DeepCopyInto Uses

func (in *EnvoyFilter_ListenerMatch_SubFilterMatch) DeepCopyInto(out *EnvoyFilter_ListenerMatch_SubFilterMatch)

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

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
    // proto merge semantics with the existing proto in the path.
    Value *types.Struct `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
    // Determines the filter insertion order.
    FilterClass          EnvoyFilter_Patch_FilterClass `protobuf:"varint,3,opt,name=filter_class,json=filterClass,proto3,enum=istio.networking.v1alpha3.EnvoyFilter_Patch_FilterClass" json:"filter_class,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) DeepCopy Uses

func (in *EnvoyFilter_Patch) DeepCopy() *EnvoyFilter_Patch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_Patch. Required by controller-gen.

func (*EnvoyFilter_Patch) DeepCopyInterface Uses

func (in *EnvoyFilter_Patch) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_Patch. Required by controller-gen.

func (*EnvoyFilter_Patch) DeepCopyInto Uses

func (in *EnvoyFilter_Patch) DeepCopyInto(out *EnvoyFilter_Patch)

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

func (*EnvoyFilter_Patch) Descriptor Uses

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

func (*EnvoyFilter_Patch) GetFilterClass Uses

func (m *EnvoyFilter_Patch) GetFilterClass() EnvoyFilter_Patch_FilterClass

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_FilterClass Uses

type EnvoyFilter_Patch_FilterClass int32

FilterClass determines the filter insertion point in the filter chain relative to the filters implicitly inserted by the control plane. It is used in conjuction with the ADD operation. This is the preferred insertion mechanism for adding filters over the INSERT_* operations since those operations rely on potentially unstable filter names. Filter ordering is important if your filter depends on or affects the functioning of a another filter in the filter chain. Within a filter class, filters are inserted in the order of processing.

const (
    // Control plane decides where to insert the filter.
    // Do not specify FilterClass if the filter is independent of others.
    EnvoyFilter_Patch_UNSPECIFIED EnvoyFilter_Patch_FilterClass = 0
    // Insert filter after Istio authentication filters.
    EnvoyFilter_Patch_AUTHN EnvoyFilter_Patch_FilterClass = 1
    // Insert filter after Istio authorization filters.
    EnvoyFilter_Patch_AUTHZ EnvoyFilter_Patch_FilterClass = 2
    // Insert filter before Istio stats filters.
    EnvoyFilter_Patch_STATS EnvoyFilter_Patch_FilterClass = 3
)

func (EnvoyFilter_Patch_FilterClass) EnumDescriptor Uses

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

func (EnvoyFilter_Patch_FilterClass) String Uses

func (x EnvoyFilter_Patch_FilterClass) 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
    // proto merge semantics. If you are specifying config in its
    // entirity, use REPLACE instead.
    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
    // 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
    // first in the list based on the presence of selected filter or not.
    // This is specifically useful when you want your filter first in the
    // list based on a match condition specified in Match clause.
    EnvoyFilter_Patch_INSERT_FIRST EnvoyFilter_Patch_Operation = 6
    // Replace contents of a named filter with new contents.
    // REPLACE operation is only valid for HTTP_FILTER and
    // NETWORK_FILTER. If the named filter is not found, this operation
    // has no effect.
    EnvoyFilter_Patch_REPLACE EnvoyFilter_Patch_Operation = 7
)

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) DeepCopy Uses

func (in *EnvoyFilter_ProxyMatch) DeepCopy() *EnvoyFilter_ProxyMatch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_ProxyMatch. Required by controller-gen.

func (*EnvoyFilter_ProxyMatch) DeepCopyInterface Uses

func (in *EnvoyFilter_ProxyMatch) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_ProxyMatch. Required by controller-gen.

func (*EnvoyFilter_ProxyMatch) DeepCopyInto Uses

func (in *EnvoyFilter_ProxyMatch) DeepCopyInto(out *EnvoyFilter_ProxyMatch)

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

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) DeepCopy Uses

func (in *EnvoyFilter_RouteConfigurationMatch) DeepCopy() *EnvoyFilter_RouteConfigurationMatch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_RouteConfigurationMatch. Required by controller-gen.

func (*EnvoyFilter_RouteConfigurationMatch) DeepCopyInterface Uses

func (in *EnvoyFilter_RouteConfigurationMatch) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_RouteConfigurationMatch. Required by controller-gen.

func (*EnvoyFilter_RouteConfigurationMatch) DeepCopyInto Uses

func (in *EnvoyFilter_RouteConfigurationMatch) DeepCopyInto(out *EnvoyFilter_RouteConfigurationMatch)

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

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) DeepCopy Uses

func (in *EnvoyFilter_RouteConfigurationMatch_RouteMatch) DeepCopy() *EnvoyFilter_RouteConfigurationMatch_RouteMatch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_RouteConfigurationMatch_RouteMatch. Required by controller-gen.

func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) DeepCopyInterface Uses

func (in *EnvoyFilter_RouteConfigurationMatch_RouteMatch) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_RouteConfigurationMatch_RouteMatch. Required by controller-gen.

func (*EnvoyFilter_RouteConfigurationMatch_RouteMatch) DeepCopyInto Uses

func (in *EnvoyFilter_RouteConfigurationMatch_RouteMatch) DeepCopyInto(out *EnvoyFilter_RouteConfigurationMatch_RouteMatch)

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

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) DeepCopy Uses

func (in *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) DeepCopy() *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch. Required by controller-gen.

func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) DeepCopyInterface Uses

func (in *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch. Required by controller-gen.

func (*EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) DeepCopyInto Uses

func (in *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch) DeepCopyInto(out *EnvoyFilter_RouteConfigurationMatch_VirtualHostMatch)

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

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 ExecHealthCheckConfig Uses

type ExecHealthCheckConfig struct {
    // command to run. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
    Command              []string `protobuf:"bytes,1,rep,name=command,proto3" json:"command,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

func (*ExecHealthCheckConfig) DeepCopy Uses

func (in *ExecHealthCheckConfig) DeepCopy() *ExecHealthCheckConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExecHealthCheckConfig. Required by controller-gen.

func (*ExecHealthCheckConfig) DeepCopyInterface Uses

func (in *ExecHealthCheckConfig) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new ExecHealthCheckConfig. Required by controller-gen.

func (*ExecHealthCheckConfig) DeepCopyInto Uses

func (in *ExecHealthCheckConfig) DeepCopyInto(out *ExecHealthCheckConfig)

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

func (*ExecHealthCheckConfig) Descriptor Uses

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

func (*ExecHealthCheckConfig) GetCommand Uses

func (m *ExecHealthCheckConfig) GetCommand() []string

func (*ExecHealthCheckConfig) Marshal Uses

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

func (*ExecHealthCheckConfig) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for ExecHealthCheckConfig

func (*ExecHealthCheckConfig) MarshalTo Uses

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

func (*ExecHealthCheckConfig) MarshalToSizedBuffer Uses

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

func (*ExecHealthCheckConfig) ProtoMessage Uses

func (*ExecHealthCheckConfig) ProtoMessage()

func (*ExecHealthCheckConfig) Reset Uses

func (m *ExecHealthCheckConfig) Reset()

func (*ExecHealthCheckConfig) Size Uses

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

func (*ExecHealthCheckConfig) String Uses

func (m *ExecHealthCheckConfig) String() string

func (*ExecHealthCheckConfig) Unmarshal Uses

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

func (*ExecHealthCheckConfig) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for ExecHealthCheckConfig

func (*ExecHealthCheckConfig) XXX_DiscardUnknown Uses

func (m *ExecHealthCheckConfig) XXX_DiscardUnknown()

func (*ExecHealthCheckConfig) XXX_Marshal Uses

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

func (*ExecHealthCheckConfig) XXX_Merge Uses

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

func (*ExecHealthCheckConfig) XXX_Size Uses

func (m *ExecHealthCheckConfig) XXX_Size() int

func (*ExecHealthCheckConfig) XXX_Unmarshal Uses

func (m *ExecHealthCheckConfig) 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.
    // By default workloads are searched across all namespaces based on label selectors.
    // This implies that a gateway resource in the namespace "foo" can select pods in
    // the namespace "bar" based on labels.
    // This behavior can be controlled via the `PILOT_SCOPE_GATEWAY_TO_NAMESPACE`
    // environment variable in istiod. If this variable is set
    // to true, 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.
    // If selector is nil, the Gateway will be applied to all workloads.
    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.

<!-- crd generation tags +cue-gen:Gateway:groupName:networking.istio.io +cue-gen:Gateway:version:v1alpha3 +cue-gen:Gateway:storageVersion +cue-gen:Gateway:annotations:helm.sh/resource-policy=keep +cue-gen:Gateway:labels:app=istio-pilot,chart=istio,heritage=Tiller,release=istio +cue-gen:Gateway:subresource:status +cue-gen:Gateway:scope:Namespaced +cue-gen:Gateway:resource:categories=istio-io,networking-istio-io,shortNames=gw -->

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

func (*Gateway) DeepCopy Uses

func (in *Gateway) DeepCopy() *Gateway

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Gateway. Required by controller-gen.

func (*Gateway) DeepCopyInterface Uses

func (in *Gateway) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new Gateway. Required by controller-gen.

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) DeepCopy Uses

func (in *HTTPFaultInjection) DeepCopy() *HTTPFaultInjection

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPFaultInjection. Required by controller-gen.

func (*HTTPFaultInjection) DeepCopyInterface Uses

func (in *HTTPFaultInjection) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new HTTPFaultInjection. Required by controller-gen.

func (*HTTPFaultInjection) DeepCopyInto Uses

func (in *HTTPFaultInjection) DeepCopyInto(out *HTTPFaultInjection)

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

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 {
    // 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".

{{<tabset category-name="example">}} {{<tab name="v1alpha3" category-value="v1alpha3">}} “`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

“` {{</tab>}}

{{<tab name="v1beta1" category-value="v1beta1">}} “`yaml apiVersion: networking.istio.io/v1beta1 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

“` {{</tab>}} {{</tabset>}}

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) DeepCopy Uses

func (in *HTTPFaultInjection_Abort) DeepCopy() *HTTPFaultInjection_Abort

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPFaultInjection_Abort. Required by controller-gen.

func (*HTTPFaultInjection_Abort) DeepCopyInterface Uses

func (in *HTTPFaultInjection_Abort) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new HTTPFaultInjection_Abort. Required by controller-gen.

func (*HTTPFaultInjection_Abort) DeepCopyInto Uses

func (in *HTTPFaultInjection_Abort) DeepCopyInto(out *HTTPFaultInjection_Abort)

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

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) 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

{{<tabset category-name="example">}} {{<tab name="v1alpha3" category-value="v1alpha3">}} “`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

“` {{</tab>}}

{{<tab name="v1beta1" category-value="v1beta1">}} “`yaml apiVersion: networking.istio.io/v1beta1 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

“` {{</tab>}} {{</tabset>}}

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) DeepCopy Uses

func (in *HTTPFaultInjection_Delay) DeepCopy() *HTTPFaultInjection_Delay

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPFaultInjection_Delay. Required by controller-gen.

func (*HTTPFaultInjection_Delay) DeepCopyInterface Uses

func (in *HTTPFaultInjection_Delay) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new HTTPFaultInjection_Delay. Required by controller-gen.

func (*HTTPFaultInjection_Delay) DeepCopyInto Uses

func (in *HTTPFaultInjection_Delay) DeepCopyInto(out *HTTPFaultInjection_Delay)

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

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 HTTPHeader Uses

type HTTPHeader struct {
    // The header field name
    Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
    // The header field value
    Value                string   `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
    XXX_NoUnkeyedLiteral struct{} `json:"-"`
    XXX_unrecognized     []byte   `json:"-"`
    XXX_sizecache        int32    `json:"-"`
}

func (*HTTPHeader) DeepCopy Uses

func (in *HTTPHeader) DeepCopy() *HTTPHeader

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHeader. Required by controller-gen.

func (*HTTPHeader) DeepCopyInterface Uses

func (in *HTTPHeader) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHeader. Required by controller-gen.

func (*HTTPHeader) DeepCopyInto Uses

func (in *HTTPHeader) DeepCopyInto(out *HTTPHeader)

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

func (*HTTPHeader) Descriptor Uses

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

func (*HTTPHeader) GetName Uses

func (m *HTTPHeader) GetName() string

func (*HTTPHeader) GetValue Uses

func (m *HTTPHeader) GetValue() string

func (*HTTPHeader) Marshal Uses

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

func (*HTTPHeader) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for HTTPHeader

func (*HTTPHeader) MarshalTo Uses

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

func (*HTTPHeader) MarshalToSizedBuffer Uses

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

func (*HTTPHeader) ProtoMessage Uses

func (*HTTPHeader) ProtoMessage()

func (*HTTPHeader) Reset Uses

func (m *HTTPHeader) Reset()

func (*HTTPHeader) Size Uses

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

func (*HTTPHeader) String Uses

func (m *HTTPHeader) String() string

func (*HTTPHeader) Unmarshal Uses

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

func (*HTTPHeader) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for HTTPHeader

func (*HTTPHeader) XXX_DiscardUnknown Uses

func (m *HTTPHeader) XXX_DiscardUnknown()

func (*HTTPHeader) XXX_Marshal Uses

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

func (*HTTPHeader) XXX_Merge Uses

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

func (*HTTPHeader) XXX_Size Uses

func (m *HTTPHeader) XXX_Size() int

func (*HTTPHeader) XXX_Unmarshal Uses

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

type HTTPHealthCheckConfig Uses

type HTTPHealthCheckConfig struct {
    // Path to access on the HTTP server.
    Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
    // port on which the endpoint lives.
    Port uint32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
    // Host name to connect to, defaults to the pod IP. You probably want to set
    // "Host" in httpHeaders instead.
    Host string `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"`
    // http or https, defaults to http
    Scheme string `protobuf:"bytes,4,opt,name=scheme,proto3" json:"scheme,omitempty"`
    // headers the proxy will pass on to make the request.
    // allows repeated headers.
    HttpHeaders          []*HTTPHeader `protobuf:"bytes,5,rep,name=http_headers,json=httpHeaders,proto3" json:"http_headers,omitempty"`
    XXX_NoUnkeyedLiteral struct{}      `json:"-"`
    XXX_unrecognized     []byte        `json:"-"`
    XXX_sizecache        int32         `json:"-"`
}

func (*HTTPHealthCheckConfig) DeepCopy Uses

func (in *HTTPHealthCheckConfig) DeepCopy() *HTTPHealthCheckConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHealthCheckConfig. Required by controller-gen.

func (*HTTPHealthCheckConfig) DeepCopyInterface Uses

func (in *HTTPHealthCheckConfig) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new HTTPHealthCheckConfig. Required by controller-gen.

func (*HTTPHealthCheckConfig) DeepCopyInto Uses

func (in *HTTPHealthCheckConfig) DeepCopyInto(out *HTTPHealthCheckConfig)

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

func (*HTTPHealthCheckConfig) Descriptor Uses

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

func (*HTTPHealthCheckConfig) GetHost Uses

func (m *HTTPHealthCheckConfig) GetHost() string

func (*HTTPHealthCheckConfig) GetHttpHeaders Uses

func (m *HTTPHealthCheckConfig) GetHttpHeaders() []*HTTPHeader

func (*HTTPHealthCheckConfig) GetPath Uses

func (m *HTTPHealthCheckConfig) GetPath() string

func (*HTTPHealthCheckConfig) GetPort Uses

func (m *HTTPHealthCheckConfig) GetPort() uint32

func (*HTTPHealthCheckConfig) GetScheme Uses

func (m *HTTPHealthCheckConfig) GetScheme() string

func (*HTTPHealthCheckConfig) Marshal Uses

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

func (*HTTPHealthCheckConfig) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for HTTPHealthCheckConfig

func (*HTTPHealthCheckConfig) MarshalTo Uses

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

func (*HTTPHealthCheckConfig) MarshalToSizedBuffer Uses

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

func (*HTTPHealthCheckConfig) ProtoMessage Uses

func (*HTTPHealthCheckConfig) ProtoMessage()

func (*HTTPHealthCheckConfig) Reset Uses

func (m *HTTPHealthCheckConfig) Reset()

func (*HTTPHealthCheckConfig) Size Uses

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

func (*HTTPHealthCheckConfig) String Uses

func (m *HTTPHealthCheckConfig) String() string

func (*HTTPHealthCheckConfig) Unmarshal Uses

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

func (*HTTPHealthCheckConfig) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for HTTPHealthCheckConfig

func (*HTTPHealthCheckConfig) XXX_DiscardUnknown Uses

func (m *HTTPHealthCheckConfig) XXX_DiscardUnknown()

func (*HTTPHealthCheckConfig) XXX_Marshal Uses

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

func (*HTTPHealthCheckConfig) XXX_Merge Uses

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

func (*HTTPHealthCheckConfig) XXX_Size Uses

func (m *HTTPHealthCheckConfig) XXX_Size() int

func (*HTTPHealthCheckConfig) XXX_Unmarshal Uses

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

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
    //
    // If the value is empty and only the name of header is specfied, presence of the header is checked.
    // **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 in the top-level `gateways` field, 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"`
    // Names of gateways where the rule should be applied. Gateway names
    // in the top-level `gateways` field of the VirtualService (if any) are overridden. The gateway
    // match is independent of sourceLabels.
    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"`
    // withoutHeader has the same syntax with the header, but has opposite meaning.
    // If a header is matched with a matching rule among withoutHeader, the traffic becomes not matched one.
    WithoutHeaders map[string]*StringMatch `protobuf:"bytes,12,rep,name=without_headers,json=withoutHeaders,proto3" json:"without_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
    // Source namespace constraining the applicability of a rule to workloads in that namespace.
    // If the VirtualService has a list of gateways specified in the top-level `gateways` field,
    // it must include the reserved gateway `mesh` for this field to be applicable.
    SourceNamespace      string   `protobuf:"bytes,13,opt,name=source_namespace,json=sourceNamespace,proto3" json:"source_namespace,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`.

{{<tabset category-name="example">}} {{<tab name="v1alpha3" category-value="v1alpha3">}} “`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

“` {{</tab>}}

{{<tab name="v1beta1" category-value="v1beta1">}} “`yaml apiVersion: networking.istio.io/v1beta1 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

“` {{</tab>}} {{</tabset>}}

HTTPMatchRequest CANNOT be empty. **Note:** No regex string match can be set when delegate VirtualService is specified.

func (*HTTPMatchRequest) DeepCopy Uses

func (in *HTTPMatchRequest) DeepCopy() *HTTPMatchRequest

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPMatchRequest. Required by controller-gen.

func (*HTTPMatchRequest) DeepCopyInterface Uses

func (in *HTTPMatchRequest) DeepCopyInterface() interface{}

DeepCopyInterface is an autogenerated deepcopy function, copying the receiver, creating a new HTTPMatchRequest. Required by controller-gen.

func (*HTTPMatchRequest) DeepCopyInto Uses

func (in *HTTPMatchRequest) DeepCopyInto(out *HTTPMatchRequest)

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

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