v1beta1

package
v0.0.0-...-9d98e3d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 11, 2020 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrInvalidLengthCfg = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowCfg   = fmt.Errorf("proto: integer overflow")
)
View Source
var (
	ErrInvalidLengthHttpResponse = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowHttpResponse   = fmt.Errorf("proto: integer overflow")
)
View Source
var (
	HttpResponseMarshaler   = &github_com_gogo_protobuf_jsonpb.Marshaler{}
	HttpResponseUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{}
)
View Source
var (
	ErrInvalidLengthType = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowType   = fmt.Errorf("proto: integer overflow")
)
View Source
var FractionalPercent_DenominatorType_name = map[int32]string{
	0: "HUNDRED",
	1: "TEN_THOUSAND",
}
View Source
var FractionalPercent_DenominatorType_value = map[string]int32{
	"HUNDRED":      0,
	"TEN_THOUSAND": 1,
}
View Source
var HttpStatusCode_name = map[int32]string{
	0:   "Empty",
	100: "Continue",
	200: "OK",
	201: "Created",
	202: "Accepted",
	203: "NonAuthoritativeInformation",
	204: "NoContent",
	205: "ResetContent",
	206: "PartialContent",
	207: "MultiStatus",
	208: "AlreadyReported",
	226: "IMUsed",
	300: "MultipleChoices",
	301: "MovedPermanently",
	302: "Found",
	303: "SeeOther",
	304: "NotModified",
	305: "UseProxy",
	307: "TemporaryRedirect",
	308: "PermanentRedirect",
	400: "BadRequest",
	401: "Unauthorized",
	402: "PaymentRequired",
	403: "Forbidden",
	404: "NotFound",
	405: "MethodNotAllowed",
	406: "NotAcceptable",
	407: "ProxyAuthenticationRequired",
	408: "RequestTimeout",
	409: "Conflict",
	410: "Gone",
	411: "LengthRequired",
	412: "PreconditionFailed",
	413: "PayloadTooLarge",
	414: "URITooLong",
	415: "UnsupportedMediaType",
	416: "RangeNotSatisfiable",
	417: "ExpectationFailed",
	421: "MisdirectedRequest",
	422: "UnprocessableEntity",
	423: "Locked",
	424: "FailedDependency",
	426: "UpgradeRequired",
	428: "PreconditionRequired",
	429: "TooManyRequests",
	431: "RequestHeaderFieldsTooLarge",
	500: "InternalServerError",
	501: "NotImplemented",
	502: "BadGateway",
	503: "ServiceUnavailable",
	504: "GatewayTimeout",
	505: "HTTPVersionNotSupported",
	506: "VariantAlsoNegotiates",
	507: "InsufficientStorage",
	508: "LoopDetected",
	510: "NotExtended",
	511: "NetworkAuthenticationRequired",
}
View Source
var HttpStatusCode_value = map[string]int32{
	"Empty":                         0,
	"Continue":                      100,
	"OK":                            200,
	"Created":                       201,
	"Accepted":                      202,
	"NonAuthoritativeInformation":   203,
	"NoContent":                     204,
	"ResetContent":                  205,
	"PartialContent":                206,
	"MultiStatus":                   207,
	"AlreadyReported":               208,
	"IMUsed":                        226,
	"MultipleChoices":               300,
	"MovedPermanently":              301,
	"Found":                         302,
	"SeeOther":                      303,
	"NotModified":                   304,
	"UseProxy":                      305,
	"TemporaryRedirect":             307,
	"PermanentRedirect":             308,
	"BadRequest":                    400,
	"Unauthorized":                  401,
	"PaymentRequired":               402,
	"Forbidden":                     403,
	"NotFound":                      404,
	"MethodNotAllowed":              405,
	"NotAcceptable":                 406,
	"ProxyAuthenticationRequired":   407,
	"RequestTimeout":                408,
	"Conflict":                      409,
	"Gone":                          410,
	"LengthRequired":                411,
	"PreconditionFailed":            412,
	"PayloadTooLarge":               413,
	"URITooLong":                    414,
	"UnsupportedMediaType":          415,
	"RangeNotSatisfiable":           416,
	"ExpectationFailed":             417,
	"MisdirectedRequest":            421,
	"UnprocessableEntity":           422,
	"Locked":                        423,
	"FailedDependency":              424,
	"UpgradeRequired":               426,
	"PreconditionRequired":          428,
	"TooManyRequests":               429,
	"RequestHeaderFieldsTooLarge":   431,
	"InternalServerError":           500,
	"NotImplemented":                501,
	"BadGateway":                    502,
	"ServiceUnavailable":            503,
	"GatewayTimeout":                504,
	"HTTPVersionNotSupported":       505,
	"VariantAlsoNegotiates":         506,
	"InsufficientStorage":           507,
	"LoopDetected":                  508,
	"NotExtended":                   510,
	"NetworkAuthenticationRequired": 511,
}
View Source
var Rule_HeaderOperationTemplate_Operation_name = map[int32]string{
	0: "REPLACE",
	1: "REMOVE",
	2: "APPEND",
}
View Source
var Rule_HeaderOperationTemplate_Operation_value = map[string]int32{
	"REPLACE": 0,
	"REMOVE":  1,
	"APPEND":  2,
}
View Source
var Tls_AuthHeader_name = map[int32]string{
	0: "PLAIN",
	1: "BEARER",
}
View Source
var Tls_AuthHeader_value = map[string]int32{
	"PLAIN":  0,
	"BEARER": 1,
}
View Source
var ValueType_name = map[int32]string{
	0:  "VALUE_TYPE_UNSPECIFIED",
	1:  "STRING",
	2:  "INT64",
	3:  "DOUBLE",
	4:  "BOOL",
	5:  "TIMESTAMP",
	6:  "IP_ADDRESS",
	7:  "EMAIL_ADDRESS",
	8:  "URI",
	9:  "DNS_NAME",
	10: "DURATION",
	11: "STRING_MAP",
}
View Source
var ValueType_value = map[string]int32{
	"VALUE_TYPE_UNSPECIFIED": 0,
	"STRING":                 1,
	"INT64":                  2,
	"DOUBLE":                 3,
	"BOOL":                   4,
	"TIMESTAMP":              5,
	"IP_ADDRESS":             6,
	"EMAIL_ADDRESS":          7,
	"URI":                    8,
	"DNS_NAME":               9,
	"DURATION":               10,
	"STRING_MAP":             11,
}

Functions

This section is empty.

Types

type Action

type Action struct {
	// Fully qualified name of the handler to invoke.
	// Must match the `name` of a [Handler][istio.policy.v1beta1.Handler.name].
	Handler string `protobuf:"bytes,2,opt,name=handler,proto3" json:"handler,omitempty"`
	// Each value must match the fully qualified name of the
	// [Instance][istio.policy.v1beta1.Instance.name]s.
	// Referenced instances are evaluated by resolving the attributes/literals for all the fields.
	// The constructed objects are then passed to the `handler` referenced within this action.
	Instances []string `protobuf:"bytes,3,rep,name=instances,proto3" json:"instances,omitempty"`
	// A handle to refer to the results of the action.
	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
}

Action describes which Handler[istio.policy.v1beta1.Handler] to invoke and what data to pass to it for processing.

The following example instructs Mixer to invoke 'prometheus-handler' handler and pass it the object constructed using the instance 'RequestCountByService'.

```yaml

handler: prometheus-handler
instances:
- RequestCountByService

```

func (*Action) DeepCopy

func (in *Action) DeepCopy() *Action

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

func (*Action) DeepCopyInto

func (in *Action) DeepCopyInto(out *Action)

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

func (*Action) Descriptor

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

func (*Action) Equal

func (this *Action) Equal(that interface{}) bool

func (*Action) GetHandler

func (m *Action) GetHandler() string

func (*Action) GetInstances

func (m *Action) GetInstances() []string

func (*Action) GetName

func (m *Action) GetName() string

func (*Action) GoString

func (this *Action) GoString() string

func (*Action) Marshal

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

func (*Action) MarshalJSON

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

MarshalJSON is a custom marshaler for Action

func (*Action) MarshalTo

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

func (*Action) MarshalToSizedBuffer

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

func (*Action) ProtoMessage

func (*Action) ProtoMessage()

func (*Action) Reset

func (m *Action) Reset()

func (*Action) Size

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

func (*Action) String

func (this *Action) String() string

func (*Action) Unmarshal

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

func (*Action) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for Action

func (*Action) XXX_DiscardUnknown

func (m *Action) XXX_DiscardUnknown()

func (*Action) XXX_Marshal

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

func (*Action) XXX_Merge

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

func (*Action) XXX_Size

func (m *Action) XXX_Size() int

func (*Action) XXX_Unmarshal

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

type AttributeManifest

type AttributeManifest struct {
	// The revision of this document. Assigned by server.
	Revision string `protobuf:"bytes,1,opt,name=revision,proto3" json:"revision,omitempty"`
	// Name of the component producing these attributes. This can be
	// the proxy (with the canonical name `istio-proxy`) or the name of an
	// `attributes` kind adapter in Mixer.
	Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
	// The set of attributes this Istio component will be responsible for producing at runtime.
	// We map from attribute name to the attribute's specification. The name of an attribute,
	// which is how attributes are referred to in aspect configuration, must conform to:
	//
	//     Name = IDENT { SEPARATOR IDENT };
	//
	// Where `IDENT` must match the regular expression `[a-z][a-z0-9]+` and `SEPARATOR` must
	// match the regular expression `[\.-]`.
	//
	// Attribute names must be unique within a single Istio deployment. The set of canonical
	// attributes are described at [here](https://istio.io/docs/reference/config/policy-and-telemetry/attribute-vocabulary/).
	// Attributes not in that list should be named with a component-specific suffix such as
	// `request.count-my.component`.
	Attributes map[string]*AttributeManifest_AttributeInfo `` /* 161-byte string literal not displayed */
}

AttributeManifest describes a set of Attributes produced by some component of an Istio deployment.

<!-- crd generation tags +cue-gen:attributemanifest:schema:istio.policy.v1beta1.AttributeManifest +cue-gen:attributemanifest:groupName:config.istio.io +cue-gen:attributemanifest:version:v1alpha2 +cue-gen:attributemanifest:storageVersion +cue-gen:attributemanifest:annotations:helm.sh/resource-policy=keep +cue-gen:attributemanifest:labels:app=mixer,chart=istio,heritage=Tiller,istio=core,package=istio.io.mixer,release=istio +cue-gen:attributemanifest:subresource:status +cue-gen:attributemanifest:scope:Namespaced +cue-gen:attributemanifest:resource:categories=istio-io,policy-istio-io +cue-gen:attributemanifest:preserveUnknownFields:false -->

<!-- go code generation tags +kubetype-gen +kubetype-gen:groupVersion=config.istio.io/v1alpha2 +kubetype-gen:kubeType=AttributeManifest +kubetype-gen:AttributeManifest:tag=kubetype-gen:lowerCaseScheme +genclient +k8s:deepcopy-gen=true -->

func (*AttributeManifest) DeepCopy

func (in *AttributeManifest) DeepCopy() *AttributeManifest

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

func (*AttributeManifest) DeepCopyInto

func (in *AttributeManifest) DeepCopyInto(out *AttributeManifest)

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

func (*AttributeManifest) Descriptor

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

func (*AttributeManifest) Equal

func (this *AttributeManifest) Equal(that interface{}) bool

func (*AttributeManifest) GetAttributes

func (*AttributeManifest) GetName

func (m *AttributeManifest) GetName() string

func (*AttributeManifest) GetRevision

func (m *AttributeManifest) GetRevision() string

func (*AttributeManifest) GoString

func (this *AttributeManifest) GoString() string

func (*AttributeManifest) Marshal

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

func (*AttributeManifest) MarshalJSON

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

MarshalJSON is a custom marshaler for AttributeManifest

func (*AttributeManifest) MarshalTo

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

func (*AttributeManifest) MarshalToSizedBuffer

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

func (*AttributeManifest) ProtoMessage

func (*AttributeManifest) ProtoMessage()

func (*AttributeManifest) Reset

func (m *AttributeManifest) Reset()

func (*AttributeManifest) Size

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

func (*AttributeManifest) String

func (this *AttributeManifest) String() string

func (*AttributeManifest) Unmarshal

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

func (*AttributeManifest) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for AttributeManifest

func (*AttributeManifest) XXX_DiscardUnknown

func (m *AttributeManifest) XXX_DiscardUnknown()

func (*AttributeManifest) XXX_Marshal

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

func (*AttributeManifest) XXX_Merge

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

func (*AttributeManifest) XXX_Size

func (m *AttributeManifest) XXX_Size() int

func (*AttributeManifest) XXX_Unmarshal

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

type AttributeManifest_AttributeInfo

type AttributeManifest_AttributeInfo struct {
	// A human-readable description of the attribute's purpose.
	Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
	// The type of data carried by this attribute.
	ValueType ValueType `protobuf:"varint,2,opt,name=value_type,json=valueType,proto3,enum=istio.policy.v1beta1.ValueType" json:"value_type,omitempty"`
}

AttributeInfo describes the schema of an Istio `Attribute`.

Istio Attributes

Istio uses `attributes` to describe runtime activities of Istio services. An Istio attribute carries a specific piece of information about an activity, such as the error code of an API request, the latency of an API request, or the original IP address of a TCP connection. The attributes are often generated and consumed by different services. For example, a frontend service can generate an authenticated user attribute and pass it to a backend service for access control purpose.

To simplify the system and improve developer experience, Istio uses shared attribute definitions across all components. For example, the same authenticated user attribute will be used for logging, monitoring, analytics, billing, access control, auditing. Many Istio components provide their functionality by collecting, generating, and operating on attributes. For example, the proxy collects the error code attribute, and the logging stores it into a log.

Design

Each Istio attribute must conform to an `AttributeInfo` in an `AttributeManifest` in the current Istio deployment at runtime. An [`AttributeInfo`][istio.policy.v1beta1] is used to define an attribute's metadata: the type of its value and a detailed description that explains the semantics of the attribute type. Each attribute's name is globally unique; in other words an attribute name can only appear once across all manifests.

The runtime presentation of an attribute is intentionally left out of this specification, because passing attribute using JSON, XML, or Protocol Buffers does not change the semantics of the attribute. Different implementations can choose different representations based on their needs.

HTTP Mapping

Because many systems already have REST APIs, it makes sense to define a standard HTTP mapping for Istio attributes that are compatible with typical REST APIs. The design is to map one attribute to one HTTP header, the attribute name and value becomes the HTTP header name and value. The actual encoding scheme will be decided later.

func (*AttributeManifest_AttributeInfo) DeepCopy

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

func (*AttributeManifest_AttributeInfo) DeepCopyInto

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

func (*AttributeManifest_AttributeInfo) Descriptor

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

func (*AttributeManifest_AttributeInfo) Equal

func (this *AttributeManifest_AttributeInfo) Equal(that interface{}) bool

func (*AttributeManifest_AttributeInfo) GetDescription

func (m *AttributeManifest_AttributeInfo) GetDescription() string

func (*AttributeManifest_AttributeInfo) GetValueType

func (m *AttributeManifest_AttributeInfo) GetValueType() ValueType

func (*AttributeManifest_AttributeInfo) GoString

func (this *AttributeManifest_AttributeInfo) GoString() string

func (*AttributeManifest_AttributeInfo) Marshal

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

func (*AttributeManifest_AttributeInfo) MarshalJSON

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

MarshalJSON is a custom marshaler for AttributeManifest_AttributeInfo

func (*AttributeManifest_AttributeInfo) MarshalTo

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

func (*AttributeManifest_AttributeInfo) MarshalToSizedBuffer

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

func (*AttributeManifest_AttributeInfo) ProtoMessage

func (*AttributeManifest_AttributeInfo) ProtoMessage()

func (*AttributeManifest_AttributeInfo) Reset

func (*AttributeManifest_AttributeInfo) Size

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

func (*AttributeManifest_AttributeInfo) String

func (this *AttributeManifest_AttributeInfo) String() string

func (*AttributeManifest_AttributeInfo) Unmarshal

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

func (*AttributeManifest_AttributeInfo) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for AttributeManifest_AttributeInfo

func (*AttributeManifest_AttributeInfo) XXX_DiscardUnknown

func (m *AttributeManifest_AttributeInfo) XXX_DiscardUnknown()

func (*AttributeManifest_AttributeInfo) XXX_Marshal

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

func (*AttributeManifest_AttributeInfo) XXX_Merge

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

func (*AttributeManifest_AttributeInfo) XXX_Size

func (m *AttributeManifest_AttributeInfo) XXX_Size() int

func (*AttributeManifest_AttributeInfo) XXX_Unmarshal

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

type Authentication

type Authentication struct {
	// Types that are valid to be assigned to AuthType:
	//	*Authentication_Tls
	//	*Authentication_Mutual
	AuthType isAuthentication_AuthType `protobuf_oneof:"auth_type"`
}

Authentication allows the operator to specify the authentication of connections to out-of-process infrastructure backend.

func (*Authentication) DeepCopy

func (in *Authentication) DeepCopy() *Authentication

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

func (*Authentication) DeepCopyInto

func (in *Authentication) DeepCopyInto(out *Authentication)

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

func (*Authentication) Descriptor

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

func (*Authentication) Equal

func (this *Authentication) Equal(that interface{}) bool

func (*Authentication) GetAuthType

func (m *Authentication) GetAuthType() isAuthentication_AuthType

func (*Authentication) GetMutual

func (m *Authentication) GetMutual() *Mutual

func (*Authentication) GetTls

func (m *Authentication) GetTls() *Tls

func (*Authentication) GoString

func (this *Authentication) GoString() string

func (*Authentication) Marshal

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

func (*Authentication) MarshalJSON

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

MarshalJSON is a custom marshaler for Authentication

func (*Authentication) MarshalTo

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

func (*Authentication) MarshalToSizedBuffer

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

func (*Authentication) ProtoMessage

func (*Authentication) ProtoMessage()

func (*Authentication) Reset

func (m *Authentication) Reset()

func (*Authentication) Size

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

func (*Authentication) String

func (this *Authentication) String() string

func (*Authentication) Unmarshal

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

func (*Authentication) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for Authentication

func (*Authentication) XXX_DiscardUnknown

func (m *Authentication) XXX_DiscardUnknown()

func (*Authentication) XXX_Marshal

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

func (*Authentication) XXX_Merge

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

func (*Authentication) XXX_OneofWrappers

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

XXX_OneofWrappers is for the internal use of the proto package.

func (*Authentication) XXX_Size

func (m *Authentication) XXX_Size() int

func (*Authentication) XXX_Unmarshal

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

type Authentication_Mutual

type Authentication_Mutual struct {
	Mutual *Mutual `protobuf:"bytes,2,opt,name=mutual,proto3,oneof"`
}

func (*Authentication_Mutual) Equal

func (this *Authentication_Mutual) Equal(that interface{}) bool

func (*Authentication_Mutual) GoString

func (this *Authentication_Mutual) GoString() string

func (*Authentication_Mutual) MarshalTo

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

func (*Authentication_Mutual) MarshalToSizedBuffer

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

func (*Authentication_Mutual) Size

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

func (*Authentication_Mutual) String

func (this *Authentication_Mutual) String() string

type Authentication_Tls

type Authentication_Tls struct {
	Tls *Tls `protobuf:"bytes,1,opt,name=tls,proto3,oneof"`
}

func (*Authentication_Tls) Equal

func (this *Authentication_Tls) Equal(that interface{}) bool

func (*Authentication_Tls) GoString

func (this *Authentication_Tls) GoString() string

func (*Authentication_Tls) MarshalTo

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

func (*Authentication_Tls) MarshalToSizedBuffer

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

func (*Authentication_Tls) Size

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

func (*Authentication_Tls) String

func (this *Authentication_Tls) String() string

type Connection

type Connection struct {
	// The address of the backend.
	Address string `protobuf:"bytes,2,opt,name=address,proto3" json:"address,omitempty"`
	// Timeout for remote calls to the backend.
	Timeout *time.Duration `protobuf:"bytes,3,opt,name=timeout,proto3,stdduration" json:"timeout,omitempty"`
	// Auth config for the connection to the backend. If omitted, plain text will
	// be used.
	Authentication *Authentication `protobuf:"bytes,4,opt,name=authentication,proto3" json:"authentication,omitempty"`
}

Connection allows the operator to specify the endpoint for out-of-process infrastructure backend. Connection is part of the handler custom resource and is specified alongside adapter specific configuration.

func (*Connection) DeepCopy

func (in *Connection) DeepCopy() *Connection

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

func (*Connection) DeepCopyInto

func (in *Connection) DeepCopyInto(out *Connection)

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

func (*Connection) Descriptor

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

func (*Connection) Equal

func (this *Connection) Equal(that interface{}) bool

func (*Connection) GetAddress

func (m *Connection) GetAddress() string

func (*Connection) GetAuthentication

func (m *Connection) GetAuthentication() *Authentication

func (*Connection) GetTimeout

func (m *Connection) GetTimeout() *time.Duration

func (*Connection) GoString

func (this *Connection) GoString() string

func (*Connection) Marshal

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

func (*Connection) MarshalJSON

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

MarshalJSON is a custom marshaler for Connection

func (*Connection) MarshalTo

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

func (*Connection) MarshalToSizedBuffer

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

func (*Connection) ProtoMessage

func (*Connection) ProtoMessage()

func (*Connection) Reset

func (m *Connection) Reset()

func (*Connection) Size

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

func (*Connection) String

func (this *Connection) String() string

func (*Connection) Unmarshal

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

func (*Connection) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for Connection

func (*Connection) XXX_DiscardUnknown

func (m *Connection) XXX_DiscardUnknown()

func (*Connection) XXX_Marshal

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

func (*Connection) XXX_Merge

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

func (*Connection) XXX_Size

func (m *Connection) XXX_Size() int

func (*Connection) XXX_Unmarshal

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

type DNSName

type DNSName struct {
	// DNSName encoded as string.
	Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
}

An instance field of type DNSName denotes that the expression for the field must evaluate to [ValueType.DNS_NAME][istio.policy.v1beta1.ValueType.DNS_NAME]

Objects of type DNSName are also passed to the adapters during request-time for the instance fields of type DNSName

func (*DNSName) DeepCopy

func (in *DNSName) DeepCopy() *DNSName

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

func (*DNSName) DeepCopyInto

func (in *DNSName) DeepCopyInto(out *DNSName)

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

func (*DNSName) Descriptor

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

func (*DNSName) Equal

func (this *DNSName) Equal(that interface{}) bool

func (*DNSName) GetValue

func (m *DNSName) GetValue() string

func (*DNSName) GoString

func (this *DNSName) GoString() string

func (*DNSName) Marshal

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

func (*DNSName) MarshalJSON

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

MarshalJSON is a custom marshaler for DNSName

func (*DNSName) MarshalTo

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

func (*DNSName) MarshalToSizedBuffer

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

func (*DNSName) ProtoMessage

func (*DNSName) ProtoMessage()

func (*DNSName) Reset

func (m *DNSName) Reset()

func (*DNSName) Size

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

func (*DNSName) String

func (this *DNSName) String() string

func (*DNSName) Unmarshal

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

func (*DNSName) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for DNSName

func (*DNSName) XXX_DiscardUnknown

func (m *DNSName) XXX_DiscardUnknown()

func (*DNSName) XXX_Marshal

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

func (*DNSName) XXX_Merge

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

func (*DNSName) XXX_Size

func (m *DNSName) XXX_Size() int

func (*DNSName) XXX_Unmarshal

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

type DirectHttpResponse

type DirectHttpResponse struct {
	// HTTP status code. If not set, RPC error code is used.
	Code HttpStatusCode `protobuf:"varint,1,opt,name=code,proto3,enum=istio.policy.v1beta1.HttpStatusCode" json:"code,omitempty"`
	// HTTP response body.
	Body string `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"`
	// HTTP response headers.
	Headers map[string]string `` /* 155-byte string literal not displayed */
}

Direct HTTP response for a client-facing error message which can be attached to an RPC error.

func (*DirectHttpResponse) DeepCopy

func (in *DirectHttpResponse) DeepCopy() *DirectHttpResponse

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

func (*DirectHttpResponse) DeepCopyInto

func (in *DirectHttpResponse) DeepCopyInto(out *DirectHttpResponse)

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

func (*DirectHttpResponse) Descriptor

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

func (*DirectHttpResponse) Equal

func (this *DirectHttpResponse) Equal(that interface{}) bool

func (*DirectHttpResponse) GetBody

func (m *DirectHttpResponse) GetBody() string

func (*DirectHttpResponse) GetCode

func (m *DirectHttpResponse) GetCode() HttpStatusCode

func (*DirectHttpResponse) GetHeaders

func (m *DirectHttpResponse) GetHeaders() map[string]string

func (*DirectHttpResponse) GoString

func (this *DirectHttpResponse) GoString() string

func (*DirectHttpResponse) Marshal

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

func (*DirectHttpResponse) MarshalJSON

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

MarshalJSON is a custom marshaler for DirectHttpResponse

func (*DirectHttpResponse) MarshalTo

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

func (*DirectHttpResponse) MarshalToSizedBuffer

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

func (*DirectHttpResponse) ProtoMessage

func (*DirectHttpResponse) ProtoMessage()

func (*DirectHttpResponse) Reset

func (m *DirectHttpResponse) Reset()

func (*DirectHttpResponse) Size

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

func (*DirectHttpResponse) String

func (this *DirectHttpResponse) String() string

func (*DirectHttpResponse) Unmarshal

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

func (*DirectHttpResponse) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for DirectHttpResponse

func (*DirectHttpResponse) XXX_DiscardUnknown

func (m *DirectHttpResponse) XXX_DiscardUnknown()

func (*DirectHttpResponse) XXX_Marshal

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

func (*DirectHttpResponse) XXX_Merge

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

func (*DirectHttpResponse) XXX_Size

func (m *DirectHttpResponse) XXX_Size() int

func (*DirectHttpResponse) XXX_Unmarshal

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

type Duration

type Duration struct {
	// Duration encoded as google.protobuf.Duration.
	Value *types.Duration `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
}

An instance field of type Duration denotes that the expression for the field must evaluate to [ValueType.DURATION][istio.policy.v1beta1.ValueType.DURATION]

Objects of type Duration are also passed to the adapters during request-time for the instance fields of type Duration

func (*Duration) DeepCopy

func (in *Duration) DeepCopy() *Duration

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

func (*Duration) DeepCopyInto

func (in *Duration) DeepCopyInto(out *Duration)

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

func (*Duration) Descriptor

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

func (*Duration) Equal

func (this *Duration) Equal(that interface{}) bool

func (*Duration) GetValue

func (m *Duration) GetValue() *types.Duration

func (*Duration) GoString

func (this *Duration) GoString() string

func (*Duration) Marshal

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

func (*Duration) MarshalJSON

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

MarshalJSON is a custom marshaler for Duration

func (*Duration) MarshalTo

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

func (*Duration) MarshalToSizedBuffer

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

func (*Duration) ProtoMessage

func (*Duration) ProtoMessage()

func (*Duration) Reset

func (m *Duration) Reset()

func (*Duration) Size

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

func (*Duration) String

func (this *Duration) String() string

func (*Duration) Unmarshal

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

func (*Duration) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for Duration

func (*Duration) XXX_DiscardUnknown

func (m *Duration) XXX_DiscardUnknown()

func (*Duration) XXX_Marshal

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

func (*Duration) XXX_Merge

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

func (*Duration) XXX_Size

func (m *Duration) XXX_Size() int

func (*Duration) XXX_Unmarshal

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

type EmailAddress

type EmailAddress struct {
	// EmailAddress encoded as string.
	Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
}

DO NOT USE !! Under Development An instance field of type EmailAddress denotes that the expression for the field must evaluate to [ValueType.EMAIL_ADDRESS][istio.policy.v1beta1.ValueType.EMAIL_ADDRESS]

Objects of type EmailAddress are also passed to the adapters during request-time for the instance fields of type EmailAddress

func (*EmailAddress) DeepCopy

func (in *EmailAddress) DeepCopy() *EmailAddress

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

func (*EmailAddress) DeepCopyInto

func (in *EmailAddress) DeepCopyInto(out *EmailAddress)

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

func (*EmailAddress) Descriptor

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

func (*EmailAddress) Equal

func (this *EmailAddress) Equal(that interface{}) bool

func (*EmailAddress) GetValue

func (m *EmailAddress) GetValue() string

func (*EmailAddress) GoString

func (this *EmailAddress) GoString() string

func (*EmailAddress) Marshal

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

func (*EmailAddress) MarshalJSON

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

MarshalJSON is a custom marshaler for EmailAddress

func (*EmailAddress) MarshalTo

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

func (*EmailAddress) MarshalToSizedBuffer

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

func (*EmailAddress) ProtoMessage

func (*EmailAddress) ProtoMessage()

func (*EmailAddress) Reset

func (m *EmailAddress) Reset()

func (*EmailAddress) Size

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

func (*EmailAddress) String

func (this *EmailAddress) String() string

func (*EmailAddress) Unmarshal

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

func (*EmailAddress) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for EmailAddress

func (*EmailAddress) XXX_DiscardUnknown

func (m *EmailAddress) XXX_DiscardUnknown()

func (*EmailAddress) XXX_Marshal

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

func (*EmailAddress) XXX_Merge

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

func (*EmailAddress) XXX_Size

func (m *EmailAddress) XXX_Size() int

func (*EmailAddress) XXX_Unmarshal

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

type FractionalPercent

type FractionalPercent struct {
	// Specifies the numerator. Defaults to 0.
	Numerator uint32 `protobuf:"varint,1,opt,name=numerator,proto3" json:"numerator,omitempty"`
	// Specifies the denominator. If the denominator specified is less than the numerator, the final
	// fractional percentage is capped at 1 (100%).
	Denominator FractionalPercent_DenominatorType `` /* 136-byte string literal not displayed */
}

$hide_from_docs A fractional percentage is used in cases in which for performance reasons performing floating point to integer conversions during randomness calculations is undesirable. The message includes both a numerator and denominator that together determine the final fractional value.

* **Example**: 1/100 = 1%. * **Example**: 3/10000 = 0.03%.

func (*FractionalPercent) DeepCopy

func (in *FractionalPercent) DeepCopy() *FractionalPercent

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

func (*FractionalPercent) DeepCopyInto

func (in *FractionalPercent) DeepCopyInto(out *FractionalPercent)

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

func (*FractionalPercent) Descriptor

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

func (*FractionalPercent) Equal

func (this *FractionalPercent) Equal(that interface{}) bool

func (*FractionalPercent) GetDenominator

func (*FractionalPercent) GetNumerator

func (m *FractionalPercent) GetNumerator() uint32

func (*FractionalPercent) GoString

func (this *FractionalPercent) GoString() string

func (*FractionalPercent) Marshal

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

func (*FractionalPercent) MarshalJSON

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

MarshalJSON is a custom marshaler for FractionalPercent

func (*FractionalPercent) MarshalTo

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

func (*FractionalPercent) MarshalToSizedBuffer

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

func (*FractionalPercent) ProtoMessage

func (*FractionalPercent) ProtoMessage()

func (*FractionalPercent) Reset

func (m *FractionalPercent) Reset()

func (*FractionalPercent) Size

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

func (*FractionalPercent) String

func (this *FractionalPercent) String() string

func (*FractionalPercent) Unmarshal

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

func (*FractionalPercent) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for FractionalPercent

func (*FractionalPercent) XXX_DiscardUnknown

func (m *FractionalPercent) XXX_DiscardUnknown()

func (*FractionalPercent) XXX_Marshal

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

func (*FractionalPercent) XXX_Merge

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

func (*FractionalPercent) XXX_Size

func (m *FractionalPercent) XXX_Size() int

func (*FractionalPercent) XXX_Unmarshal

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

type FractionalPercent_DenominatorType

type FractionalPercent_DenominatorType int32

Fraction percentages support several fixed denominator values.

const (
	// 100.
	//
	// **Example**: 1/100 = 1%.
	HUNDRED FractionalPercent_DenominatorType = 0
	// 10,000.
	//
	// **Example**: 1/10000 = 0.01%.
	TEN_THOUSAND FractionalPercent_DenominatorType = 1
)

func (FractionalPercent_DenominatorType) EnumDescriptor

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

func (FractionalPercent_DenominatorType) String

type Handler

type Handler struct {
	// Must be unique in the entire Mixer configuration. Used by [Actions][istio.policy.v1beta1.Action.handler]
	// to refer to this handler.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The name of the compiled in adapter this handler instantiates. For referencing non compiled-in
	// adapters, use the `adapter` field instead.
	//
	// The value must match the name of the available adapter Mixer is built with. An adapter's name is typically a
	// constant in its code.
	CompiledAdapter string `protobuf:"bytes,67794676,opt,name=compiled_adapter,json=compiledAdapter,proto3" json:"compiled_adapter,omitempty"`
	// The name of a specific adapter implementation. For referencing compiled-in
	// adapters, use the `compiled_adapter` field instead.
	//
	// An adapter's implementation name is typically a constant in its code.
	Adapter string `protobuf:"bytes,2,opt,name=adapter,proto3" json:"adapter,omitempty"`
	// Depends on adapter implementation. Struct representation of a
	// proto defined by the adapter implementation; this varies depending on the value of field `adapter`.
	Params *types.Struct `protobuf:"bytes,3,opt,name=params,proto3" json:"params,omitempty"`
	// Information on how to connect to the out-of-process adapter.
	// This is used if the adapter is not compiled into Mixer binary and is running as a separate process.
	Connection *Connection `protobuf:"bytes,4,opt,name=connection,proto3" json:"connection,omitempty"`
}

Handler allows the operator to configure a specific adapter implementation. Each adapter implementation defines its own `params` proto.

In the following example we define a `metrics` handler for the `prometheus` adapter. The example is in the form of a Kubernetes resource: * The `metadata.name` is the name of the handler * The `kind` refers to the adapter name * The `spec` block represents adapter-specific configuration as well as the connection information

```yaml # Sample-1: No connection specified (for compiled in adapters) # Note: if connection information is not specified, the adapter configuration is directly inside # `spec` block. This is going to be DEPRECATED in favor of Sample-2 apiVersion: "config.istio.io/v1alpha2" kind: handler metadata:

name: requestcount
namespace: istio-system

spec:

compiledAdapter: prometheus
params:
  metrics:
  - name: request_count
    instance_name: requestcount.metric.istio-system
    kind: COUNTER
    label_names:
    - source_service
    - source_version
    - destination_service
    - destination_version

--- # Sample-2: With connection information (for out-of-process adapters) # Note: Unlike sample-1, the adapter configuration is parallel to `connection` and is nested inside `param` block. apiVersion: "config.istio.io/v1alpha2" kind: handler metadata:

name: requestcount
namespace: istio-system

spec:

compiledAdapter: prometheus
params:
  param:
    metrics:
    - name: request_count
      instance_name: requestcount.metric.istio-system
      kind: COUNTER
      label_names:
      - source_service
      - source_version
      - destination_service
      - destination_version
  connection:
    address: localhost:8090

--- ```

<!-- crd generation tags +cue-gen:handler:schema:istio.policy.v1beta1.Handler +cue-gen:handler:groupName:config.istio.io +cue-gen:handler:version:v1alpha2 +cue-gen:handler:storageVersion +cue-gen:handler:annotations:helm.sh/resource-policy=keep +cue-gen:handler:labels:app=mixer,chart=istio,heritage=Tiller,istio=mixer-handler,package=handler,release=istio +cue-gen:handler:subresource:status +cue-gen:handler:scope:Namespaced +cue-gen:handler:resource:categories=istio-io,policy-istio-io -->

<!-- go code generation tags +kubetype-gen +kubetype-gen:groupVersion=config.istio.io/v1alpha2 +kubetype-gen:kubeType=Handler +kubetype-gen:Handler:tag=kubetype-gen:lowerCaseScheme +genclient +k8s:deepcopy-gen=true -->

func (*Handler) DeepCopy

func (in *Handler) DeepCopy() *Handler

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

func (*Handler) DeepCopyInto

func (in *Handler) DeepCopyInto(out *Handler)

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

func (*Handler) Descriptor

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

func (*Handler) Equal

func (this *Handler) Equal(that interface{}) bool

func (*Handler) GetAdapter

func (m *Handler) GetAdapter() string

func (*Handler) GetCompiledAdapter

func (m *Handler) GetCompiledAdapter() string

func (*Handler) GetConnection

func (m *Handler) GetConnection() *Connection

func (*Handler) GetName

func (m *Handler) GetName() string

func (*Handler) GetParams

func (m *Handler) GetParams() *types.Struct

func (*Handler) GoString

func (this *Handler) GoString() string

func (*Handler) Marshal

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

func (*Handler) MarshalJSON

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

MarshalJSON is a custom marshaler for Handler

func (*Handler) MarshalTo

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

func (*Handler) MarshalToSizedBuffer

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

func (*Handler) ProtoMessage

func (*Handler) ProtoMessage()

func (*Handler) Reset

func (m *Handler) Reset()

func (*Handler) Size

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

func (*Handler) String

func (this *Handler) String() string

func (*Handler) Unmarshal

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

func (*Handler) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for Handler

func (*Handler) XXX_DiscardUnknown

func (m *Handler) XXX_DiscardUnknown()

func (*Handler) XXX_Marshal

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

func (*Handler) XXX_Merge

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

func (*Handler) XXX_Size

func (m *Handler) XXX_Size() int

func (*Handler) XXX_Unmarshal

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

type HttpStatusCode

type HttpStatusCode int32

HTTP response codes. For more details: http://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml

const (
	// Empty - This code not part of the HTTP status code specification, but it is needed for proto
	// `enum` type.
	Empty                         HttpStatusCode = 0
	Continue                      HttpStatusCode = 100
	OK                            HttpStatusCode = 200
	Created                       HttpStatusCode = 201
	Accepted                      HttpStatusCode = 202
	NonAuthoritativeInformation   HttpStatusCode = 203
	NoContent                     HttpStatusCode = 204
	ResetContent                  HttpStatusCode = 205
	PartialContent                HttpStatusCode = 206
	MultiStatus                   HttpStatusCode = 207
	AlreadyReported               HttpStatusCode = 208
	IMUsed                        HttpStatusCode = 226
	MultipleChoices               HttpStatusCode = 300
	MovedPermanently              HttpStatusCode = 301
	Found                         HttpStatusCode = 302
	SeeOther                      HttpStatusCode = 303
	NotModified                   HttpStatusCode = 304
	UseProxy                      HttpStatusCode = 305
	TemporaryRedirect             HttpStatusCode = 307
	PermanentRedirect             HttpStatusCode = 308
	BadRequest                    HttpStatusCode = 400
	Unauthorized                  HttpStatusCode = 401
	PaymentRequired               HttpStatusCode = 402
	Forbidden                     HttpStatusCode = 403
	NotFound                      HttpStatusCode = 404
	MethodNotAllowed              HttpStatusCode = 405
	NotAcceptable                 HttpStatusCode = 406
	ProxyAuthenticationRequired   HttpStatusCode = 407
	RequestTimeout                HttpStatusCode = 408
	Conflict                      HttpStatusCode = 409
	Gone                          HttpStatusCode = 410
	LengthRequired                HttpStatusCode = 411
	PreconditionFailed            HttpStatusCode = 412
	PayloadTooLarge               HttpStatusCode = 413
	URITooLong                    HttpStatusCode = 414
	UnsupportedMediaType          HttpStatusCode = 415
	RangeNotSatisfiable           HttpStatusCode = 416
	ExpectationFailed             HttpStatusCode = 417
	MisdirectedRequest            HttpStatusCode = 421
	UnprocessableEntity           HttpStatusCode = 422
	Locked                        HttpStatusCode = 423
	FailedDependency              HttpStatusCode = 424
	UpgradeRequired               HttpStatusCode = 426
	PreconditionRequired          HttpStatusCode = 428
	TooManyRequests               HttpStatusCode = 429
	RequestHeaderFieldsTooLarge   HttpStatusCode = 431
	InternalServerError           HttpStatusCode = 500
	NotImplemented                HttpStatusCode = 501
	BadGateway                    HttpStatusCode = 502
	ServiceUnavailable            HttpStatusCode = 503
	GatewayTimeout                HttpStatusCode = 504
	HTTPVersionNotSupported       HttpStatusCode = 505
	VariantAlsoNegotiates         HttpStatusCode = 506
	InsufficientStorage           HttpStatusCode = 507
	LoopDetected                  HttpStatusCode = 508
	NotExtended                   HttpStatusCode = 510
	NetworkAuthenticationRequired HttpStatusCode = 511
)

func (HttpStatusCode) EnumDescriptor

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

func (HttpStatusCode) String

func (x HttpStatusCode) String() string

type IPAddress

type IPAddress struct {
	// IPAddress encoded as bytes.
	Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
}

An instance field of type IPAddress denotes that the expression for the field must evaluate to [ValueType.IP_ADDRESS][istio.policy.v1beta1.ValueType.IP_ADDRESS]

Objects of type IPAddress are also passed to the adapters during request-time for the instance fields of type IPAddress

func (*IPAddress) DeepCopy

func (in *IPAddress) DeepCopy() *IPAddress

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

func (*IPAddress) DeepCopyInto

func (in *IPAddress) DeepCopyInto(out *IPAddress)

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

func (*IPAddress) Descriptor

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

func (*IPAddress) Equal

func (this *IPAddress) Equal(that interface{}) bool

func (*IPAddress) GetValue

func (m *IPAddress) GetValue() []byte

func (*IPAddress) GoString

func (this *IPAddress) GoString() string

func (*IPAddress) Marshal

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

func (*IPAddress) MarshalJSON

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

MarshalJSON is a custom marshaler for IPAddress

func (*IPAddress) MarshalTo

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

func (*IPAddress) MarshalToSizedBuffer

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

func (*IPAddress) ProtoMessage

func (*IPAddress) ProtoMessage()

func (*IPAddress) Reset

func (m *IPAddress) Reset()

func (*IPAddress) Size

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

func (*IPAddress) String

func (this *IPAddress) String() string

func (*IPAddress) Unmarshal

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

func (*IPAddress) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for IPAddress

func (*IPAddress) XXX_DiscardUnknown

func (m *IPAddress) XXX_DiscardUnknown()

func (*IPAddress) XXX_Marshal

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

func (*IPAddress) XXX_Merge

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

func (*IPAddress) XXX_Size

func (m *IPAddress) XXX_Size() int

func (*IPAddress) XXX_Unmarshal

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

type Instance

type Instance struct {
	// The name of this instance
	//
	// Must be unique amongst other Instances in scope. Used by [Action][istio.policy.v1beta1.Action] to refer
	// to an instance produced by this instance.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The name of the compiled in template this instance creates instances for. For referencing non compiled-in
	// templates, use the `template` field instead.
	//
	// The value must match the name of the available template Mixer is built with.
	CompiledTemplate string `protobuf:"bytes,67794676,opt,name=compiled_template,json=compiledTemplate,proto3" json:"compiled_template,omitempty"`
	// The name of the template this instance creates instances for. For referencing compiled-in
	// templates, use the `compiled_template` field instead.
	//
	// The value must match the name of the available template in scope.
	Template string `protobuf:"bytes,2,opt,name=template,proto3" json:"template,omitempty"`
	// Depends on referenced template. Struct representation of a
	// proto defined by the template; this varies depending on the value of field `template`.
	Params *types.Struct `protobuf:"bytes,3,opt,name=params,proto3" json:"params,omitempty"`
	// Defines attribute bindings to map the output of attribute-producing adapters back into
	// the attribute space. The variable `output` refers to the output template instance produced
	// by the adapter.
	// The following example derives `source.namespace` from `source.uid` in the context of Kubernetes:
	// “`yaml
	// params:
	//   # Pass the required attribute data to the adapter
	//   source_uid: source.uid | ""
	// attribute_bindings:
	//   # Fill the new attributes from the adapter produced output
	//   source.namespace: output.source_namespace
	// “`
	AttributeBindings map[string]string `` /* 200-byte string literal not displayed */
}

An Instance tells Mixer how to create instances for particular template.

Instance is defined by the operator. Instance is defined relative to a known template. Their purpose is to tell Mixer how to use attributes or literals to produce instances of the specified template at runtime.

The following example instructs Mixer to construct an instance associated with template 'istio.mixer.adapter.metric.Metric'. It provides a mapping from the template's fields to expressions. Instances produced with this instance can be referenced by [Actions][istio.policy.v1beta1.Action] using name 'RequestCountByService'

```yaml

  • name: RequestCountByService template: istio.mixer.adapter.metric.Metric params: value: 1 dimensions: source: source.name destination_ip: destination.ip

```

<!-- crd generation tags +cue-gen:instance:schema:istio.policy.v1beta1.Instance +cue-gen:instance:groupName:config.istio.io +cue-gen:instance:version:v1alpha2 +cue-gen:instance:storageVersion +cue-gen:instance:annotations:helm.sh/resource-policy=keep +cue-gen:instance:labels:app=mixer,chart=istio,heritage=Tiller,istio=mixer-instance,package=instance,release=istio +cue-gen:instance:subresource:status +cue-gen:instance:scope:Namespaced +cue-gen:instance:resource:categories=istio-io,policy-istio-io -->

<!-- go code generation tags +kubetype-gen +kubetype-gen:groupVersion=config.istio.io/v1alpha2 +kubetype-gen:kubeType=Instance +kubetype-gen:Instance:tag=kubetype-gen:lowerCaseScheme +genclient +k8s:deepcopy-gen=true -->

func (*Instance) DeepCopy

func (in *Instance) DeepCopy() *Instance

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

func (*Instance) DeepCopyInto

func (in *Instance) DeepCopyInto(out *Instance)

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

func (*Instance) Descriptor

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

func (*Instance) Equal

func (this *Instance) Equal(that interface{}) bool

func (*Instance) GetAttributeBindings

func (m *Instance) GetAttributeBindings() map[string]string

func (*Instance) GetCompiledTemplate

func (m *Instance) GetCompiledTemplate() string

func (*Instance) GetName

func (m *Instance) GetName() string

func (*Instance) GetParams

func (m *Instance) GetParams() *types.Struct

func (*Instance) GetTemplate

func (m *Instance) GetTemplate() string

func (*Instance) GoString

func (this *Instance) GoString() string

func (*Instance) Marshal

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

func (*Instance) MarshalJSON

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

MarshalJSON is a custom marshaler for Instance

func (*Instance) MarshalTo

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

func (*Instance) MarshalToSizedBuffer

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

func (*Instance) ProtoMessage

func (*Instance) ProtoMessage()

func (*Instance) Reset

func (m *Instance) Reset()

func (*Instance) Size

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

func (*Instance) String

func (this *Instance) String() string

func (*Instance) Unmarshal

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

func (*Instance) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for Instance

func (*Instance) XXX_DiscardUnknown

func (m *Instance) XXX_DiscardUnknown()

func (*Instance) XXX_Marshal

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

func (*Instance) XXX_Merge

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

func (*Instance) XXX_Size

func (m *Instance) XXX_Size() int

func (*Instance) XXX_Unmarshal

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

type Mutual

type Mutual struct {
	// The path to the file holding the private key for mutual TLS. If omitted, the
	// default Mixer private key will be used.
	PrivateKey string `protobuf:"bytes,1,opt,name=private_key,json=privateKey,proto3" json:"private_key,omitempty"`
	// The path to the file holding client certificate for mutual TLS. If omitted, the
	// default Mixer certificates will be used.
	ClientCertificate string `protobuf:"bytes,2,opt,name=client_certificate,json=clientCertificate,proto3" json:"client_certificate,omitempty"`
	// The path to the file holding additional CA certificates that are needed to
	// verify the presented adapter certificates. By default Mixer should already
	// include Istio CA certificates and system certificates in cert pool.
	CaCertificates string `protobuf:"bytes,3,opt,name=ca_certificates,json=caCertificates,proto3" json:"ca_certificates,omitempty"`
	// Used to configure mixer mutual TLS client to supply server name for SNI.
	// It is not used to verify the hostname of the peer certificate, since
	// Istio verifies whitelisted SAN fields in mutual TLS.
	ServerName string `protobuf:"bytes,4,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"`
}

Mutual let operator specify TLS configuration for Mixer as client if mutual TLS is used to secure connection to adapter backend.

func (*Mutual) DeepCopy

func (in *Mutual) DeepCopy() *Mutual

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

func (*Mutual) DeepCopyInto

func (in *Mutual) DeepCopyInto(out *Mutual)

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

func (*Mutual) Descriptor

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

func (*Mutual) Equal

func (this *Mutual) Equal(that interface{}) bool

func (*Mutual) GetCaCertificates

func (m *Mutual) GetCaCertificates() string

func (*Mutual) GetClientCertificate

func (m *Mutual) GetClientCertificate() string

func (*Mutual) GetPrivateKey

func (m *Mutual) GetPrivateKey() string

func (*Mutual) GetServerName

func (m *Mutual) GetServerName() string

func (*Mutual) GoString

func (this *Mutual) GoString() string

func (*Mutual) Marshal

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

func (*Mutual) MarshalJSON

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

MarshalJSON is a custom marshaler for Mutual

func (*Mutual) MarshalTo

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

func (*Mutual) MarshalToSizedBuffer

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

func (*Mutual) ProtoMessage

func (*Mutual) ProtoMessage()

func (*Mutual) Reset

func (m *Mutual) Reset()

func (*Mutual) Size

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

func (*Mutual) String

func (this *Mutual) String() string

func (*Mutual) Unmarshal

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

func (*Mutual) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for Mutual

func (*Mutual) XXX_DiscardUnknown

func (m *Mutual) XXX_DiscardUnknown()

func (*Mutual) XXX_Marshal

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

func (*Mutual) XXX_Merge

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

func (*Mutual) XXX_Size

func (m *Mutual) XXX_Size() int

func (*Mutual) XXX_Unmarshal

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

type OAuth

type OAuth struct {
	// OAuth client id for mixer.
	ClientId string `protobuf:"bytes,1,opt,name=client_id,json=clientId,proto3" json:"client_id,omitempty"`
	// The path to the file holding the client secret for oauth.
	ClientSecret string `protobuf:"bytes,2,opt,name=client_secret,json=clientSecret,proto3" json:"client_secret,omitempty"`
	// The Resource server's token endpoint URL.
	TokenUrl string `protobuf:"bytes,3,opt,name=token_url,json=tokenUrl,proto3" json:"token_url,omitempty"`
	// List of requested permissions.
	Scopes []string `protobuf:"bytes,4,rep,name=scopes,proto3" json:"scopes,omitempty"`
	// Additional parameters for requests to the token endpoint.
	EndpointParams map[string]string `` /* 191-byte string literal not displayed */
}

OAuth let operator specify config to fetch access token via oauth when using TLS for connection to the backend.

func (*OAuth) DeepCopy

func (in *OAuth) DeepCopy() *OAuth

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

func (*OAuth) DeepCopyInto

func (in *OAuth) DeepCopyInto(out *OAuth)

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

func (*OAuth) Descriptor

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

func (*OAuth) Equal

func (this *OAuth) Equal(that interface{}) bool

func (*OAuth) GetClientId

func (m *OAuth) GetClientId() string

func (*OAuth) GetClientSecret

func (m *OAuth) GetClientSecret() string

func (*OAuth) GetEndpointParams

func (m *OAuth) GetEndpointParams() map[string]string

func (*OAuth) GetScopes

func (m *OAuth) GetScopes() []string

func (*OAuth) GetTokenUrl

func (m *OAuth) GetTokenUrl() string

func (*OAuth) GoString

func (this *OAuth) GoString() string

func (*OAuth) Marshal

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

func (*OAuth) MarshalJSON

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

MarshalJSON is a custom marshaler for OAuth

func (*OAuth) MarshalTo

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

func (*OAuth) MarshalToSizedBuffer

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

func (*OAuth) ProtoMessage

func (*OAuth) ProtoMessage()

func (*OAuth) Reset

func (m *OAuth) Reset()

func (*OAuth) Size

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

func (*OAuth) String

func (this *OAuth) String() string

func (*OAuth) Unmarshal

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

func (*OAuth) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for OAuth

func (*OAuth) XXX_DiscardUnknown

func (m *OAuth) XXX_DiscardUnknown()

func (*OAuth) XXX_Marshal

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

func (*OAuth) XXX_Merge

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

func (*OAuth) XXX_Size

func (m *OAuth) XXX_Size() int

func (*OAuth) XXX_Unmarshal

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

type RandomSampling

type RandomSampling struct {
	// Specifies an attribute expression to use to override the numerator in the `percent_sampled` field.
	// If this value is set, but no value is found OR if that value is not a numeric value, then
	// the derived sampling rate will be 0 (meaning no `Action`s are executed for a `Rule`).
	AttributeExpression string `protobuf:"bytes,1,opt,name=attribute_expression,json=attributeExpression,proto3" json:"attribute_expression,omitempty"`
	// The default sampling rate, expressed as a percentage. Defaults to 0% with a denominator
	// of 100.
	PercentSampled *FractionalPercent `protobuf:"bytes,2,opt,name=percent_sampled,json=percentSampled,proto3" json:"percent_sampled,omitempty"`
	// By default sampling will be based on the value of the request header `x-request-id`.
	// This behavior will cause consistent sampling across `Rule`s and for the full trace of a
	// request through a mesh (across hosts). If that value is not present and/or
	// `use_independent_randomness` is set to true, the sampling will be done based on the value of
	// attribute specified in `attribute_epxression`. If that attribute does not exist, the system
	// will behave as if the sampling rate was 0 (meaning no `Action`s are executed for a `Rule`).
	UseIndependentRandomness bool `` /* 136-byte string literal not displayed */
}

$hide_from_docs RandomSampling will filter based on the comparison of a randomly-generated value against the threshold provided.

Example: To restrict the execution of Rule actions to only 12.5% of requests, the `sampling_rate` would be set `12.5`.

This sampling configuration is meant to closely match the access log RuntimeFilter configuration [supported by Envoy](https://github.com/envoyproxy/data-plane-api/blob/master/envoy/config/filter/accesslog/v2/accesslog.proto#L113)

func (*RandomSampling) DeepCopy

func (in *RandomSampling) DeepCopy() *RandomSampling

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

func (*RandomSampling) DeepCopyInto

func (in *RandomSampling) DeepCopyInto(out *RandomSampling)

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

func (*RandomSampling) Descriptor

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

func (*RandomSampling) Equal

func (this *RandomSampling) Equal(that interface{}) bool

func (*RandomSampling) GetAttributeExpression

func (m *RandomSampling) GetAttributeExpression() string

func (*RandomSampling) GetPercentSampled

func (m *RandomSampling) GetPercentSampled() *FractionalPercent

func (*RandomSampling) GetUseIndependentRandomness

func (m *RandomSampling) GetUseIndependentRandomness() bool

func (*RandomSampling) GoString

func (this *RandomSampling) GoString() string

func (*RandomSampling) Marshal

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

func (*RandomSampling) MarshalJSON

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

MarshalJSON is a custom marshaler for RandomSampling

func (*RandomSampling) MarshalTo

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

func (*RandomSampling) MarshalToSizedBuffer

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

func (*RandomSampling) ProtoMessage

func (*RandomSampling) ProtoMessage()

func (*RandomSampling) Reset

func (m *RandomSampling) Reset()

func (*RandomSampling) Size

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

func (*RandomSampling) String

func (this *RandomSampling) String() string

func (*RandomSampling) Unmarshal

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

func (*RandomSampling) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for RandomSampling

func (*RandomSampling) XXX_DiscardUnknown

func (m *RandomSampling) XXX_DiscardUnknown()

func (*RandomSampling) XXX_Marshal

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

func (*RandomSampling) XXX_Merge

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

func (*RandomSampling) XXX_Size

func (m *RandomSampling) XXX_Size() int

func (*RandomSampling) XXX_Unmarshal

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

type RateLimitSampling

type RateLimitSampling struct {
	// Window in which to enforce the sampling rate.
	SamplingDuration time.Duration `protobuf:"bytes,1,opt,name=sampling_duration,json=samplingDuration,proto3,stdduration" json:"sampling_duration"`
	// Number of entries to allow during the `sampling_duration` before sampling is enforced.
	MaxUnsampledEntries int64 `protobuf:"varint,2,opt,name=max_unsampled_entries,json=maxUnsampledEntries,proto3" json:"max_unsampled_entries,omitempty"`
	// The rate at which to sample entries once the unsampled limit has been reached. Sampling will be enforced
	// as 1 per every `sampling_rate` entries allowed.
	SamplingRate int64 `protobuf:"varint,3,opt,name=sampling_rate,json=samplingRate,proto3" json:"sampling_rate,omitempty"`
}

$hide_from_docs RateLimitSampling provides the ability to limit the number of Rule action executions that occur over a period of time.

func (*RateLimitSampling) DeepCopy

func (in *RateLimitSampling) DeepCopy() *RateLimitSampling

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

func (*RateLimitSampling) DeepCopyInto

func (in *RateLimitSampling) DeepCopyInto(out *RateLimitSampling)

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

func (*RateLimitSampling) Descriptor

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

func (*RateLimitSampling) Equal

func (this *RateLimitSampling) Equal(that interface{}) bool

func (*RateLimitSampling) GetMaxUnsampledEntries

func (m *RateLimitSampling) GetMaxUnsampledEntries() int64

func (*RateLimitSampling) GetSamplingDuration

func (m *RateLimitSampling) GetSamplingDuration() time.Duration

func (*RateLimitSampling) GetSamplingRate

func (m *RateLimitSampling) GetSamplingRate() int64

func (*RateLimitSampling) GoString

func (this *RateLimitSampling) GoString() string

func (*RateLimitSampling) Marshal

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

func (*RateLimitSampling) MarshalJSON

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

MarshalJSON is a custom marshaler for RateLimitSampling

func (*RateLimitSampling) MarshalTo

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

func (*RateLimitSampling) MarshalToSizedBuffer

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

func (*RateLimitSampling) ProtoMessage

func (*RateLimitSampling) ProtoMessage()

func (*RateLimitSampling) Reset

func (m *RateLimitSampling) Reset()

func (*RateLimitSampling) Size

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

func (*RateLimitSampling) String

func (this *RateLimitSampling) String() string

func (*RateLimitSampling) Unmarshal

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

func (*RateLimitSampling) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for RateLimitSampling

func (*RateLimitSampling) XXX_DiscardUnknown

func (m *RateLimitSampling) XXX_DiscardUnknown()

func (*RateLimitSampling) XXX_Marshal

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

func (*RateLimitSampling) XXX_Merge

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

func (*RateLimitSampling) XXX_Size

func (m *RateLimitSampling) XXX_Size() int

func (*RateLimitSampling) XXX_Unmarshal

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

type Rule

type Rule struct {
	// Match is an attribute based predicate. When Mixer receives a
	// request it evaluates the match expression and executes all the associated `actions`
	// if the match evaluates to true.
	//
	// A few example match:
	//
	// * an empty match evaluates to `true`
	// * `true`, a boolean literal; a rule with this match will always be executed
	// * `match(destination.service.host, "ratings.*")` selects any request targeting a service whose
	// name starts with "ratings"
	// * `attr1 == "20" && attr2 == "30"` logical AND, OR, and NOT are also available
	Match string `protobuf:"bytes,1,opt,name=match,proto3" json:"match,omitempty"`
	// The actions that will be executed when match evaluates to `true`.
	Actions []*Action `protobuf:"bytes,2,rep,name=actions,proto3" json:"actions,omitempty"`
	// Templatized operations on the request headers using values produced by the
	// rule actions. Require the check action result to be OK.
	RequestHeaderOperations []*Rule_HeaderOperationTemplate `` /* 132-byte string literal not displayed */
	// Templatized operations on the response headers using values produced by the
	// rule actions. Require the check action result to be OK.
	ResponseHeaderOperations []*Rule_HeaderOperationTemplate `` /* 135-byte string literal not displayed */
	// $hide_from_docs
	// Provides the ability to add a sampling configuration for Mixer rules. This sampling
	// will limit the scenarios in which the `actions` of the rule are executed. The sampling will
	// only take place after a `match` predicate has evaluated to true.
	//
	// Default behavior is no sampling (the `actions` are executed for all requests).
	Sampling *Sampling `protobuf:"bytes,5,opt,name=sampling,proto3" json:"sampling,omitempty"`
}

A Rule is a selector and a set of intentions to be executed when the selector is `true`

The following example instructs Mixer to invoke `prometheus-handler` handler for all services and pass it the instance constructed using the 'RequestCountByService' instance.

```yaml

  • match: match(destination.service.host, "*") actions:
  • handler: prometheus-handler instances:
  • RequestCountByService

```

<!-- crd generation tags +cue-gen:rule:schema:istio.policy.v1beta1.Rule +cue-gen:rule:groupName:config.istio.io +cue-gen:rule:version:v1alpha2 +cue-gen:rule:storageVersion +cue-gen:rule:annotations:helm.sh/resource-policy=keep +cue-gen:rule:labels:app=mixer,chart=istio,heritage=Tiller,istio=core,package=istio.io.mixer,release=istio +cue-gen:rule:subresource:status +cue-gen:rule:scope:Namespaced +cue-gen:rule:resource:categories=istio-io,policy-istio-io +cue-gen:rule:preserveUnknownFields:false -->

<!-- go code generation tags +kubetype-gen +kubetype-gen:groupVersion=config.istio.io/v1alpha2 +kubetype-gen:kubeType=Rule +kubetype-gen:Rule:tag=kubetype-gen:lowerCaseScheme +genclient +k8s:deepcopy-gen=true -->

func (*Rule) DeepCopy

func (in *Rule) DeepCopy() *Rule

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

func (*Rule) DeepCopyInto

func (in *Rule) DeepCopyInto(out *Rule)

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

func (*Rule) Descriptor

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

func (*Rule) Equal

func (this *Rule) Equal(that interface{}) bool

func (*Rule) GetActions

func (m *Rule) GetActions() []*Action

func (*Rule) GetMatch

func (m *Rule) GetMatch() string

func (*Rule) GetRequestHeaderOperations

func (m *Rule) GetRequestHeaderOperations() []*Rule_HeaderOperationTemplate

func (*Rule) GetResponseHeaderOperations

func (m *Rule) GetResponseHeaderOperations() []*Rule_HeaderOperationTemplate

func (*Rule) GetSampling

func (m *Rule) GetSampling() *Sampling

func (*Rule) GoString

func (this *Rule) GoString() string

func (*Rule) Marshal

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

func (*Rule) MarshalJSON

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

MarshalJSON is a custom marshaler for Rule

func (*Rule) MarshalTo

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

func (*Rule) MarshalToSizedBuffer

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

func (*Rule) ProtoMessage

func (*Rule) ProtoMessage()

func (*Rule) Reset

func (m *Rule) Reset()

func (*Rule) Size

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

func (*Rule) String

func (this *Rule) String() string

func (*Rule) Unmarshal

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

func (*Rule) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for Rule

func (*Rule) XXX_DiscardUnknown

func (m *Rule) XXX_DiscardUnknown()

func (*Rule) XXX_Marshal

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

func (*Rule) XXX_Merge

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

func (*Rule) XXX_Size

func (m *Rule) XXX_Size() int

func (*Rule) XXX_Unmarshal

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

type Rule_HeaderOperationTemplate

type Rule_HeaderOperationTemplate struct {
	// Header name literal value.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Header value expressions.
	Values []string `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"`
	// Header operation type. Default operation is to replace the value of the header by name.
	Operation Rule_HeaderOperationTemplate_Operation `` /* 137-byte string literal not displayed */
}

A template for an HTTP header manipulation. Values in the template are expressions that may reference action outputs by name. For example, if an action `x` produces an output with a field `f`, then the header value expressions may use attribute `x.output.f` to reference the field value:

```yaml request_header_operations:

  • name: x-istio-header values:
  • x.output.f

```

If the header value expression evaluates to an empty string, and the operation is to either replace or append a header, then the operation is not applied. This permits conditional behavior on behalf of the adapter to optionally modify the headers.

func (*Rule_HeaderOperationTemplate) DeepCopy

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

func (*Rule_HeaderOperationTemplate) DeepCopyInto

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

func (*Rule_HeaderOperationTemplate) Descriptor

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

func (*Rule_HeaderOperationTemplate) Equal

func (this *Rule_HeaderOperationTemplate) Equal(that interface{}) bool

func (*Rule_HeaderOperationTemplate) GetName

func (m *Rule_HeaderOperationTemplate) GetName() string

func (*Rule_HeaderOperationTemplate) GetOperation

func (*Rule_HeaderOperationTemplate) GetValues

func (m *Rule_HeaderOperationTemplate) GetValues() []string

func (*Rule_HeaderOperationTemplate) GoString

func (this *Rule_HeaderOperationTemplate) GoString() string

func (*Rule_HeaderOperationTemplate) Marshal

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

func (*Rule_HeaderOperationTemplate) MarshalJSON

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

MarshalJSON is a custom marshaler for Rule_HeaderOperationTemplate

func (*Rule_HeaderOperationTemplate) MarshalTo

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

func (*Rule_HeaderOperationTemplate) MarshalToSizedBuffer

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

func (*Rule_HeaderOperationTemplate) ProtoMessage

func (*Rule_HeaderOperationTemplate) ProtoMessage()

func (*Rule_HeaderOperationTemplate) Reset

func (m *Rule_HeaderOperationTemplate) Reset()

func (*Rule_HeaderOperationTemplate) Size

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

func (*Rule_HeaderOperationTemplate) String

func (this *Rule_HeaderOperationTemplate) String() string

func (*Rule_HeaderOperationTemplate) Unmarshal

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

func (*Rule_HeaderOperationTemplate) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for Rule_HeaderOperationTemplate

func (*Rule_HeaderOperationTemplate) XXX_DiscardUnknown

func (m *Rule_HeaderOperationTemplate) XXX_DiscardUnknown()

func (*Rule_HeaderOperationTemplate) XXX_Marshal

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

func (*Rule_HeaderOperationTemplate) XXX_Merge

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

func (*Rule_HeaderOperationTemplate) XXX_Size

func (m *Rule_HeaderOperationTemplate) XXX_Size() int

func (*Rule_HeaderOperationTemplate) XXX_Unmarshal

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

type Rule_HeaderOperationTemplate_Operation

type Rule_HeaderOperationTemplate_Operation int32

Header operation type.

const (
	// Replace a header by name.
	REPLACE Rule_HeaderOperationTemplate_Operation = 0
	// Remove a header by name. Values are ignored.
	REMOVE Rule_HeaderOperationTemplate_Operation = 1
	// Append values to the existing header values.
	APPEND Rule_HeaderOperationTemplate_Operation = 2
)

func (Rule_HeaderOperationTemplate_Operation) EnumDescriptor

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

func (Rule_HeaderOperationTemplate_Operation) String

type Sampling

type Sampling struct {
	// Provides filtering of actions based on random selection per request.
	Random *RandomSampling `protobuf:"bytes,1,opt,name=random,proto3" json:"random,omitempty"`
	// Provides filtering of actions based on number of requests observed within
	// a configured time window.
	RateLimit *RateLimitSampling `protobuf:"bytes,2,opt,name=rate_limit,json=rateLimit,proto3" json:"rate_limit,omitempty"`
}

$hide_from_docs Sampling provides configuration of sampling strategies for Rule actions. Multiple sampling strategies are supported. When multiple strategies are configured, a request must be selected by all configured sampling strategies.

func (*Sampling) DeepCopy

func (in *Sampling) DeepCopy() *Sampling

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

func (*Sampling) DeepCopyInto

func (in *Sampling) DeepCopyInto(out *Sampling)

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

func (*Sampling) Descriptor

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

func (*Sampling) Equal

func (this *Sampling) Equal(that interface{}) bool

func (*Sampling) GetRandom

func (m *Sampling) GetRandom() *RandomSampling

func (*Sampling) GetRateLimit

func (m *Sampling) GetRateLimit() *RateLimitSampling

func (*Sampling) GoString

func (this *Sampling) GoString() string

func (*Sampling) Marshal

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

func (*Sampling) MarshalJSON

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

MarshalJSON is a custom marshaler for Sampling

func (*Sampling) MarshalTo

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

func (*Sampling) MarshalToSizedBuffer

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

func (*Sampling) ProtoMessage

func (*Sampling) ProtoMessage()

func (*Sampling) Reset

func (m *Sampling) Reset()

func (*Sampling) Size

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

func (*Sampling) String

func (this *Sampling) String() string

func (*Sampling) Unmarshal

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

func (*Sampling) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for Sampling

func (*Sampling) XXX_DiscardUnknown

func (m *Sampling) XXX_DiscardUnknown()

func (*Sampling) XXX_Marshal

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

func (*Sampling) XXX_Merge

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

func (*Sampling) XXX_Size

func (m *Sampling) XXX_Size() int

func (*Sampling) XXX_Unmarshal

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

type StringMap

type StringMap struct {
	// StringMap encoded as a map of strings
	Value map[string]string `` /* 151-byte string literal not displayed */
}

An instance field of type StringMap denotes that the expression for the field must evaluate to [ValueType.STRING_MAP][istio.policy.v1beta1.ValueType.STRING_MAP]

Objects of type StringMap are also passed to the adapters during request-time for the instance fields of type StringMap

func (*StringMap) DeepCopy

func (in *StringMap) DeepCopy() *StringMap

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

func (*StringMap) DeepCopyInto

func (in *StringMap) DeepCopyInto(out *StringMap)

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

func (*StringMap) Descriptor

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

func (*StringMap) Equal

func (this *StringMap) Equal(that interface{}) bool

func (*StringMap) GetValue

func (m *StringMap) GetValue() map[string]string

func (*StringMap) GoString

func (this *StringMap) GoString() string

func (*StringMap) Marshal

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

func (*StringMap) MarshalJSON

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

MarshalJSON is a custom marshaler for StringMap

func (*StringMap) MarshalTo

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

func (*StringMap) MarshalToSizedBuffer

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

func (*StringMap) ProtoMessage

func (*StringMap) ProtoMessage()

func (*StringMap) Reset

func (m *StringMap) Reset()

func (*StringMap) Size

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

func (*StringMap) String

func (this *StringMap) String() string

func (*StringMap) Unmarshal

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

func (*StringMap) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for StringMap

func (*StringMap) XXX_DiscardUnknown

func (m *StringMap) XXX_DiscardUnknown()

func (*StringMap) XXX_Marshal

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

func (*StringMap) XXX_Merge

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

func (*StringMap) XXX_Size

func (m *StringMap) XXX_Size() int

func (*StringMap) XXX_Unmarshal

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

type TimeStamp

type TimeStamp struct {
	// TimeStamp encoded as google.protobuf.Timestamp.
	Value *types.Timestamp `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
}

An instance field of type TimeStamp denotes that the expression for the field must evaluate to [ValueType.TIMESTAMP][istio.policy.v1beta1.ValueType.TIMESTAMP]

Objects of type TimeStamp are also passed to the adapters during request-time for the instance fields of type TimeStamp

func (*TimeStamp) DeepCopy

func (in *TimeStamp) DeepCopy() *TimeStamp

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

func (*TimeStamp) DeepCopyInto

func (in *TimeStamp) DeepCopyInto(out *TimeStamp)

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

func (*TimeStamp) Descriptor

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

func (*TimeStamp) Equal

func (this *TimeStamp) Equal(that interface{}) bool

func (*TimeStamp) GetValue

func (m *TimeStamp) GetValue() *types.Timestamp

func (*TimeStamp) GoString

func (this *TimeStamp) GoString() string

func (*TimeStamp) Marshal

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

func (*TimeStamp) MarshalJSON

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

MarshalJSON is a custom marshaler for TimeStamp

func (*TimeStamp) MarshalTo

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

func (*TimeStamp) MarshalToSizedBuffer

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

func (*TimeStamp) ProtoMessage

func (*TimeStamp) ProtoMessage()

func (*TimeStamp) Reset

func (m *TimeStamp) Reset()

func (*TimeStamp) Size

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

func (*TimeStamp) String

func (this *TimeStamp) String() string

func (*TimeStamp) Unmarshal

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

func (*TimeStamp) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for TimeStamp

func (*TimeStamp) XXX_DiscardUnknown

func (m *TimeStamp) XXX_DiscardUnknown()

func (*TimeStamp) XXX_Marshal

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

func (*TimeStamp) XXX_Merge

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

func (*TimeStamp) XXX_Size

func (m *TimeStamp) XXX_Size() int

func (*TimeStamp) XXX_Unmarshal

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

type Tls

type Tls struct {
	// The path to the file holding additional CA certificates to well known
	// public certs.
	CaCertificates string `protobuf:"bytes,1,opt,name=ca_certificates,json=caCertificates,proto3" json:"ca_certificates,omitempty"`
	// Specifies how to get access token for client authn and authz.
	//
	// Types that are valid to be assigned to TokenSource:
	//	*Tls_TokenPath
	//	*Tls_Oauth
	TokenSource isTls_TokenSource `protobuf_oneof:"token_source"`
	// Specifies how to pass access token to the adapter backend.
	//
	// Types that are valid to be assigned to TokenType:
	//	*Tls_AuthHeader_
	//	*Tls_CustomHeader
	TokenType isTls_TokenType `protobuf_oneof:"token_type"`
	// Used to configure mixer TLS client to verify the hostname on the returned
	// certificates. It is also included in the client's handshake to support SNI.
	ServerName string `protobuf:"bytes,6,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"`
}

Tls let operator specify client authentication setting when TLS is used for connection to the backend.

func (*Tls) DeepCopy

func (in *Tls) DeepCopy() *Tls

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

func (*Tls) DeepCopyInto

func (in *Tls) DeepCopyInto(out *Tls)

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

func (*Tls) Descriptor

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

func (*Tls) Equal

func (this *Tls) Equal(that interface{}) bool

func (*Tls) GetAuthHeader

func (m *Tls) GetAuthHeader() Tls_AuthHeader

func (*Tls) GetCaCertificates

func (m *Tls) GetCaCertificates() string

func (*Tls) GetCustomHeader

func (m *Tls) GetCustomHeader() string

func (*Tls) GetOauth

func (m *Tls) GetOauth() *OAuth

func (*Tls) GetServerName

func (m *Tls) GetServerName() string

func (*Tls) GetTokenPath

func (m *Tls) GetTokenPath() string

func (*Tls) GetTokenSource

func (m *Tls) GetTokenSource() isTls_TokenSource

func (*Tls) GetTokenType

func (m *Tls) GetTokenType() isTls_TokenType

func (*Tls) GoString

func (this *Tls) GoString() string

func (*Tls) Marshal

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

func (*Tls) MarshalJSON

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

MarshalJSON is a custom marshaler for Tls

func (*Tls) MarshalTo

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

func (*Tls) MarshalToSizedBuffer

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

func (*Tls) ProtoMessage

func (*Tls) ProtoMessage()

func (*Tls) Reset

func (m *Tls) Reset()

func (*Tls) Size

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

func (*Tls) String

func (this *Tls) String() string

func (*Tls) Unmarshal

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

func (*Tls) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for Tls

func (*Tls) XXX_DiscardUnknown

func (m *Tls) XXX_DiscardUnknown()

func (*Tls) XXX_Marshal

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

func (*Tls) XXX_Merge

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

func (*Tls) XXX_OneofWrappers

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

XXX_OneofWrappers is for the internal use of the proto package.

func (*Tls) XXX_Size

func (m *Tls) XXX_Size() int

func (*Tls) XXX_Unmarshal

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

type Tls_AuthHeader

type Tls_AuthHeader int32

AuthHeader specifies how to pass access token with authorization header.

const (
	// Access token is passed in authorization header as what it is
	// (authorization: some-token).
	PLAIN Tls_AuthHeader = 0
	// Access token is passed to adapter as bearer token (i.e. authorization:
	// bearer some-token).
	BEARER Tls_AuthHeader = 1
)

func (Tls_AuthHeader) EnumDescriptor

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

func (Tls_AuthHeader) String

func (x Tls_AuthHeader) String() string

type Tls_AuthHeader_

type Tls_AuthHeader_ struct {
	AuthHeader Tls_AuthHeader `protobuf:"varint,4,opt,name=auth_header,json=authHeader,proto3,enum=istio.policy.v1beta1.Tls_AuthHeader,oneof"`
}

func (*Tls_AuthHeader_) Equal

func (this *Tls_AuthHeader_) Equal(that interface{}) bool

func (*Tls_AuthHeader_) GoString

func (this *Tls_AuthHeader_) GoString() string

func (*Tls_AuthHeader_) MarshalTo

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

func (*Tls_AuthHeader_) MarshalToSizedBuffer

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

func (*Tls_AuthHeader_) Size

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

func (*Tls_AuthHeader_) String

func (this *Tls_AuthHeader_) String() string

type Tls_CustomHeader

type Tls_CustomHeader struct {
	CustomHeader string `protobuf:"bytes,5,opt,name=custom_header,json=customHeader,proto3,oneof"`
}

func (*Tls_CustomHeader) Equal

func (this *Tls_CustomHeader) Equal(that interface{}) bool

func (*Tls_CustomHeader) GoString

func (this *Tls_CustomHeader) GoString() string

func (*Tls_CustomHeader) MarshalTo

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

func (*Tls_CustomHeader) MarshalToSizedBuffer

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

func (*Tls_CustomHeader) Size

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

func (*Tls_CustomHeader) String

func (this *Tls_CustomHeader) String() string

type Tls_Oauth

type Tls_Oauth struct {
	Oauth *OAuth `protobuf:"bytes,3,opt,name=oauth,proto3,oneof"`
}

func (*Tls_Oauth) Equal

func (this *Tls_Oauth) Equal(that interface{}) bool

func (*Tls_Oauth) GoString

func (this *Tls_Oauth) GoString() string

func (*Tls_Oauth) MarshalTo

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

func (*Tls_Oauth) MarshalToSizedBuffer

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

func (*Tls_Oauth) Size

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

func (*Tls_Oauth) String

func (this *Tls_Oauth) String() string

type Tls_TokenPath

type Tls_TokenPath struct {
	TokenPath string `protobuf:"bytes,2,opt,name=token_path,json=tokenPath,proto3,oneof"`
}

func (*Tls_TokenPath) Equal

func (this *Tls_TokenPath) Equal(that interface{}) bool

func (*Tls_TokenPath) GoString

func (this *Tls_TokenPath) GoString() string

func (*Tls_TokenPath) MarshalTo

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

func (*Tls_TokenPath) MarshalToSizedBuffer

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

func (*Tls_TokenPath) Size

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

func (*Tls_TokenPath) String

func (this *Tls_TokenPath) String() string

type Uri

type Uri struct {
	// Uri encoded as string.
	Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
}

DO NOT USE !! Under Development An instance field of type Uri denotes that the expression for the field must evaluate to [ValueType.URI][istio.policy.v1beta1.ValueType.URI]

Objects of type Uri are also passed to the adapters during request-time for the instance fields of type Uri

func (*Uri) DeepCopy

func (in *Uri) DeepCopy() *Uri

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

func (*Uri) DeepCopyInto

func (in *Uri) DeepCopyInto(out *Uri)

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

func (*Uri) Descriptor

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

func (*Uri) Equal

func (this *Uri) Equal(that interface{}) bool

func (*Uri) GetValue

func (m *Uri) GetValue() string

func (*Uri) GoString

func (this *Uri) GoString() string

func (*Uri) Marshal

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

func (*Uri) MarshalJSON

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

MarshalJSON is a custom marshaler for Uri

func (*Uri) MarshalTo

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

func (*Uri) MarshalToSizedBuffer

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

func (*Uri) ProtoMessage

func (*Uri) ProtoMessage()

func (*Uri) Reset

func (m *Uri) Reset()

func (*Uri) Size

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

func (*Uri) String

func (this *Uri) String() string

func (*Uri) Unmarshal

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

func (*Uri) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for Uri

func (*Uri) XXX_DiscardUnknown

func (m *Uri) XXX_DiscardUnknown()

func (*Uri) XXX_Marshal

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

func (*Uri) XXX_Merge

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

func (*Uri) XXX_Size

func (m *Uri) XXX_Size() int

func (*Uri) XXX_Unmarshal

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

type Value

type Value struct {
	// Types that are valid to be assigned to Value:
	//	*Value_StringValue
	//	*Value_Int64Value
	//	*Value_DoubleValue
	//	*Value_BoolValue
	//	*Value_IpAddressValue
	//	*Value_TimestampValue
	//	*Value_DurationValue
	//	*Value_EmailAddressValue
	//	*Value_DnsNameValue
	//	*Value_UriValue
	//	*Value_StringMapValue
	Value isValue_Value `protobuf_oneof:"value"`
}

An instance field of type Value denotes that the expression for the field is of dynamic type and can evaluate to any ValueType[istio.policy.v1beta1.ValueType] enum values. For example, when authoring an instance configuration for a template that has a field `data` of type `istio.policy.v1beta1.Value`, both of the following expressions are valid `data: source.ip | ip("0.0.0.0")`, `data: request.id | ""`; the resulting type is either ValueType.IP_ADDRESS or ValueType.STRING for the two cases respectively.

Objects of type Value are also passed to the adapters during request-time. There is a 1:1 mapping between oneof fields in `Value` and enum values inside `ValueType`. Depending on the expression's evaluated `ValueType`, the equivalent oneof field in `Value` is populated by Mixer and passed to the adapters.

func (*Value) DeepCopy

func (in *Value) DeepCopy() *Value

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

func (*Value) DeepCopyInto

func (in *Value) DeepCopyInto(out *Value)

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

func (*Value) Descriptor

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

func (*Value) Equal

func (this *Value) Equal(that interface{}) bool

func (*Value) GetBoolValue

func (m *Value) GetBoolValue() bool

func (*Value) GetDnsNameValue

func (m *Value) GetDnsNameValue() *DNSName

func (*Value) GetDoubleValue

func (m *Value) GetDoubleValue() float64

func (*Value) GetDurationValue

func (m *Value) GetDurationValue() *Duration

func (*Value) GetEmailAddressValue

func (m *Value) GetEmailAddressValue() *EmailAddress

func (*Value) GetInt64Value

func (m *Value) GetInt64Value() int64

func (*Value) GetIpAddressValue

func (m *Value) GetIpAddressValue() *IPAddress

func (*Value) GetStringMapValue

func (m *Value) GetStringMapValue() *StringMap

func (*Value) GetStringValue

func (m *Value) GetStringValue() string

func (*Value) GetTimestampValue

func (m *Value) GetTimestampValue() *TimeStamp

func (*Value) GetUriValue

func (m *Value) GetUriValue() *Uri

func (*Value) GetValue

func (m *Value) GetValue() isValue_Value

func (*Value) GoString

func (this *Value) GoString() string

func (*Value) Marshal

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

func (*Value) MarshalJSON

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

MarshalJSON is a custom marshaler for Value

func (*Value) MarshalTo

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

func (*Value) MarshalToSizedBuffer

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

func (*Value) ProtoMessage

func (*Value) ProtoMessage()

func (*Value) Reset

func (m *Value) Reset()

func (*Value) Size

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

func (*Value) String

func (this *Value) String() string

func (*Value) Unmarshal

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

func (*Value) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for Value

func (*Value) XXX_DiscardUnknown

func (m *Value) XXX_DiscardUnknown()

func (*Value) XXX_Marshal

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

func (*Value) XXX_Merge

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

func (*Value) XXX_OneofWrappers

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

XXX_OneofWrappers is for the internal use of the proto package.

func (*Value) XXX_Size

func (m *Value) XXX_Size() int

func (*Value) XXX_Unmarshal

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

type ValueType

type ValueType int32

ValueType describes the types that values in the Istio system can take. These are used to describe the type of Attributes at run time, describe the type of the result of evaluating an expression, and to describe the runtime type of fields of other descriptors.

const (
	// Invalid, default value.
	VALUE_TYPE_UNSPECIFIED ValueType = 0
	// An undiscriminated variable-length string.
	STRING ValueType = 1
	// An undiscriminated 64-bit signed integer.
	INT64 ValueType = 2
	// An undiscriminated 64-bit floating-point value.
	DOUBLE ValueType = 3
	// An undiscriminated boolean value.
	BOOL ValueType = 4
	// A point in time.
	TIMESTAMP ValueType = 5
	// An IP address.
	IP_ADDRESS ValueType = 6
	// An email address.
	EMAIL_ADDRESS ValueType = 7
	// A URI.
	URI ValueType = 8
	// A DNS name.
	DNS_NAME ValueType = 9
	// A span between two points in time.
	DURATION ValueType = 10
	// A map string -> string, typically used by headers.
	STRING_MAP ValueType = 11
)

func (ValueType) EnumDescriptor

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

func (ValueType) String

func (x ValueType) String() string

type Value_BoolValue

type Value_BoolValue struct {
	BoolValue bool `protobuf:"varint,4,opt,name=bool_value,json=boolValue,proto3,oneof"`
}

func (*Value_BoolValue) Equal

func (this *Value_BoolValue) Equal(that interface{}) bool

func (*Value_BoolValue) GoString

func (this *Value_BoolValue) GoString() string

func (*Value_BoolValue) MarshalTo

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

func (*Value_BoolValue) MarshalToSizedBuffer

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

func (*Value_BoolValue) Size

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

func (*Value_BoolValue) String

func (this *Value_BoolValue) String() string

type Value_DnsNameValue

type Value_DnsNameValue struct {
	DnsNameValue *DNSName `protobuf:"bytes,9,opt,name=dns_name_value,json=dnsNameValue,proto3,oneof"`
}

func (*Value_DnsNameValue) Equal

func (this *Value_DnsNameValue) Equal(that interface{}) bool

func (*Value_DnsNameValue) GoString

func (this *Value_DnsNameValue) GoString() string

func (*Value_DnsNameValue) MarshalTo

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

func (*Value_DnsNameValue) MarshalToSizedBuffer

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

func (*Value_DnsNameValue) Size

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

func (*Value_DnsNameValue) String

func (this *Value_DnsNameValue) String() string

type Value_DoubleValue

type Value_DoubleValue struct {
	DoubleValue float64 `protobuf:"fixed64,3,opt,name=double_value,json=doubleValue,proto3,oneof"`
}

func (*Value_DoubleValue) Equal

func (this *Value_DoubleValue) Equal(that interface{}) bool

func (*Value_DoubleValue) GoString

func (this *Value_DoubleValue) GoString() string

func (*Value_DoubleValue) MarshalTo

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

func (*Value_DoubleValue) MarshalToSizedBuffer

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

func (*Value_DoubleValue) Size

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

func (*Value_DoubleValue) String

func (this *Value_DoubleValue) String() string

type Value_DurationValue

type Value_DurationValue struct {
	DurationValue *Duration `protobuf:"bytes,7,opt,name=duration_value,json=durationValue,proto3,oneof"`
}

func (*Value_DurationValue) Equal

func (this *Value_DurationValue) Equal(that interface{}) bool

func (*Value_DurationValue) GoString

func (this *Value_DurationValue) GoString() string

func (*Value_DurationValue) MarshalTo

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

func (*Value_DurationValue) MarshalToSizedBuffer

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

func (*Value_DurationValue) Size

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

func (*Value_DurationValue) String

func (this *Value_DurationValue) String() string

type Value_EmailAddressValue

type Value_EmailAddressValue struct {
	EmailAddressValue *EmailAddress `protobuf:"bytes,8,opt,name=email_address_value,json=emailAddressValue,proto3,oneof"`
}

func (*Value_EmailAddressValue) Equal

func (this *Value_EmailAddressValue) Equal(that interface{}) bool

func (*Value_EmailAddressValue) GoString

func (this *Value_EmailAddressValue) GoString() string

func (*Value_EmailAddressValue) MarshalTo

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

func (*Value_EmailAddressValue) MarshalToSizedBuffer

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

func (*Value_EmailAddressValue) Size

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

func (*Value_EmailAddressValue) String

func (this *Value_EmailAddressValue) String() string

type Value_Int64Value

type Value_Int64Value struct {
	Int64Value int64 `protobuf:"varint,2,opt,name=int64_value,json=int64Value,proto3,oneof"`
}

func (*Value_Int64Value) Equal

func (this *Value_Int64Value) Equal(that interface{}) bool

func (*Value_Int64Value) GoString

func (this *Value_Int64Value) GoString() string

func (*Value_Int64Value) MarshalTo

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

func (*Value_Int64Value) MarshalToSizedBuffer

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

func (*Value_Int64Value) Size

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

func (*Value_Int64Value) String

func (this *Value_Int64Value) String() string

type Value_IpAddressValue

type Value_IpAddressValue struct {
	IpAddressValue *IPAddress `protobuf:"bytes,5,opt,name=ip_address_value,json=ipAddressValue,proto3,oneof"`
}

func (*Value_IpAddressValue) Equal

func (this *Value_IpAddressValue) Equal(that interface{}) bool

func (*Value_IpAddressValue) GoString

func (this *Value_IpAddressValue) GoString() string

func (*Value_IpAddressValue) MarshalTo

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

func (*Value_IpAddressValue) MarshalToSizedBuffer

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

func (*Value_IpAddressValue) Size

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

func (*Value_IpAddressValue) String

func (this *Value_IpAddressValue) String() string

type Value_StringMapValue

type Value_StringMapValue struct {
	StringMapValue *StringMap `protobuf:"bytes,11,opt,name=string_map_value,json=stringMapValue,proto3,oneof"`
}

func (*Value_StringMapValue) Equal

func (this *Value_StringMapValue) Equal(that interface{}) bool

func (*Value_StringMapValue) GoString

func (this *Value_StringMapValue) GoString() string

func (*Value_StringMapValue) MarshalTo

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

func (*Value_StringMapValue) MarshalToSizedBuffer

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

func (*Value_StringMapValue) Size

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

func (*Value_StringMapValue) String

func (this *Value_StringMapValue) String() string

type Value_StringValue

type Value_StringValue struct {
	StringValue string `protobuf:"bytes,1,opt,name=string_value,json=stringValue,proto3,oneof"`
}

func (*Value_StringValue) Equal

func (this *Value_StringValue) Equal(that interface{}) bool

func (*Value_StringValue) GoString

func (this *Value_StringValue) GoString() string

func (*Value_StringValue) MarshalTo

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

func (*Value_StringValue) MarshalToSizedBuffer

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

func (*Value_StringValue) Size

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

func (*Value_StringValue) String

func (this *Value_StringValue) String() string

type Value_TimestampValue

type Value_TimestampValue struct {
	TimestampValue *TimeStamp `protobuf:"bytes,6,opt,name=timestamp_value,json=timestampValue,proto3,oneof"`
}

func (*Value_TimestampValue) Equal

func (this *Value_TimestampValue) Equal(that interface{}) bool

func (*Value_TimestampValue) GoString

func (this *Value_TimestampValue) GoString() string

func (*Value_TimestampValue) MarshalTo

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

func (*Value_TimestampValue) MarshalToSizedBuffer

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

func (*Value_TimestampValue) Size

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

func (*Value_TimestampValue) String

func (this *Value_TimestampValue) String() string

type Value_UriValue

type Value_UriValue struct {
	UriValue *Uri `protobuf:"bytes,10,opt,name=uri_value,json=uriValue,proto3,oneof"`
}

func (*Value_UriValue) Equal

func (this *Value_UriValue) Equal(that interface{}) bool

func (*Value_UriValue) GoString

func (this *Value_UriValue) GoString() string

func (*Value_UriValue) MarshalTo

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

func (*Value_UriValue) MarshalToSizedBuffer

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

func (*Value_UriValue) Size

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

func (*Value_UriValue) String

func (this *Value_UriValue) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL