api: istio.io/api/policy/v1beta1 Index | Files

package v1beta1

import "istio.io/api/policy/v1beta1"

Index

Package Files

cfg.pb.go cfg_deepcopy.gen.go cfg_json.gen.go http_response.pb.go http_response_json.gen.go type.pb.go type_json.gen.go value_type.pb.go

Variables

var (
    ErrInvalidLengthCfg = fmt.Errorf("proto: negative length found during unmarshaling")
    ErrIntOverflowCfg   = fmt.Errorf("proto: integer overflow")
)
var (
    CfgMarshaler   = &github_com_gogo_protobuf_jsonpb.Marshaler{}
    CfgUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{}
)
var (
    ErrInvalidLengthHttpResponse = fmt.Errorf("proto: negative length found during unmarshaling")
    ErrIntOverflowHttpResponse   = fmt.Errorf("proto: integer overflow")
)
var (
    HttpResponseMarshaler   = &github_com_gogo_protobuf_jsonpb.Marshaler{}
    HttpResponseUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{}
)
var (
    ErrInvalidLengthType = fmt.Errorf("proto: negative length found during unmarshaling")
    ErrIntOverflowType   = fmt.Errorf("proto: integer overflow")
)
var (
    TypeMarshaler   = &github_com_gogo_protobuf_jsonpb.Marshaler{}
    TypeUnmarshaler = &github_com_gogo_protobuf_jsonpb.Unmarshaler{}
)
var FractionalPercent_DenominatorType_name = map[int32]string{
    0:  "HUNDRED",
    1:  "TEN_THOUSAND",
}
var FractionalPercent_DenominatorType_value = map[string]int32{
    "HUNDRED":      0,
    "TEN_THOUSAND": 1,
}
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",
}
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,
}
var Rule_HeaderOperationTemplate_Operation_name = map[int32]string{
    0:  "REPLACE",
    1:  "REMOVE",
    2:  "APPEND",
}
var Rule_HeaderOperationTemplate_Operation_value = map[string]int32{
    "REPLACE": 0,
    "REMOVE":  1,
    "APPEND":  2,
}
var Tls_AuthHeader_name = map[int32]string{
    0:  "PLAIN",
    1:  "BEARER",
}
var Tls_AuthHeader_value = map[string]int32{
    "PLAIN":  0,
    "BEARER": 1,
}
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",
}
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,
}

type Action Uses

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

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

func (*Action) Equal Uses

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

func (*Action) GetHandler Uses

func (m *Action) GetHandler() string

func (*Action) GetInstances Uses

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

func (*Action) GetName Uses

func (m *Action) GetName() string

func (*Action) GoString Uses

func (this *Action) GoString() string

func (*Action) Marshal Uses

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

func (*Action) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for Action

func (*Action) MarshalTo Uses

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

func (*Action) MarshalToSizedBuffer Uses

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

func (*Action) ProtoMessage Uses

func (*Action) ProtoMessage()

func (*Action) Reset Uses

func (m *Action) Reset()

func (*Action) Size Uses

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

func (*Action) String Uses

func (this *Action) String() string

func (*Action) Unmarshal Uses

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

func (*Action) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for Action

func (*Action) XXX_DiscardUnknown Uses

func (m *Action) XXX_DiscardUnknown()

func (*Action) XXX_Marshal Uses

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

func (*Action) XXX_Merge Uses

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

func (*Action) XXX_Size Uses

func (m *Action) XXX_Size() int

func (*Action) XXX_Unmarshal Uses

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

type AttributeManifest Uses

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 `protobuf:"bytes,3,rep,name=attributes,proto3" json:"attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

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

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

func (*AttributeManifest) DeepCopyInto Uses

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

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

func (*AttributeManifest) Descriptor Uses

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

func (*AttributeManifest) Equal Uses

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

func (*AttributeManifest) GetAttributes Uses

func (m *AttributeManifest) GetAttributes() map[string]*AttributeManifest_AttributeInfo

func (*AttributeManifest) GetName Uses

func (m *AttributeManifest) GetName() string

func (*AttributeManifest) GetRevision Uses

func (m *AttributeManifest) GetRevision() string

func (*AttributeManifest) GoString Uses

func (this *AttributeManifest) GoString() string

func (*AttributeManifest) Marshal Uses

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

func (*AttributeManifest) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for AttributeManifest

func (*AttributeManifest) MarshalTo Uses

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

func (*AttributeManifest) MarshalToSizedBuffer Uses

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

func (*AttributeManifest) ProtoMessage Uses

func (*AttributeManifest) ProtoMessage()

func (*AttributeManifest) Reset Uses

func (m *AttributeManifest) Reset()

func (*AttributeManifest) Size Uses

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

func (*AttributeManifest) String Uses

func (this *AttributeManifest) String() string

func (*AttributeManifest) Unmarshal Uses

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

func (*AttributeManifest) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for AttributeManifest

func (*AttributeManifest) XXX_DiscardUnknown Uses

func (m *AttributeManifest) XXX_DiscardUnknown()

func (*AttributeManifest) XXX_Marshal Uses

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

func (*AttributeManifest) XXX_Merge Uses

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

func (*AttributeManifest) XXX_Size Uses

func (m *AttributeManifest) XXX_Size() int

func (*AttributeManifest) XXX_Unmarshal Uses

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

type AttributeManifest_AttributeInfo Uses

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

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

func (*AttributeManifest_AttributeInfo) Equal Uses

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

func (*AttributeManifest_AttributeInfo) GetDescription Uses

func (m *AttributeManifest_AttributeInfo) GetDescription() string

func (*AttributeManifest_AttributeInfo) GetValueType Uses

func (m *AttributeManifest_AttributeInfo) GetValueType() ValueType

func (*AttributeManifest_AttributeInfo) GoString Uses

func (this *AttributeManifest_AttributeInfo) GoString() string

func (*AttributeManifest_AttributeInfo) Marshal Uses

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

func (*AttributeManifest_AttributeInfo) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for AttributeManifest_AttributeInfo

func (*AttributeManifest_AttributeInfo) MarshalTo Uses

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

func (*AttributeManifest_AttributeInfo) MarshalToSizedBuffer Uses

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

func (*AttributeManifest_AttributeInfo) ProtoMessage Uses

func (*AttributeManifest_AttributeInfo) ProtoMessage()

func (*AttributeManifest_AttributeInfo) Reset Uses

func (m *AttributeManifest_AttributeInfo) Reset()

func (*AttributeManifest_AttributeInfo) Size Uses

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

func (*AttributeManifest_AttributeInfo) String Uses

func (this *AttributeManifest_AttributeInfo) String() string

func (*AttributeManifest_AttributeInfo) Unmarshal Uses

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

func (*AttributeManifest_AttributeInfo) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for AttributeManifest_AttributeInfo

func (*AttributeManifest_AttributeInfo) XXX_DiscardUnknown Uses

func (m *AttributeManifest_AttributeInfo) XXX_DiscardUnknown()

func (*AttributeManifest_AttributeInfo) XXX_Marshal Uses

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

func (*AttributeManifest_AttributeInfo) XXX_Merge Uses

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

func (*AttributeManifest_AttributeInfo) XXX_Size Uses

func (m *AttributeManifest_AttributeInfo) XXX_Size() int

func (*AttributeManifest_AttributeInfo) XXX_Unmarshal Uses

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

type Authentication Uses

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

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

func (*Authentication) Equal Uses

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

func (*Authentication) GetAuthType Uses

func (m *Authentication) GetAuthType() isAuthentication_AuthType

func (*Authentication) GetMutual Uses

func (m *Authentication) GetMutual() *Mutual

func (*Authentication) GetTls Uses

func (m *Authentication) GetTls() *Tls

func (*Authentication) GoString Uses

func (this *Authentication) GoString() string

func (*Authentication) Marshal Uses

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

func (*Authentication) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for Authentication

func (*Authentication) MarshalTo Uses

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

func (*Authentication) MarshalToSizedBuffer Uses

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

func (*Authentication) ProtoMessage Uses

func (*Authentication) ProtoMessage()

func (*Authentication) Reset Uses

func (m *Authentication) Reset()

func (*Authentication) Size Uses

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

func (*Authentication) String Uses

func (this *Authentication) String() string

func (*Authentication) Unmarshal Uses

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

func (*Authentication) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for Authentication

func (*Authentication) XXX_DiscardUnknown Uses

func (m *Authentication) XXX_DiscardUnknown()

func (*Authentication) XXX_Marshal Uses

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

func (*Authentication) XXX_Merge Uses

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

func (*Authentication) XXX_OneofWrappers Uses

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

XXX_OneofWrappers is for the internal use of the proto package.

func (*Authentication) XXX_Size Uses

func (m *Authentication) XXX_Size() int

func (*Authentication) XXX_Unmarshal Uses

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

type Authentication_Mutual Uses

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

func (*Authentication_Mutual) Equal Uses

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

func (*Authentication_Mutual) GoString Uses

func (this *Authentication_Mutual) GoString() string

func (*Authentication_Mutual) MarshalTo Uses

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

func (*Authentication_Mutual) MarshalToSizedBuffer Uses

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

func (*Authentication_Mutual) Size Uses

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

func (*Authentication_Mutual) String Uses

func (this *Authentication_Mutual) String() string

type Authentication_Tls Uses

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

func (*Authentication_Tls) Equal Uses

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

func (*Authentication_Tls) GoString Uses

func (this *Authentication_Tls) GoString() string

func (*Authentication_Tls) MarshalTo Uses

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

func (*Authentication_Tls) MarshalToSizedBuffer Uses

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

func (*Authentication_Tls) Size Uses

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

func (*Authentication_Tls) String Uses

func (this *Authentication_Tls) String() string

type Connection Uses

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

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

func (*Connection) Equal Uses

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

func (*Connection) GetAddress Uses

func (m *Connection) GetAddress() string

func (*Connection) GetAuthentication Uses

func (m *Connection) GetAuthentication() *Authentication

func (*Connection) GetTimeout Uses

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

func (*Connection) GoString Uses

func (this *Connection) GoString() string

func (*Connection) Marshal Uses

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

func (*Connection) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for Connection

func (*Connection) MarshalTo Uses

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

func (*Connection) MarshalToSizedBuffer Uses

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

func (*Connection) ProtoMessage Uses

func (*Connection) ProtoMessage()

func (*Connection) Reset Uses

func (m *Connection) Reset()

func (*Connection) Size Uses

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

func (*Connection) String Uses

func (this *Connection) String() string

func (*Connection) Unmarshal Uses

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

func (*Connection) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for Connection

func (*Connection) XXX_DiscardUnknown Uses

func (m *Connection) XXX_DiscardUnknown()

func (*Connection) XXX_Marshal Uses

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

func (*Connection) XXX_Merge Uses

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

func (*Connection) XXX_Size Uses

func (m *Connection) XXX_Size() int

func (*Connection) XXX_Unmarshal Uses

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

type DNSName Uses

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

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

func (*DNSName) Equal Uses

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

func (*DNSName) GetValue Uses

func (m *DNSName) GetValue() string

func (*DNSName) GoString Uses

func (this *DNSName) GoString() string

func (*DNSName) Marshal Uses

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

func (*DNSName) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for DNSName

func (*DNSName) MarshalTo Uses

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

func (*DNSName) MarshalToSizedBuffer Uses

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

func (*DNSName) ProtoMessage Uses

func (*DNSName) ProtoMessage()

func (*DNSName) Reset Uses

func (m *DNSName) Reset()

func (*DNSName) Size Uses

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

func (*DNSName) String Uses

func (this *DNSName) String() string

func (*DNSName) Unmarshal Uses

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

func (*DNSName) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for DNSName

func (*DNSName) XXX_DiscardUnknown Uses

func (m *DNSName) XXX_DiscardUnknown()

func (*DNSName) XXX_Marshal Uses

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

func (*DNSName) XXX_Merge Uses

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

func (*DNSName) XXX_Size Uses

func (m *DNSName) XXX_Size() int

func (*DNSName) XXX_Unmarshal Uses

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

type DirectHttpResponse Uses

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 `protobuf:"bytes,3,rep,name=headers,proto3" json:"headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

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

func (*DirectHttpResponse) Descriptor Uses

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

func (*DirectHttpResponse) Equal Uses

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

func (*DirectHttpResponse) GetBody Uses

func (m *DirectHttpResponse) GetBody() string

func (*DirectHttpResponse) GetCode Uses

func (m *DirectHttpResponse) GetCode() HttpStatusCode

func (*DirectHttpResponse) GetHeaders Uses

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

func (*DirectHttpResponse) GoString Uses

func (this *DirectHttpResponse) GoString() string

func (*DirectHttpResponse) Marshal Uses

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

func (*DirectHttpResponse) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for DirectHttpResponse

func (*DirectHttpResponse) MarshalTo Uses

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

func (*DirectHttpResponse) MarshalToSizedBuffer Uses

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

func (*DirectHttpResponse) ProtoMessage Uses

func (*DirectHttpResponse) ProtoMessage()

func (*DirectHttpResponse) Reset Uses

func (m *DirectHttpResponse) Reset()

func (*DirectHttpResponse) Size Uses

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

func (*DirectHttpResponse) String Uses

func (this *DirectHttpResponse) String() string

func (*DirectHttpResponse) Unmarshal Uses

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

func (*DirectHttpResponse) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for DirectHttpResponse

func (*DirectHttpResponse) XXX_DiscardUnknown Uses

func (m *DirectHttpResponse) XXX_DiscardUnknown()

func (*DirectHttpResponse) XXX_Marshal Uses

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

func (*DirectHttpResponse) XXX_Merge Uses

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

func (*DirectHttpResponse) XXX_Size Uses

func (m *DirectHttpResponse) XXX_Size() int

func (*DirectHttpResponse) XXX_Unmarshal Uses

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

type Duration Uses

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

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

func (*Duration) Equal Uses

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

func (*Duration) GetValue Uses

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

func (*Duration) GoString Uses

func (this *Duration) GoString() string

func (*Duration) Marshal Uses

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

func (*Duration) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for Duration

func (*Duration) MarshalTo Uses

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

func (*Duration) MarshalToSizedBuffer Uses

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

func (*Duration) ProtoMessage Uses

func (*Duration) ProtoMessage()

func (*Duration) Reset Uses

func (m *Duration) Reset()

func (*Duration) Size Uses

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

func (*Duration) String Uses

func (this *Duration) String() string

func (*Duration) Unmarshal Uses

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

func (*Duration) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for Duration

func (*Duration) XXX_DiscardUnknown Uses

func (m *Duration) XXX_DiscardUnknown()

func (*Duration) XXX_Marshal Uses

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

func (*Duration) XXX_Merge Uses

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

func (*Duration) XXX_Size Uses

func (m *Duration) XXX_Size() int

func (*Duration) XXX_Unmarshal Uses

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

type EmailAddress Uses

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

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

func (*EmailAddress) Equal Uses

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

func (*EmailAddress) GetValue Uses

func (m *EmailAddress) GetValue() string

func (*EmailAddress) GoString Uses

func (this *EmailAddress) GoString() string

func (*EmailAddress) Marshal Uses

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

func (*EmailAddress) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for EmailAddress

func (*EmailAddress) MarshalTo Uses

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

func (*EmailAddress) MarshalToSizedBuffer Uses

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

func (*EmailAddress) ProtoMessage Uses

func (*EmailAddress) ProtoMessage()

func (*EmailAddress) Reset Uses

func (m *EmailAddress) Reset()

func (*EmailAddress) Size Uses

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

func (*EmailAddress) String Uses

func (this *EmailAddress) String() string

func (*EmailAddress) Unmarshal Uses

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

func (*EmailAddress) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for EmailAddress

func (*EmailAddress) XXX_DiscardUnknown Uses

func (m *EmailAddress) XXX_DiscardUnknown()

func (*EmailAddress) XXX_Marshal Uses

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

func (*EmailAddress) XXX_Merge Uses

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

func (*EmailAddress) XXX_Size Uses

func (m *EmailAddress) XXX_Size() int

func (*EmailAddress) XXX_Unmarshal Uses

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

type FractionalPercent Uses

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 `protobuf:"varint,2,opt,name=denominator,proto3,enum=istio.policy.v1beta1.FractionalPercent_DenominatorType" json:"denominator,omitempty"`
}

$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) Descriptor Uses

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

func (*FractionalPercent) Equal Uses

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

func (*FractionalPercent) GetDenominator Uses

func (m *FractionalPercent) GetDenominator() FractionalPercent_DenominatorType

func (*FractionalPercent) GetNumerator Uses

func (m *FractionalPercent) GetNumerator() uint32

func (*FractionalPercent) GoString Uses

func (this *FractionalPercent) GoString() string

func (*FractionalPercent) Marshal Uses

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

func (*FractionalPercent) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for FractionalPercent

func (*FractionalPercent) MarshalTo Uses

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

func (*FractionalPercent) MarshalToSizedBuffer Uses

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

func (*FractionalPercent) ProtoMessage Uses

func (*FractionalPercent) ProtoMessage()

func (*FractionalPercent) Reset Uses

func (m *FractionalPercent) Reset()

func (*FractionalPercent) Size Uses

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

func (*FractionalPercent) String Uses

func (this *FractionalPercent) String() string

func (*FractionalPercent) Unmarshal Uses

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

func (*FractionalPercent) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for FractionalPercent

func (*FractionalPercent) XXX_DiscardUnknown Uses

func (m *FractionalPercent) XXX_DiscardUnknown()

func (*FractionalPercent) XXX_Marshal Uses

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

func (*FractionalPercent) XXX_Merge Uses

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

func (*FractionalPercent) XXX_Size Uses

func (m *FractionalPercent) XXX_Size() int

func (*FractionalPercent) XXX_Unmarshal Uses

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

type FractionalPercent_DenominatorType Uses

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 Uses

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

func (FractionalPercent_DenominatorType) String Uses

func (x FractionalPercent_DenominatorType) String() string

type Handler Uses

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

--- “`

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

func (*Handler) DeepCopyInto Uses

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

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

func (*Handler) Descriptor Uses

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

func (*Handler) Equal Uses

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

func (*Handler) GetAdapter Uses

func (m *Handler) GetAdapter() string

func (*Handler) GetCompiledAdapter Uses

func (m *Handler) GetCompiledAdapter() string

func (*Handler) GetConnection Uses

func (m *Handler) GetConnection() *Connection

func (*Handler) GetName Uses

func (m *Handler) GetName() string

func (*Handler) GetParams Uses

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

func (*Handler) GoString Uses

func (this *Handler) GoString() string

func (*Handler) Marshal Uses

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

func (*Handler) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for Handler

func (*Handler) MarshalTo Uses

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

func (*Handler) MarshalToSizedBuffer Uses

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

func (*Handler) ProtoMessage Uses

func (*Handler) ProtoMessage()

func (*Handler) Reset Uses

func (m *Handler) Reset()

func (*Handler) Size Uses

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

func (*Handler) String Uses

func (this *Handler) String() string

func (*Handler) Unmarshal Uses

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

func (*Handler) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for Handler

func (*Handler) XXX_DiscardUnknown Uses

func (m *Handler) XXX_DiscardUnknown()

func (*Handler) XXX_Marshal Uses

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

func (*Handler) XXX_Merge Uses

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

func (*Handler) XXX_Size Uses

func (m *Handler) XXX_Size() int

func (*Handler) XXX_Unmarshal Uses

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

type HttpStatusCode Uses

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 Uses

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

func (HttpStatusCode) String Uses

func (x HttpStatusCode) String() string

type IPAddress Uses

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

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

func (*IPAddress) Equal Uses

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

func (*IPAddress) GetValue Uses

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

func (*IPAddress) GoString Uses

func (this *IPAddress) GoString() string

func (*IPAddress) Marshal Uses

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

func (*IPAddress) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for IPAddress

func (*IPAddress) MarshalTo Uses

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

func (*IPAddress) MarshalToSizedBuffer Uses

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

func (*IPAddress) ProtoMessage Uses

func (*IPAddress) ProtoMessage()

func (*IPAddress) Reset Uses

func (m *IPAddress) Reset()

func (*IPAddress) Size Uses

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

func (*IPAddress) String Uses

func (this *IPAddress) String() string

func (*IPAddress) Unmarshal Uses

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

func (*IPAddress) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for IPAddress

func (*IPAddress) XXX_DiscardUnknown Uses

func (m *IPAddress) XXX_DiscardUnknown()

func (*IPAddress) XXX_Marshal Uses

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

func (*IPAddress) XXX_Merge Uses

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

func (*IPAddress) XXX_Size Uses

func (m *IPAddress) XXX_Size() int

func (*IPAddress) XXX_Unmarshal Uses

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

type Instance Uses

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 `protobuf:"bytes,4,rep,name=attribute_bindings,json=attributeBindings,proto3" json:"attribute_bindings,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

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

“`

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

func (*Instance) DeepCopyInto Uses

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

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

func (*Instance) Descriptor Uses

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

func (*Instance) Equal Uses

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

func (*Instance) GetAttributeBindings Uses

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

func (*Instance) GetCompiledTemplate Uses

func (m *Instance) GetCompiledTemplate() string

func (*Instance) GetName Uses

func (m *Instance) GetName() string

func (*Instance) GetParams Uses

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

func (*Instance) GetTemplate Uses

func (m *Instance) GetTemplate() string

func (*Instance) GoString Uses

func (this *Instance) GoString() string

func (*Instance) Marshal Uses

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

func (*Instance) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for Instance

func (*Instance) MarshalTo Uses

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

func (*Instance) MarshalToSizedBuffer Uses

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

func (*Instance) ProtoMessage Uses

func (*Instance) ProtoMessage()

func (*Instance) Reset Uses

func (m *Instance) Reset()

func (*Instance) Size Uses

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

func (*Instance) String Uses

func (this *Instance) String() string

func (*Instance) Unmarshal Uses

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

func (*Instance) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for Instance

func (*Instance) XXX_DiscardUnknown Uses

func (m *Instance) XXX_DiscardUnknown()

func (*Instance) XXX_Marshal Uses

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

func (*Instance) XXX_Merge Uses

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

func (*Instance) XXX_Size Uses

func (m *Instance) XXX_Size() int

func (*Instance) XXX_Unmarshal Uses

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

type Mutual Uses

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

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

func (*Mutual) Equal Uses

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

func (*Mutual) GetCaCertificates Uses

func (m *Mutual) GetCaCertificates() string

func (*Mutual) GetClientCertificate Uses

func (m *Mutual) GetClientCertificate() string

func (*Mutual) GetPrivateKey Uses

func (m *Mutual) GetPrivateKey() string

func (*Mutual) GetServerName Uses

func (m *Mutual) GetServerName() string

func (*Mutual) GoString Uses

func (this *Mutual) GoString() string

func (*Mutual) Marshal Uses

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

func (*Mutual) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for Mutual

func (*Mutual) MarshalTo Uses

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

func (*Mutual) MarshalToSizedBuffer Uses

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

func (*Mutual) ProtoMessage Uses

func (*Mutual) ProtoMessage()

func (*Mutual) Reset Uses

func (m *Mutual) Reset()

func (*Mutual) Size Uses

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

func (*Mutual) String Uses

func (this *Mutual) String() string

func (*Mutual) Unmarshal Uses

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

func (*Mutual) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for Mutual

func (*Mutual) XXX_DiscardUnknown Uses

func (m *Mutual) XXX_DiscardUnknown()

func (*Mutual) XXX_Marshal Uses

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

func (*Mutual) XXX_Merge Uses

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

func (*Mutual) XXX_Size Uses

func (m *Mutual) XXX_Size() int

func (*Mutual) XXX_Unmarshal Uses

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

type OAuth Uses

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 `protobuf:"bytes,5,rep,name=endpoint_params,json=endpointParams,proto3" json:"endpoint_params,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

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

func (*OAuth) Descriptor Uses

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

func (*OAuth) Equal Uses

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

func (*OAuth) GetClientId Uses

func (m *OAuth) GetClientId() string

func (*OAuth) GetClientSecret Uses

func (m *OAuth) GetClientSecret() string

func (*OAuth) GetEndpointParams Uses

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

func (*OAuth) GetScopes Uses

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

func (*OAuth) GetTokenUrl Uses

func (m *OAuth) GetTokenUrl() string

func (*OAuth) GoString Uses

func (this *OAuth) GoString() string

func (*OAuth) Marshal Uses

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

func (*OAuth) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for OAuth

func (*OAuth) MarshalTo Uses

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

func (*OAuth) MarshalToSizedBuffer Uses

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

func (*OAuth) ProtoMessage Uses

func (*OAuth) ProtoMessage()

func (*OAuth) Reset Uses

func (m *OAuth) Reset()

func (*OAuth) Size Uses

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

func (*OAuth) String Uses

func (this *OAuth) String() string

func (*OAuth) Unmarshal Uses

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

func (*OAuth) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for OAuth

func (*OAuth) XXX_DiscardUnknown Uses

func (m *OAuth) XXX_DiscardUnknown()

func (*OAuth) XXX_Marshal Uses

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

func (*OAuth) XXX_Merge Uses

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

func (*OAuth) XXX_Size Uses

func (m *OAuth) XXX_Size() int

func (*OAuth) XXX_Unmarshal Uses

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

type RandomSampling Uses

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 `protobuf:"varint,3,opt,name=use_independent_randomness,json=useIndependentRandomness,proto3" json:"use_independent_randomness,omitempty"`
}

$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) Descriptor Uses

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

func (*RandomSampling) Equal Uses

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

func (*RandomSampling) GetAttributeExpression Uses

func (m *RandomSampling) GetAttributeExpression() string

func (*RandomSampling) GetPercentSampled Uses

func (m *RandomSampling) GetPercentSampled() *FractionalPercent

func (*RandomSampling) GetUseIndependentRandomness Uses

func (m *RandomSampling) GetUseIndependentRandomness() bool

func (*RandomSampling) GoString Uses

func (this *RandomSampling) GoString() string

func (*RandomSampling) Marshal Uses

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

func (*RandomSampling) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for RandomSampling

func (*RandomSampling) MarshalTo Uses

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

func (*RandomSampling) MarshalToSizedBuffer Uses

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

func (*RandomSampling) ProtoMessage Uses

func (*RandomSampling) ProtoMessage()

func (*RandomSampling) Reset Uses

func (m *RandomSampling) Reset()

func (*RandomSampling) Size Uses

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

func (*RandomSampling) String Uses

func (this *RandomSampling) String() string

func (*RandomSampling) Unmarshal Uses

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

func (*RandomSampling) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for RandomSampling

func (*RandomSampling) XXX_DiscardUnknown Uses

func (m *RandomSampling) XXX_DiscardUnknown()

func (*RandomSampling) XXX_Marshal Uses

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

func (*RandomSampling) XXX_Merge Uses

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

func (*RandomSampling) XXX_Size Uses

func (m *RandomSampling) XXX_Size() int

func (*RandomSampling) XXX_Unmarshal Uses

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

type RateLimitSampling Uses

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

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

func (*RateLimitSampling) Equal Uses

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

func (*RateLimitSampling) GetMaxUnsampledEntries Uses

func (m *RateLimitSampling) GetMaxUnsampledEntries() int64

func (*RateLimitSampling) GetSamplingDuration Uses

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

func (*RateLimitSampling) GetSamplingRate Uses

func (m *RateLimitSampling) GetSamplingRate() int64

func (*RateLimitSampling) GoString Uses

func (this *RateLimitSampling) GoString() string

func (*RateLimitSampling) Marshal Uses

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

func (*RateLimitSampling) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for RateLimitSampling

func (*RateLimitSampling) MarshalTo Uses

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

func (*RateLimitSampling) MarshalToSizedBuffer Uses

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

func (*RateLimitSampling) ProtoMessage Uses

func (*RateLimitSampling) ProtoMessage()

func (*RateLimitSampling) Reset Uses

func (m *RateLimitSampling) Reset()

func (*RateLimitSampling) Size Uses

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

func (*RateLimitSampling) String Uses

func (this *RateLimitSampling) String() string

func (*RateLimitSampling) Unmarshal Uses

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

func (*RateLimitSampling) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for RateLimitSampling

func (*RateLimitSampling) XXX_DiscardUnknown Uses

func (m *RateLimitSampling) XXX_DiscardUnknown()

func (*RateLimitSampling) XXX_Marshal Uses

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

func (*RateLimitSampling) XXX_Merge Uses

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

func (*RateLimitSampling) XXX_Size Uses

func (m *RateLimitSampling) XXX_Size() int

func (*RateLimitSampling) XXX_Unmarshal Uses

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

type Rule Uses

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 `protobuf:"bytes,3,rep,name=request_header_operations,json=requestHeaderOperations,proto3" json:"request_header_operations,omitempty"`
    // Templatized operations on the response headers using values produced by the
    // rule actions. Require the check action result to be OK.
    ResponseHeaderOperations []*Rule_HeaderOperationTemplate `protobuf:"bytes,4,rep,name=response_header_operations,json=responseHeaderOperations,proto3" json:"response_header_operations,omitempty"`
    // $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

“`

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

func (*Rule) DeepCopyInto Uses

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

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

func (*Rule) Descriptor Uses

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

func (*Rule) Equal Uses

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

func (*Rule) GetActions Uses

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

func (*Rule) GetMatch Uses

func (m *Rule) GetMatch() string

func (*Rule) GetRequestHeaderOperations Uses

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

func (*Rule) GetResponseHeaderOperations Uses

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

func (*Rule) GetSampling Uses

func (m *Rule) GetSampling() *Sampling

func (*Rule) GoString Uses

func (this *Rule) GoString() string

func (*Rule) Marshal Uses

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

func (*Rule) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for Rule

func (*Rule) MarshalTo Uses

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

func (*Rule) MarshalToSizedBuffer Uses

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

func (*Rule) ProtoMessage Uses

func (*Rule) ProtoMessage()

func (*Rule) Reset Uses

func (m *Rule) Reset()

func (*Rule) Size Uses

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

func (*Rule) String Uses

func (this *Rule) String() string

func (*Rule) Unmarshal Uses

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

func (*Rule) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for Rule

func (*Rule) XXX_DiscardUnknown Uses

func (m *Rule) XXX_DiscardUnknown()

func (*Rule) XXX_Marshal Uses

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

func (*Rule) XXX_Merge Uses

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

func (*Rule) XXX_Size Uses

func (m *Rule) XXX_Size() int

func (*Rule) XXX_Unmarshal Uses

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

type Rule_HeaderOperationTemplate Uses

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 `protobuf:"varint,3,opt,name=operation,proto3,enum=istio.policy.v1beta1.Rule_HeaderOperationTemplate_Operation" json:"operation,omitempty"`
}

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

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

func (*Rule_HeaderOperationTemplate) Equal Uses

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

func (*Rule_HeaderOperationTemplate) GetName Uses

func (m *Rule_HeaderOperationTemplate) GetName() string

func (*Rule_HeaderOperationTemplate) GetOperation Uses

func (m *Rule_HeaderOperationTemplate) GetOperation() Rule_HeaderOperationTemplate_Operation

func (*Rule_HeaderOperationTemplate) GetValues Uses

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

func (*Rule_HeaderOperationTemplate) GoString Uses

func (this *Rule_HeaderOperationTemplate) GoString() string

func (*Rule_HeaderOperationTemplate) Marshal Uses

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

func (*Rule_HeaderOperationTemplate) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for Rule_HeaderOperationTemplate

func (*Rule_HeaderOperationTemplate) MarshalTo Uses

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

func (*Rule_HeaderOperationTemplate) MarshalToSizedBuffer Uses

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

func (*Rule_HeaderOperationTemplate) ProtoMessage Uses

func (*Rule_HeaderOperationTemplate) ProtoMessage()

func (*Rule_HeaderOperationTemplate) Reset Uses

func (m *Rule_HeaderOperationTemplate) Reset()

func (*Rule_HeaderOperationTemplate) Size Uses

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

func (*Rule_HeaderOperationTemplate) String Uses

func (this *Rule_HeaderOperationTemplate) String() string

func (*Rule_HeaderOperationTemplate) Unmarshal Uses

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

func (*Rule_HeaderOperationTemplate) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for Rule_HeaderOperationTemplate

func (*Rule_HeaderOperationTemplate) XXX_DiscardUnknown Uses

func (m *Rule_HeaderOperationTemplate) XXX_DiscardUnknown()

func (*Rule_HeaderOperationTemplate) XXX_Marshal Uses

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

func (*Rule_HeaderOperationTemplate) XXX_Merge Uses

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

func (*Rule_HeaderOperationTemplate) XXX_Size Uses

func (m *Rule_HeaderOperationTemplate) XXX_Size() int

func (*Rule_HeaderOperationTemplate) XXX_Unmarshal Uses

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

type Rule_HeaderOperationTemplate_Operation Uses

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 Uses

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

func (Rule_HeaderOperationTemplate_Operation) String Uses

func (x Rule_HeaderOperationTemplate_Operation) String() string

type Sampling Uses

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

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

func (*Sampling) Equal Uses

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

func (*Sampling) GetRandom Uses

func (m *Sampling) GetRandom() *RandomSampling

func (*Sampling) GetRateLimit Uses

func (m *Sampling) GetRateLimit() *RateLimitSampling

func (*Sampling) GoString Uses

func (this *Sampling) GoString() string

func (*Sampling) Marshal Uses

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

func (*Sampling) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for Sampling

func (*Sampling) MarshalTo Uses

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

func (*Sampling) MarshalToSizedBuffer Uses

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

func (*Sampling) ProtoMessage Uses

func (*Sampling) ProtoMessage()

func (*Sampling) Reset Uses

func (m *Sampling) Reset()

func (*Sampling) Size Uses

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

func (*Sampling) String Uses

func (this *Sampling) String() string

func (*Sampling) Unmarshal Uses

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

func (*Sampling) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for Sampling

func (*Sampling) XXX_DiscardUnknown Uses

func (m *Sampling) XXX_DiscardUnknown()

func (*Sampling) XXX_Marshal Uses

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

func (*Sampling) XXX_Merge Uses

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

func (*Sampling) XXX_Size Uses

func (m *Sampling) XXX_Size() int

func (*Sampling) XXX_Unmarshal Uses

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

type StringMap Uses

type StringMap struct {
    // StringMap encoded as a map of strings
    Value map[string]string `protobuf:"bytes,1,rep,name=value,proto3" json:"value,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
}

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

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

func (*StringMap) Equal Uses

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

func (*StringMap) GetValue Uses

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

func (*StringMap) GoString Uses

func (this *StringMap) GoString() string

func (*StringMap) Marshal Uses

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

func (*StringMap) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for StringMap

func (*StringMap) MarshalTo Uses

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

func (*StringMap) MarshalToSizedBuffer Uses

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

func (*StringMap) ProtoMessage Uses

func (*StringMap) ProtoMessage()

func (*StringMap) Reset Uses

func (m *StringMap) Reset()

func (*StringMap) Size Uses

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

func (*StringMap) String Uses

func (this *StringMap) String() string

func (*StringMap) Unmarshal Uses

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

func (*StringMap) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for StringMap

func (*StringMap) XXX_DiscardUnknown Uses

func (m *StringMap) XXX_DiscardUnknown()

func (*StringMap) XXX_Marshal Uses

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

func (*StringMap) XXX_Merge Uses

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

func (*StringMap) XXX_Size Uses

func (m *StringMap) XXX_Size() int

func (*StringMap) XXX_Unmarshal Uses

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

type TimeStamp Uses

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

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

func (*TimeStamp) Equal Uses

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

func (*TimeStamp) GetValue Uses

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

func (*TimeStamp) GoString Uses

func (this *TimeStamp) GoString() string

func (*TimeStamp) Marshal Uses

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

func (*TimeStamp) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for TimeStamp

func (*TimeStamp) MarshalTo Uses

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

func (*TimeStamp) MarshalToSizedBuffer Uses

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

func (*TimeStamp) ProtoMessage Uses

func (*TimeStamp) ProtoMessage()

func (*TimeStamp) Reset Uses

func (m *TimeStamp) Reset()

func (*TimeStamp) Size Uses

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

func (*TimeStamp) String Uses

func (this *TimeStamp) String() string

func (*TimeStamp) Unmarshal Uses

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

func (*TimeStamp) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for TimeStamp

func (*TimeStamp) XXX_DiscardUnknown Uses

func (m *TimeStamp) XXX_DiscardUnknown()

func (*TimeStamp) XXX_Marshal Uses

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

func (*TimeStamp) XXX_Merge Uses

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

func (*TimeStamp) XXX_Size Uses

func (m *TimeStamp) XXX_Size() int

func (*TimeStamp) XXX_Unmarshal Uses

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

type Tls Uses

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

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

func (*Tls) Equal Uses

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

func (*Tls) GetAuthHeader Uses

func (m *Tls) GetAuthHeader() Tls_AuthHeader

func (*Tls) GetCaCertificates Uses

func (m *Tls) GetCaCertificates() string

func (*Tls) GetCustomHeader Uses

func (m *Tls) GetCustomHeader() string

func (*Tls) GetOauth Uses

func (m *Tls) GetOauth() *OAuth

func (*Tls) GetServerName Uses

func (m *Tls) GetServerName() string

func (*Tls) GetTokenPath Uses

func (m *Tls) GetTokenPath() string

func (*Tls) GetTokenSource Uses

func (m *Tls) GetTokenSource() isTls_TokenSource

func (*Tls) GetTokenType Uses

func (m *Tls) GetTokenType() isTls_TokenType

func (*Tls) GoString Uses

func (this *Tls) GoString() string

func (*Tls) Marshal Uses

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

func (*Tls) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for Tls

func (*Tls) MarshalTo Uses

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

func (*Tls) MarshalToSizedBuffer Uses

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

func (*Tls) ProtoMessage Uses

func (*Tls) ProtoMessage()

func (*Tls) Reset Uses

func (m *Tls) Reset()

func (*Tls) Size Uses

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

func (*Tls) String Uses

func (this *Tls) String() string

func (*Tls) Unmarshal Uses

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

func (*Tls) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for Tls

func (*Tls) XXX_DiscardUnknown Uses

func (m *Tls) XXX_DiscardUnknown()

func (*Tls) XXX_Marshal Uses

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

func (*Tls) XXX_Merge Uses

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

func (*Tls) XXX_OneofWrappers Uses

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

XXX_OneofWrappers is for the internal use of the proto package.

func (*Tls) XXX_Size Uses

func (m *Tls) XXX_Size() int

func (*Tls) XXX_Unmarshal Uses

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

type Tls_AuthHeader Uses

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 Uses

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

func (Tls_AuthHeader) String Uses

func (x Tls_AuthHeader) String() string

type Tls_AuthHeader_ Uses

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 Uses

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

func (*Tls_AuthHeader_) GoString Uses

func (this *Tls_AuthHeader_) GoString() string

func (*Tls_AuthHeader_) MarshalTo Uses

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

func (*Tls_AuthHeader_) MarshalToSizedBuffer Uses

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

func (*Tls_AuthHeader_) Size Uses

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

func (*Tls_AuthHeader_) String Uses

func (this *Tls_AuthHeader_) String() string

type Tls_CustomHeader Uses

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

func (*Tls_CustomHeader) Equal Uses

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

func (*Tls_CustomHeader) GoString Uses

func (this *Tls_CustomHeader) GoString() string

func (*Tls_CustomHeader) MarshalTo Uses

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

func (*Tls_CustomHeader) MarshalToSizedBuffer Uses

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

func (*Tls_CustomHeader) Size Uses

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

func (*Tls_CustomHeader) String Uses

func (this *Tls_CustomHeader) String() string

type Tls_Oauth Uses

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

func (*Tls_Oauth) Equal Uses

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

func (*Tls_Oauth) GoString Uses

func (this *Tls_Oauth) GoString() string

func (*Tls_Oauth) MarshalTo Uses

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

func (*Tls_Oauth) MarshalToSizedBuffer Uses

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

func (*Tls_Oauth) Size Uses

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

func (*Tls_Oauth) String Uses

func (this *Tls_Oauth) String() string

type Tls_TokenPath Uses

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

func (*Tls_TokenPath) Equal Uses

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

func (*Tls_TokenPath) GoString Uses

func (this *Tls_TokenPath) GoString() string

func (*Tls_TokenPath) MarshalTo Uses

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

func (*Tls_TokenPath) MarshalToSizedBuffer Uses

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

func (*Tls_TokenPath) Size Uses

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

func (*Tls_TokenPath) String Uses

func (this *Tls_TokenPath) String() string

type Uri Uses

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

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

func (*Uri) Equal Uses

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

func (*Uri) GetValue Uses

func (m *Uri) GetValue() string

func (*Uri) GoString Uses

func (this *Uri) GoString() string

func (*Uri) Marshal Uses

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

func (*Uri) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for Uri

func (*Uri) MarshalTo Uses

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

func (*Uri) MarshalToSizedBuffer Uses

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

func (*Uri) ProtoMessage Uses

func (*Uri) ProtoMessage()

func (*Uri) Reset Uses

func (m *Uri) Reset()

func (*Uri) Size Uses

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

func (*Uri) String Uses

func (this *Uri) String() string

func (*Uri) Unmarshal Uses

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

func (*Uri) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for Uri

func (*Uri) XXX_DiscardUnknown Uses

func (m *Uri) XXX_DiscardUnknown()

func (*Uri) XXX_Marshal Uses

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

func (*Uri) XXX_Merge Uses

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

func (*Uri) XXX_Size Uses

func (m *Uri) XXX_Size() int

func (*Uri) XXX_Unmarshal Uses

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

type Value Uses

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

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

func (*Value) Equal Uses

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

func (*Value) GetBoolValue Uses

func (m *Value) GetBoolValue() bool

func (*Value) GetDnsNameValue Uses

func (m *Value) GetDnsNameValue() *DNSName

func (*Value) GetDoubleValue Uses

func (m *Value) GetDoubleValue() float64

func (*Value) GetDurationValue Uses

func (m *Value) GetDurationValue() *Duration

func (*Value) GetEmailAddressValue Uses

func (m *Value) GetEmailAddressValue() *EmailAddress

func (*Value) GetInt64Value Uses

func (m *Value) GetInt64Value() int64

func (*Value) GetIpAddressValue Uses

func (m *Value) GetIpAddressValue() *IPAddress

func (*Value) GetStringMapValue Uses

func (m *Value) GetStringMapValue() *StringMap

func (*Value) GetStringValue Uses

func (m *Value) GetStringValue() string

func (*Value) GetTimestampValue Uses

func (m *Value) GetTimestampValue() *TimeStamp

func (*Value) GetUriValue Uses

func (m *Value) GetUriValue() *Uri

func (*Value) GetValue Uses

func (m *Value) GetValue() isValue_Value

func (*Value) GoString Uses

func (this *Value) GoString() string

func (*Value) Marshal Uses

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

func (*Value) MarshalJSON Uses

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

MarshalJSON is a custom marshaler for Value

func (*Value) MarshalTo Uses

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

func (*Value) MarshalToSizedBuffer Uses

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

func (*Value) ProtoMessage Uses

func (*Value) ProtoMessage()

func (*Value) Reset Uses

func (m *Value) Reset()

func (*Value) Size Uses

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

func (*Value) String Uses

func (this *Value) String() string

func (*Value) Unmarshal Uses

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

func (*Value) UnmarshalJSON Uses

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

UnmarshalJSON is a custom unmarshaler for Value

func (*Value) XXX_DiscardUnknown Uses

func (m *Value) XXX_DiscardUnknown()

func (*Value) XXX_Marshal Uses

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

func (*Value) XXX_Merge Uses

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

func (*Value) XXX_OneofWrappers Uses

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

XXX_OneofWrappers is for the internal use of the proto package.

func (*Value) XXX_Size Uses

func (m *Value) XXX_Size() int

func (*Value) XXX_Unmarshal Uses

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

type ValueType Uses

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 Uses

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

func (ValueType) String Uses

func (x ValueType) String() string

type Value_BoolValue Uses

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

func (*Value_BoolValue) Equal Uses

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

func (*Value_BoolValue) GoString Uses

func (this *Value_BoolValue) GoString() string

func (*Value_BoolValue) MarshalTo Uses

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

func (*Value_BoolValue) MarshalToSizedBuffer Uses

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

func (*Value_BoolValue) Size Uses

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

func (*Value_BoolValue) String Uses

func (this *Value_BoolValue) String() string

type Value_DnsNameValue Uses

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

func (*Value_DnsNameValue) Equal Uses

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

func (*Value_DnsNameValue) GoString Uses

func (this *Value_DnsNameValue) GoString() string

func (*Value_DnsNameValue) MarshalTo Uses

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

func (*Value_DnsNameValue) MarshalToSizedBuffer Uses

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

func (*Value_DnsNameValue) Size Uses

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

func (*Value_DnsNameValue) String Uses

func (this *Value_DnsNameValue) String() string

type Value_DoubleValue Uses

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

func (*Value_DoubleValue) Equal Uses

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

func (*Value_DoubleValue) GoString Uses

func (this *Value_DoubleValue) GoString() string

func (*Value_DoubleValue) MarshalTo Uses

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

func (*Value_DoubleValue) MarshalToSizedBuffer Uses

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

func (*Value_DoubleValue) Size Uses

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

func (*Value_DoubleValue) String Uses

func (this *Value_DoubleValue) String() string

type Value_DurationValue Uses

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

func (*Value_DurationValue) Equal Uses

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

func (*Value_DurationValue) GoString Uses

func (this *Value_DurationValue) GoString() string

func (*Value_DurationValue) MarshalTo Uses

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

func (*Value_DurationValue) MarshalToSizedBuffer Uses

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

func (*Value_DurationValue) Size Uses

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

func (*Value_DurationValue) String Uses

func (this *Value_DurationValue) String() string

type Value_EmailAddressValue Uses

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

func (*Value_EmailAddressValue) Equal Uses

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

func (*Value_EmailAddressValue) GoString Uses

func (this *Value_EmailAddressValue) GoString() string

func (*Value_EmailAddressValue) MarshalTo Uses

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

func (*Value_EmailAddressValue) MarshalToSizedBuffer Uses

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

func (*Value_EmailAddressValue) Size Uses

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

func (*Value_EmailAddressValue) String Uses

func (this *Value_EmailAddressValue) String() string

type Value_Int64Value Uses

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

func (*Value_Int64Value) Equal Uses

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

func (*Value_Int64Value) GoString Uses

func (this *Value_Int64Value) GoString() string

func (*Value_Int64Value) MarshalTo Uses

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

func (*Value_Int64Value) MarshalToSizedBuffer Uses

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

func (*Value_Int64Value) Size Uses

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

func (*Value_Int64Value) String Uses

func (this *Value_Int64Value) String() string

type Value_IpAddressValue Uses

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

func (*Value_IpAddressValue) Equal Uses

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

func (*Value_IpAddressValue) GoString Uses

func (this *Value_IpAddressValue) GoString() string

func (*Value_IpAddressValue) MarshalTo Uses

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

func (*Value_IpAddressValue) MarshalToSizedBuffer Uses

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

func (*Value_IpAddressValue) Size Uses

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

func (*Value_IpAddressValue) String Uses

func (this *Value_IpAddressValue) String() string

type Value_StringMapValue Uses

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

func (*Value_StringMapValue) Equal Uses

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

func (*Value_StringMapValue) GoString Uses

func (this *Value_StringMapValue) GoString() string

func (*Value_StringMapValue) MarshalTo Uses

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

func (*Value_StringMapValue) MarshalToSizedBuffer Uses

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

func (*Value_StringMapValue) Size Uses

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

func (*Value_StringMapValue) String Uses

func (this *Value_StringMapValue) String() string

type Value_StringValue Uses

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

func (*Value_StringValue) Equal Uses

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

func (*Value_StringValue) GoString Uses

func (this *Value_StringValue) GoString() string

func (*Value_StringValue) MarshalTo Uses

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

func (*Value_StringValue) MarshalToSizedBuffer Uses

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

func (*Value_StringValue) Size Uses

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

func (*Value_StringValue) String Uses

func (this *Value_StringValue) String() string

type Value_TimestampValue Uses

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

func (*Value_TimestampValue) Equal Uses

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

func (*Value_TimestampValue) GoString Uses

func (this *Value_TimestampValue) GoString() string

func (*Value_TimestampValue) MarshalTo Uses

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

func (*Value_TimestampValue) MarshalToSizedBuffer Uses

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

func (*Value_TimestampValue) Size Uses

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

func (*Value_TimestampValue) String Uses

func (this *Value_TimestampValue) String() string

type Value_UriValue Uses

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

func (*Value_UriValue) Equal Uses

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

func (*Value_UriValue) GoString Uses

func (this *Value_UriValue) GoString() string

func (*Value_UriValue) MarshalTo Uses

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

func (*Value_UriValue) MarshalToSizedBuffer Uses

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

func (*Value_UriValue) Size Uses

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

func (*Value_UriValue) String Uses

func (this *Value_UriValue) String() string

Package v1beta1 imports 16 packages (graph) and is imported by 90 packages. Updated 2019-11-09. Refresh now. Tools for package owners.