languagev1

package
v0.22.0 Latest Latest
Warning

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

Go to latest
Published: Feb 6, 2023 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Overview

Code generated by protoc-gen-deepcopy. DO NOT EDIT.

Code generated by protoc-gen-deepcopy. DO NOT EDIT.

Code generated by protoc-gen-deepcopy. DO NOT EDIT.

Package languagev1 is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Code generated by protoc-gen-deepcopy. DO NOT EDIT.

Code generated by protoc-gen-deepcopy. DO NOT EDIT.

Index

Constants

This section is empty.

Variables

View Source
var File_aperture_policy_language_v1_classifier_proto protoreflect.FileDescriptor
View Source
var File_aperture_policy_language_v1_fluxmeter_proto protoreflect.FileDescriptor
View Source
var File_aperture_policy_language_v1_label_matcher_proto protoreflect.FileDescriptor
View Source
var File_aperture_policy_language_v1_policy_proto protoreflect.FileDescriptor
View Source
var File_aperture_policy_language_v1_selector_proto protoreflect.FileDescriptor
View Source
var PolicyService_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "aperture.policy.language.v1.PolicyService",
	HandlerType: (*PolicyServiceServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetPolicies",
			Handler:    _PolicyService_GetPolicies_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "aperture/policy/language/v1/policy.proto",
}

PolicyService_ServiceDesc is the grpc.ServiceDesc for PolicyService service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func RegisterPolicyServiceHandler

func RegisterPolicyServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error

RegisterPolicyServiceHandler registers the http handlers for service PolicyService to "mux". The handlers forward requests to the grpc endpoint over "conn".

func RegisterPolicyServiceHandlerClient

func RegisterPolicyServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client PolicyServiceClient) error

RegisterPolicyServiceHandlerClient registers the http handlers for service PolicyService to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "PolicyServiceClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "PolicyServiceClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "PolicyServiceClient" to call the correct interceptors.

func RegisterPolicyServiceHandlerFromEndpoint

func RegisterPolicyServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)

RegisterPolicyServiceHandlerFromEndpoint is same as RegisterPolicyServiceHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.

func RegisterPolicyServiceHandlerServer

func RegisterPolicyServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server PolicyServiceServer) error

RegisterPolicyServiceHandlerServer registers the http handlers for service PolicyService to "mux". UnaryRPC :call PolicyServiceServer directly. StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterPolicyServiceHandlerFromEndpoint instead.

func RegisterPolicyServiceServer

func RegisterPolicyServiceServer(s grpc.ServiceRegistrar, srv PolicyServiceServer)

Types

type AIMDConcurrencyController added in v0.21.0

type AIMDConcurrencyController struct {

	// Input ports for the AIMDConcurrencyController component.
	InPorts *AIMDConcurrencyController_Ins `protobuf:"bytes,1,opt,name=in_ports,json=inPorts,proto3" json:"in_ports,omitempty"`
	// Output ports for the AIMDConcurrencyController component.
	OutPorts *AIMDConcurrencyController_Outs `protobuf:"bytes,2,opt,name=out_ports,json=outPorts,proto3" json:"out_ports,omitempty"`
	// Flow Selector decides the service and flows at which the concurrency limiter is applied.
	FlowSelector *FlowSelector `protobuf:"bytes,3,opt,name=flow_selector,json=flowSelector,proto3" json:"flow_selector,omitempty" validate:"required"` // @gotags: validate:"required"
	// Scheduler parameters.
	SchedulerParameters *Scheduler_Parameters `` // @gotags: validate:"required"
	/* 138-byte string literal not displayed */
	// Gradient parameters for the controller. Defaults to:
	// * slope = -1
	// * min_gradient = 0.1
	// * max_gradient = 1
	GradientParameters *GradientController_Parameters `protobuf:"bytes,5,opt,name=gradient_parameters,json=gradientParameters,proto3" json:"gradient_parameters,omitempty"`
	// Current accepted concurrency is multiplied with this number to dynamically calculate the upper concurrency limit of a Service during normal (non-overload) state. This protects the Service from sudden spikes.
	ConcurrencyLimitMultiplier float64 `` // @gotags: default:"2.0"
	/* 157-byte string literal not displayed */
	// Linear increment to concurrency in each execution tick when the system is not in overloaded state.
	ConcurrencyLinearIncrement float64 `` // @gotags: default:"5.0"
	/* 157-byte string literal not displayed */
	// Scale factor to multiply square root of current accepted concurrrency. This, along with concurrencyLinearIncrement helps calculate overall concurrency increment in each tick. Concurrency is rapidly ramped up in each execution cycle during normal (non-overload) state (integral effect).
	ConcurrencySqrtIncrementMultiplier float64 `` // @gotags: default:"1.0"
	/* 183-byte string literal not displayed */
	// Configuration for embedded alerter.
	AlerterParameters *Alerter_Parameters `protobuf:"bytes,9,opt,name=alerter_parameters,json=alerterParameters,proto3" json:"alerter_parameters,omitempty"`
	// Configuration key for load actuation dry run.
	DryRunDynamicConfigKey string `` /* 134-byte string literal not displayed */
	// contains filtered or unexported fields
}

High level concurrency control component. Baselines a signal via exponential moving average and applies concurrency limits based on deviation of signal from the baseline. Internally implemented as a nested circuit.

func (*AIMDConcurrencyController) DeepCopy added in v0.21.0

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

func (*AIMDConcurrencyController) DeepCopyInterface added in v0.21.0

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

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

func (*AIMDConcurrencyController) DeepCopyInto added in v0.21.0

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

func (*AIMDConcurrencyController) Descriptor deprecated added in v0.21.0

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

Deprecated: Use AIMDConcurrencyController.ProtoReflect.Descriptor instead.

func (*AIMDConcurrencyController) GetAlerterParameters added in v0.21.0

func (x *AIMDConcurrencyController) GetAlerterParameters() *Alerter_Parameters

func (*AIMDConcurrencyController) GetConcurrencyLimitMultiplier added in v0.21.0

func (x *AIMDConcurrencyController) GetConcurrencyLimitMultiplier() float64

func (*AIMDConcurrencyController) GetConcurrencyLinearIncrement added in v0.21.0

func (x *AIMDConcurrencyController) GetConcurrencyLinearIncrement() float64

func (*AIMDConcurrencyController) GetConcurrencySqrtIncrementMultiplier added in v0.21.0

func (x *AIMDConcurrencyController) GetConcurrencySqrtIncrementMultiplier() float64

func (*AIMDConcurrencyController) GetDryRunDynamicConfigKey added in v0.21.0

func (x *AIMDConcurrencyController) GetDryRunDynamicConfigKey() string

func (*AIMDConcurrencyController) GetFlowSelector added in v0.21.0

func (x *AIMDConcurrencyController) GetFlowSelector() *FlowSelector

func (*AIMDConcurrencyController) GetGradientParameters added in v0.21.0

func (x *AIMDConcurrencyController) GetGradientParameters() *GradientController_Parameters

func (*AIMDConcurrencyController) GetInPorts added in v0.21.0

func (*AIMDConcurrencyController) GetOutPorts added in v0.21.0

func (*AIMDConcurrencyController) GetSchedulerParameters added in v0.21.0

func (x *AIMDConcurrencyController) GetSchedulerParameters() *Scheduler_Parameters

func (*AIMDConcurrencyController) MarshalJSON added in v0.21.0

func (msg *AIMDConcurrencyController) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*AIMDConcurrencyController) ProtoMessage added in v0.21.0

func (*AIMDConcurrencyController) ProtoMessage()

func (*AIMDConcurrencyController) ProtoReflect added in v0.21.0

func (*AIMDConcurrencyController) Reset added in v0.21.0

func (x *AIMDConcurrencyController) Reset()

func (*AIMDConcurrencyController) String added in v0.21.0

func (x *AIMDConcurrencyController) String() string

func (*AIMDConcurrencyController) UnmarshalJSON added in v0.21.0

func (msg *AIMDConcurrencyController) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type AIMDConcurrencyController_Ins added in v0.21.0

type AIMDConcurrencyController_Ins struct {

	// The signal to the controller.
	Signal *InPort `protobuf:"bytes,1,opt,name=signal,proto3" json:"signal,omitempty"`
	// The setpoint to the controller.
	Setpoint *InPort `protobuf:"bytes,2,opt,name=setpoint,proto3" json:"setpoint,omitempty"`
	// contains filtered or unexported fields
}

Inputs for the AIMDConcurrencyController component.

func (*AIMDConcurrencyController_Ins) DeepCopy added in v0.21.0

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

func (*AIMDConcurrencyController_Ins) DeepCopyInterface added in v0.21.0

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

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

func (*AIMDConcurrencyController_Ins) DeepCopyInto added in v0.21.0

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

func (*AIMDConcurrencyController_Ins) Descriptor deprecated added in v0.21.0

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

Deprecated: Use AIMDConcurrencyController_Ins.ProtoReflect.Descriptor instead.

func (*AIMDConcurrencyController_Ins) GetSetpoint added in v0.21.0

func (x *AIMDConcurrencyController_Ins) GetSetpoint() *InPort

func (*AIMDConcurrencyController_Ins) GetSignal added in v0.21.0

func (x *AIMDConcurrencyController_Ins) GetSignal() *InPort

func (*AIMDConcurrencyController_Ins) MarshalJSON added in v0.21.0

func (msg *AIMDConcurrencyController_Ins) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*AIMDConcurrencyController_Ins) ProtoMessage added in v0.21.0

func (*AIMDConcurrencyController_Ins) ProtoMessage()

func (*AIMDConcurrencyController_Ins) ProtoReflect added in v0.21.0

func (*AIMDConcurrencyController_Ins) Reset added in v0.21.0

func (x *AIMDConcurrencyController_Ins) Reset()

func (*AIMDConcurrencyController_Ins) String added in v0.21.0

func (*AIMDConcurrencyController_Ins) UnmarshalJSON added in v0.21.0

func (msg *AIMDConcurrencyController_Ins) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type AIMDConcurrencyController_Outs added in v0.21.0

type AIMDConcurrencyController_Outs struct {

	// Is overload is a boolean signal that indicates whether the service is overloaded based on the deviation of the signal from the setpoint taking into account some tolerance.
	IsOverload *OutPort `protobuf:"bytes,1,opt,name=is_overload,json=isOverload,proto3" json:"is_overload,omitempty"`
	// Load multiplier is the ratio of desired concurrency to the incoming concurrency.
	LoadMultiplier *OutPort `protobuf:"bytes,2,opt,name=load_multiplier,json=loadMultiplier,proto3" json:"load_multiplier,omitempty"`
	// contains filtered or unexported fields
}

Outputs for the AIMDConcurrencyController component.

func (*AIMDConcurrencyController_Outs) DeepCopy added in v0.21.0

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

func (*AIMDConcurrencyController_Outs) DeepCopyInterface added in v0.21.0

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

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

func (*AIMDConcurrencyController_Outs) DeepCopyInto added in v0.21.0

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

func (*AIMDConcurrencyController_Outs) Descriptor deprecated added in v0.21.0

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

Deprecated: Use AIMDConcurrencyController_Outs.ProtoReflect.Descriptor instead.

func (*AIMDConcurrencyController_Outs) GetIsOverload added in v0.21.0

func (x *AIMDConcurrencyController_Outs) GetIsOverload() *OutPort

func (*AIMDConcurrencyController_Outs) GetLoadMultiplier added in v0.21.0

func (x *AIMDConcurrencyController_Outs) GetLoadMultiplier() *OutPort

func (*AIMDConcurrencyController_Outs) MarshalJSON added in v0.21.0

func (msg *AIMDConcurrencyController_Outs) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*AIMDConcurrencyController_Outs) ProtoMessage added in v0.21.0

func (*AIMDConcurrencyController_Outs) ProtoMessage()

func (*AIMDConcurrencyController_Outs) ProtoReflect added in v0.21.0

func (*AIMDConcurrencyController_Outs) Reset added in v0.21.0

func (x *AIMDConcurrencyController_Outs) Reset()

func (*AIMDConcurrencyController_Outs) String added in v0.21.0

func (*AIMDConcurrencyController_Outs) UnmarshalJSON added in v0.21.0

func (msg *AIMDConcurrencyController_Outs) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type AddressExtractor

type AddressExtractor struct {

	// Attribute path pointing to some string - eg. "source.address".
	From string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty" validate:"required"` //@gotags: validate:"required"
	// contains filtered or unexported fields
}

Display an [Address]ext-authz-address as a single string, eg. `<ip>:<port>`

IP addresses in attribute context are defined as objects with separate ip and port fields. This is a helper to display an address as a single string.

Note: Use with care, as it might accidentally introduce a high-cardinality flow label values.

Example: ```yaml from: "source.address # or destination.address" ```

func (*AddressExtractor) DeepCopy added in v0.1.2

func (in *AddressExtractor) DeepCopy() *AddressExtractor

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

func (*AddressExtractor) DeepCopyInterface added in v0.1.2

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

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

func (*AddressExtractor) DeepCopyInto added in v0.1.2

func (in *AddressExtractor) DeepCopyInto(out *AddressExtractor)

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

func (*AddressExtractor) Descriptor deprecated

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

Deprecated: Use AddressExtractor.ProtoReflect.Descriptor instead.

func (*AddressExtractor) GetFrom

func (x *AddressExtractor) GetFrom() string

func (*AddressExtractor) MarshalJSON

func (msg *AddressExtractor) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*AddressExtractor) ProtoMessage

func (*AddressExtractor) ProtoMessage()

func (*AddressExtractor) ProtoReflect

func (x *AddressExtractor) ProtoReflect() protoreflect.Message

func (*AddressExtractor) Reset

func (x *AddressExtractor) Reset()

func (*AddressExtractor) String

func (x *AddressExtractor) String() string

func (*AddressExtractor) UnmarshalJSON

func (msg *AddressExtractor) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Alerter added in v0.11.0

type Alerter struct {

	// Input ports for the Alerter component.
	InPorts *Alerter_Ins `protobuf:"bytes,1,opt,name=in_ports,json=inPorts,proto3" json:"in_ports,omitempty"`
	// Alerter configuration
	Parameters *Alerter_Parameters `protobuf:"bytes,2,opt,name=parameters,proto3" json:"parameters,omitempty" validate:"required"` // @gotags: validate:"required"
	// contains filtered or unexported fields
}

Alerter reacts to a signal and generates alert to send to alert manager.

func (*Alerter) DeepCopy added in v0.11.0

func (in *Alerter) DeepCopy() *Alerter

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

func (*Alerter) DeepCopyInterface added in v0.11.0

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

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

func (*Alerter) DeepCopyInto added in v0.11.0

func (in *Alerter) DeepCopyInto(out *Alerter)

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

func (*Alerter) Descriptor deprecated added in v0.11.0

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

Deprecated: Use Alerter.ProtoReflect.Descriptor instead.

func (*Alerter) GetInPorts added in v0.11.0

func (x *Alerter) GetInPorts() *Alerter_Ins

func (*Alerter) GetParameters added in v0.21.0

func (x *Alerter) GetParameters() *Alerter_Parameters

func (*Alerter) MarshalJSON added in v0.11.0

func (msg *Alerter) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Alerter) ProtoMessage added in v0.11.0

func (*Alerter) ProtoMessage()

func (*Alerter) ProtoReflect added in v0.11.0

func (x *Alerter) ProtoReflect() protoreflect.Message

func (*Alerter) Reset added in v0.11.0

func (x *Alerter) Reset()

func (*Alerter) String added in v0.11.0

func (x *Alerter) String() string

func (*Alerter) UnmarshalJSON added in v0.11.0

func (msg *Alerter) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Alerter_Ins added in v0.11.0

type Alerter_Ins struct {

	// Signal which Alerter is monitoring. If the signal greater than 0, Alerter generates an alert.
	Signal *InPort `protobuf:"bytes,1,opt,name=signal,proto3" json:"signal,omitempty"`
	// contains filtered or unexported fields
}

Inputs for the Alerter component.

func (*Alerter_Ins) DeepCopy added in v0.11.0

func (in *Alerter_Ins) DeepCopy() *Alerter_Ins

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

func (*Alerter_Ins) DeepCopyInterface added in v0.11.0

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

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

func (*Alerter_Ins) DeepCopyInto added in v0.11.0

func (in *Alerter_Ins) DeepCopyInto(out *Alerter_Ins)

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

func (*Alerter_Ins) Descriptor deprecated added in v0.11.0

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

Deprecated: Use Alerter_Ins.ProtoReflect.Descriptor instead.

func (*Alerter_Ins) GetSignal added in v0.19.0

func (x *Alerter_Ins) GetSignal() *InPort

func (*Alerter_Ins) MarshalJSON added in v0.11.0

func (msg *Alerter_Ins) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Alerter_Ins) ProtoMessage added in v0.11.0

func (*Alerter_Ins) ProtoMessage()

func (*Alerter_Ins) ProtoReflect added in v0.11.0

func (x *Alerter_Ins) ProtoReflect() protoreflect.Message

func (*Alerter_Ins) Reset added in v0.11.0

func (x *Alerter_Ins) Reset()

func (*Alerter_Ins) String added in v0.11.0

func (x *Alerter_Ins) String() string

func (*Alerter_Ins) UnmarshalJSON added in v0.11.0

func (msg *Alerter_Ins) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Alerter_Parameters added in v0.21.0

type Alerter_Parameters struct {

	// Name of the alert.
	AlertName string `protobuf:"bytes,1,opt,name=alert_name,json=alertName,proto3" json:"alert_name,omitempty" validate:"required"` // @gotags: validate:"required"
	// Severity of the alert, one of 'info', 'warn' or 'crit'.
	Severity string `protobuf:"bytes,2,opt,name=severity,proto3" json:"severity,omitempty" default:"info" validate:"oneof=info warn crit"` // @gotags: default:"info" validate:"oneof=info warn crit"
	// Duration of alert resolver.
	ResolveTimeout *durationpb.Duration `protobuf:"bytes,3,opt,name=resolve_timeout,json=resolveTimeout,proto3" json:"resolve_timeout,omitempty" default:"300s"` // @gotags: default:"300s"
	// A list of alert channel strings.
	AlertChannels []string `protobuf:"bytes,4,rep,name=alert_channels,json=alertChannels,proto3" json:"alert_channels,omitempty"`
	// contains filtered or unexported fields
}

Alerter Parameters is a common config for separate alerter components and alerters embedded in other components.

func (*Alerter_Parameters) DeepCopy added in v0.21.0

func (in *Alerter_Parameters) DeepCopy() *Alerter_Parameters

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

func (*Alerter_Parameters) DeepCopyInterface added in v0.21.0

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

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

func (*Alerter_Parameters) DeepCopyInto added in v0.21.0

func (in *Alerter_Parameters) DeepCopyInto(out *Alerter_Parameters)

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

func (*Alerter_Parameters) Descriptor deprecated added in v0.21.0

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

Deprecated: Use Alerter_Parameters.ProtoReflect.Descriptor instead.

func (*Alerter_Parameters) GetAlertChannels added in v0.21.0

func (x *Alerter_Parameters) GetAlertChannels() []string

func (*Alerter_Parameters) GetAlertName added in v0.21.0

func (x *Alerter_Parameters) GetAlertName() string

func (*Alerter_Parameters) GetResolveTimeout added in v0.21.0

func (x *Alerter_Parameters) GetResolveTimeout() *durationpb.Duration

func (*Alerter_Parameters) GetSeverity added in v0.21.0

func (x *Alerter_Parameters) GetSeverity() string

func (*Alerter_Parameters) MarshalJSON added in v0.21.0

func (msg *Alerter_Parameters) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Alerter_Parameters) ProtoMessage added in v0.21.0

func (*Alerter_Parameters) ProtoMessage()

func (*Alerter_Parameters) ProtoReflect added in v0.21.0

func (x *Alerter_Parameters) ProtoReflect() protoreflect.Message

func (*Alerter_Parameters) Reset added in v0.21.0

func (x *Alerter_Parameters) Reset()

func (*Alerter_Parameters) String added in v0.21.0

func (x *Alerter_Parameters) String() string

func (*Alerter_Parameters) UnmarshalJSON added in v0.21.0

func (msg *Alerter_Parameters) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type And added in v0.20.0

type And struct {

	// Input ports for the And component.
	InPorts *And_Ins `protobuf:"bytes,1,opt,name=in_ports,json=inPorts,proto3" json:"in_ports,omitempty"`
	// Output ports for the And component.
	OutPorts *And_Outs `protobuf:"bytes,2,opt,name=out_ports,json=outPorts,proto3" json:"out_ports,omitempty"`
	// contains filtered or unexported fields
}

Logical AND.

Signals are mapped to boolean values as follows: * Zero is treated as false. * Any non-zero is treated as true. * Invalid inputs are considered unknown.

:::note

Treating invalid inputs as "unknowns" has a consequence that the result
might end up being valid even when some inputs are invalid. Eg. `unknown && false == false`,
because the result would end up false no matter if
first signal was true or false. On the other hand, `unknown && true == unknown`.

:::

func (*And) DeepCopy added in v0.20.0

func (in *And) DeepCopy() *And

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

func (*And) DeepCopyInterface added in v0.20.0

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

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

func (*And) DeepCopyInto added in v0.20.0

func (in *And) DeepCopyInto(out *And)

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

func (*And) Descriptor deprecated added in v0.20.0

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

Deprecated: Use And.ProtoReflect.Descriptor instead.

func (*And) GetInPorts added in v0.20.0

func (x *And) GetInPorts() *And_Ins

func (*And) GetOutPorts added in v0.20.0

func (x *And) GetOutPorts() *And_Outs

func (*And) MarshalJSON added in v0.20.0

func (msg *And) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*And) ProtoMessage added in v0.20.0

func (*And) ProtoMessage()

func (*And) ProtoReflect added in v0.20.0

func (x *And) ProtoReflect() protoreflect.Message

func (*And) Reset added in v0.20.0

func (x *And) Reset()

func (*And) String added in v0.20.0

func (x *And) String() string

func (*And) UnmarshalJSON added in v0.20.0

func (msg *And) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type And_Ins added in v0.20.0

type And_Ins struct {

	// Array of input signals.
	Inputs []*InPort `protobuf:"bytes,1,rep,name=inputs,proto3" json:"inputs,omitempty" validate:"dive"` // @gotags: validate:"dive"
	// contains filtered or unexported fields
}

Inputs for the And component.

func (*And_Ins) DeepCopy added in v0.20.0

func (in *And_Ins) DeepCopy() *And_Ins

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

func (*And_Ins) DeepCopyInterface added in v0.20.0

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

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

func (*And_Ins) DeepCopyInto added in v0.20.0

func (in *And_Ins) DeepCopyInto(out *And_Ins)

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

func (*And_Ins) Descriptor deprecated added in v0.20.0

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

Deprecated: Use And_Ins.ProtoReflect.Descriptor instead.

func (*And_Ins) GetInputs added in v0.20.0

func (x *And_Ins) GetInputs() []*InPort

func (*And_Ins) MarshalJSON added in v0.20.0

func (msg *And_Ins) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*And_Ins) ProtoMessage added in v0.20.0

func (*And_Ins) ProtoMessage()

func (*And_Ins) ProtoReflect added in v0.20.0

func (x *And_Ins) ProtoReflect() protoreflect.Message

func (*And_Ins) Reset added in v0.20.0

func (x *And_Ins) Reset()

func (*And_Ins) String added in v0.20.0

func (x *And_Ins) String() string

func (*And_Ins) UnmarshalJSON added in v0.20.0

func (msg *And_Ins) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type And_Outs added in v0.20.0

type And_Outs struct {

	// Result of logical AND of all the input signals.
	//
	// Will always be 0 (false), 1 (true) or invalid (unknown).
	Output *OutPort `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

Output ports for the And component.

func (*And_Outs) DeepCopy added in v0.20.0

func (in *And_Outs) DeepCopy() *And_Outs

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

func (*And_Outs) DeepCopyInterface added in v0.20.0

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

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

func (*And_Outs) DeepCopyInto added in v0.20.0

func (in *And_Outs) DeepCopyInto(out *And_Outs)

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

func (*And_Outs) Descriptor deprecated added in v0.20.0

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

Deprecated: Use And_Outs.ProtoReflect.Descriptor instead.

func (*And_Outs) GetOutput added in v0.20.0

func (x *And_Outs) GetOutput() *OutPort

func (*And_Outs) MarshalJSON added in v0.20.0

func (msg *And_Outs) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*And_Outs) ProtoMessage added in v0.20.0

func (*And_Outs) ProtoMessage()

func (*And_Outs) ProtoReflect added in v0.20.0

func (x *And_Outs) ProtoReflect() protoreflect.Message

func (*And_Outs) Reset added in v0.20.0

func (x *And_Outs) Reset()

func (*And_Outs) String added in v0.20.0

func (x *And_Outs) String() string

func (*And_Outs) UnmarshalJSON added in v0.20.0

func (msg *And_Outs) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type ArithmeticCombinator

type ArithmeticCombinator struct {

	// Input ports for the Arithmetic Combinator component.
	InPorts *ArithmeticCombinator_Ins `protobuf:"bytes,1,opt,name=in_ports,json=inPorts,proto3" json:"in_ports,omitempty"`
	// Output ports for the Arithmetic Combinator component.
	OutPorts *ArithmeticCombinator_Outs `protobuf:"bytes,2,opt,name=out_ports,json=outPorts,proto3" json:"out_ports,omitempty"`
	// Operator of the arithmetic operation.
	//
	// The arithmetic operation can be addition, subtraction, multiplication, division, XOR, right bit shift or left bit shift.
	// In case of XOR and bitshifts, value of signals is cast to integers before performing the operation.
	Operator string `protobuf:"bytes,3,opt,name=operator,proto3" json:"operator,omitempty" validate:"oneof=add sub mul div xor lshift rshift"` // @gotags: validate:"oneof=add sub mul div xor lshift rshift"
	// contains filtered or unexported fields
}

Type of combinator that computes the arithmetic operation on the operand signals

func (*ArithmeticCombinator) DeepCopy added in v0.1.2

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

func (*ArithmeticCombinator) DeepCopyInterface added in v0.1.2

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

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

func (*ArithmeticCombinator) DeepCopyInto added in v0.1.2

func (in *ArithmeticCombinator) DeepCopyInto(out *ArithmeticCombinator)

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

func (*ArithmeticCombinator) Descriptor deprecated

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

Deprecated: Use ArithmeticCombinator.ProtoReflect.Descriptor instead.

func (*ArithmeticCombinator) GetInPorts

func (*ArithmeticCombinator) GetOperator

func (x *ArithmeticCombinator) GetOperator() string

func (*ArithmeticCombinator) GetOutPorts

func (*ArithmeticCombinator) MarshalJSON

func (msg *ArithmeticCombinator) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*ArithmeticCombinator) ProtoMessage

func (*ArithmeticCombinator) ProtoMessage()

func (*ArithmeticCombinator) ProtoReflect

func (x *ArithmeticCombinator) ProtoReflect() protoreflect.Message

func (*ArithmeticCombinator) Reset

func (x *ArithmeticCombinator) Reset()

func (*ArithmeticCombinator) String

func (x *ArithmeticCombinator) String() string

func (*ArithmeticCombinator) UnmarshalJSON

func (msg *ArithmeticCombinator) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type ArithmeticCombinator_Ins

type ArithmeticCombinator_Ins struct {

	// Left hand side of the arithmetic operation.
	Lhs *InPort `protobuf:"bytes,1,opt,name=lhs,proto3" json:"lhs,omitempty"`
	// Right hand side of the arithmetic operation.
	Rhs *InPort `protobuf:"bytes,2,opt,name=rhs,proto3" json:"rhs,omitempty"`
	// contains filtered or unexported fields
}

Inputs for the Arithmetic Combinator component.

func (*ArithmeticCombinator_Ins) DeepCopy added in v0.1.2

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

func (*ArithmeticCombinator_Ins) DeepCopyInterface added in v0.1.2

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

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

func (*ArithmeticCombinator_Ins) DeepCopyInto added in v0.1.2

func (in *ArithmeticCombinator_Ins) DeepCopyInto(out *ArithmeticCombinator_Ins)

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

func (*ArithmeticCombinator_Ins) Descriptor deprecated

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

Deprecated: Use ArithmeticCombinator_Ins.ProtoReflect.Descriptor instead.

func (*ArithmeticCombinator_Ins) GetLhs

func (x *ArithmeticCombinator_Ins) GetLhs() *InPort

func (*ArithmeticCombinator_Ins) GetRhs

func (x *ArithmeticCombinator_Ins) GetRhs() *InPort

func (*ArithmeticCombinator_Ins) MarshalJSON

func (msg *ArithmeticCombinator_Ins) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*ArithmeticCombinator_Ins) ProtoMessage

func (*ArithmeticCombinator_Ins) ProtoMessage()

func (*ArithmeticCombinator_Ins) ProtoReflect

func (x *ArithmeticCombinator_Ins) ProtoReflect() protoreflect.Message

func (*ArithmeticCombinator_Ins) Reset

func (x *ArithmeticCombinator_Ins) Reset()

func (*ArithmeticCombinator_Ins) String

func (x *ArithmeticCombinator_Ins) String() string

func (*ArithmeticCombinator_Ins) UnmarshalJSON

func (msg *ArithmeticCombinator_Ins) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type ArithmeticCombinator_Outs

type ArithmeticCombinator_Outs struct {

	// Result of arithmetic operation.
	Output *OutPort `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

Outputs for the Arithmetic Combinator component.

func (*ArithmeticCombinator_Outs) DeepCopy added in v0.1.2

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

func (*ArithmeticCombinator_Outs) DeepCopyInterface added in v0.1.2

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

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

func (*ArithmeticCombinator_Outs) DeepCopyInto added in v0.1.2

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

func (*ArithmeticCombinator_Outs) Descriptor deprecated

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

Deprecated: Use ArithmeticCombinator_Outs.ProtoReflect.Descriptor instead.

func (*ArithmeticCombinator_Outs) GetOutput

func (x *ArithmeticCombinator_Outs) GetOutput() *OutPort

func (*ArithmeticCombinator_Outs) MarshalJSON

func (msg *ArithmeticCombinator_Outs) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*ArithmeticCombinator_Outs) ProtoMessage

func (*ArithmeticCombinator_Outs) ProtoMessage()

func (*ArithmeticCombinator_Outs) ProtoReflect

func (*ArithmeticCombinator_Outs) Reset

func (x *ArithmeticCombinator_Outs) Reset()

func (*ArithmeticCombinator_Outs) String

func (x *ArithmeticCombinator_Outs) String() string

func (*ArithmeticCombinator_Outs) UnmarshalJSON

func (msg *ArithmeticCombinator_Outs) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type AutoScale added in v0.21.0

type AutoScale struct {

	// Types that are assignable to Component:
	//	*AutoScale_HorizontalPodScaler
	Component isAutoScale_Component `protobuf_oneof:"component"`
	// contains filtered or unexported fields
}

AutoScale components are used to scale a service.

func (*AutoScale) DeepCopy added in v0.21.0

func (in *AutoScale) DeepCopy() *AutoScale

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

func (*AutoScale) DeepCopyInterface added in v0.21.0

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

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

func (*AutoScale) DeepCopyInto added in v0.21.0

func (in *AutoScale) DeepCopyInto(out *AutoScale)

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

func (*AutoScale) Descriptor deprecated added in v0.21.0

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

Deprecated: Use AutoScale.ProtoReflect.Descriptor instead.

func (*AutoScale) GetComponent added in v0.21.0

func (m *AutoScale) GetComponent() isAutoScale_Component

func (*AutoScale) GetHorizontalPodScaler added in v0.21.0

func (x *AutoScale) GetHorizontalPodScaler() *HorizontalPodScaler

func (*AutoScale) MarshalJSON added in v0.21.0

func (msg *AutoScale) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*AutoScale) ProtoMessage added in v0.21.0

func (*AutoScale) ProtoMessage()

func (*AutoScale) ProtoReflect added in v0.21.0

func (x *AutoScale) ProtoReflect() protoreflect.Message

func (*AutoScale) Reset added in v0.21.0

func (x *AutoScale) Reset()

func (*AutoScale) String added in v0.21.0

func (x *AutoScale) String() string

func (*AutoScale) UnmarshalJSON added in v0.21.0

func (msg *AutoScale) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type AutoScale_HorizontalPodScaler added in v0.21.0

type AutoScale_HorizontalPodScaler struct {
	// HorizontalPodScaler provides pod horizontal scaling functionality for scalable Kubernetes resources.
	HorizontalPodScaler *HorizontalPodScaler `protobuf:"bytes,1,opt,name=horizontal_pod_scaler,json=horizontalPodScaler,proto3,oneof"`
}

type Circuit

type Circuit struct {

	// Evaluation interval (tick) is the time period between consecutive runs of the policy circuit.
	// This interval is typically aligned with how often the corrective action (actuation) needs to be taken.
	EvaluationInterval *durationpb.Duration `` // @gotags: default:"0.5s"
	/* 130-byte string literal not displayed */
	// Defines a signal processing graph as a list of components.
	Components []*Component `protobuf:"bytes,2,rep,name=components,proto3" json:"components,omitempty" validate:"dive"` // @gotags: validate:"dive"
	// contains filtered or unexported fields
}

Circuit is defined as a dataflow graph of inter-connected components

:::info

See also [Circuit overview](/concepts/policy/circuit.md).

:::

Signals flow between components via ports. As signals traverse the circuit, they get processed, stored within components or get acted upon (e.g. load-shed, rate-limit, auto-scale etc.). Circuit is evaluated periodically in order to respond to changes in signal readings.

:::info

**Signal**

Signals are floating-point values.

A signal can also have a special **Invalid** value. It's usually used to communicate that signal doesn't have a meaningful value at the moment, eg. PromQL(#v1-prom-q-l) emits such a value if it cannot execute a query. Components know when their input signals are invalid and can act accordingly. They can either propagate the invalidness, by making their output itself invalid (like eg. ArithmeticCombinator(#v1-arithmetic-combinator)) or use some different logic, like eg. Extrapolator(#v1-extrapolator). Refer to a component's docs on how exactly it handles invalid inputs.

:::

func (*Circuit) DeepCopy added in v0.1.2

func (in *Circuit) DeepCopy() *Circuit

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

func (*Circuit) DeepCopyInterface added in v0.1.2

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

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

func (*Circuit) DeepCopyInto added in v0.1.2

func (in *Circuit) DeepCopyInto(out *Circuit)

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

func (*Circuit) Descriptor deprecated

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

Deprecated: Use Circuit.ProtoReflect.Descriptor instead.

func (*Circuit) GetComponents

func (x *Circuit) GetComponents() []*Component

func (*Circuit) GetEvaluationInterval

func (x *Circuit) GetEvaluationInterval() *durationpb.Duration

func (*Circuit) MarshalJSON

func (msg *Circuit) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Circuit) ProtoMessage

func (*Circuit) ProtoMessage()

func (*Circuit) ProtoReflect

func (x *Circuit) ProtoReflect() protoreflect.Message

func (*Circuit) Reset

func (x *Circuit) Reset()

func (*Circuit) String

func (x *Circuit) String() string

func (*Circuit) UnmarshalJSON

func (msg *Circuit) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Classifier

type Classifier struct {

	// Defines where to apply the flow classification rule.
	FlowSelector *FlowSelector `protobuf:"bytes,1,opt,name=flow_selector,json=flowSelector,proto3" json:"flow_selector,omitempty" validate:"required"` // @gotags: validate:"required"
	// A map of {key, value} pairs mapping from
	// [flow label](/concepts/integrations/flow-control/flow-label.md) keys to rules that define
	// how to extract and propagate flow labels with that key.
	Rules map[string]*Rule `` // @gotags: validate:"required,gt=0,dive,keys,required,endkeys,required"
	/* 212-byte string literal not displayed */
	// contains filtered or unexported fields
}

Set of classification rules sharing a common selector

:::info

See also [Classifier overview](/concepts/integrations/flow-control/flow-classifier.md).

:::

Example: ```yaml selector:

service_selector:
  service: service1.default.svc.cluster.local
flow_selector:
  control_point:
    traffic: ingress

rules:

user:
  extractor:
    from: request.http.headers.user

```

func (*Classifier) DeepCopy added in v0.1.2

func (in *Classifier) DeepCopy() *Classifier

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

func (*Classifier) DeepCopyInterface added in v0.1.2

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

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

func (*Classifier) DeepCopyInto added in v0.1.2

func (in *Classifier) DeepCopyInto(out *Classifier)

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

func (*Classifier) Descriptor deprecated

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

Deprecated: Use Classifier.ProtoReflect.Descriptor instead.

func (*Classifier) GetFlowSelector added in v0.15.0

func (x *Classifier) GetFlowSelector() *FlowSelector

func (*Classifier) GetRules

func (x *Classifier) GetRules() map[string]*Rule

func (*Classifier) MarshalJSON

func (msg *Classifier) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Classifier) ProtoMessage

func (*Classifier) ProtoMessage()

func (*Classifier) ProtoReflect

func (x *Classifier) ProtoReflect() protoreflect.Message

func (*Classifier) Reset

func (x *Classifier) Reset()

func (*Classifier) String

func (x *Classifier) String() string

func (*Classifier) UnmarshalJSON

func (msg *Classifier) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Component

type Component struct {

	// Types that are assignable to Component:
	//	*Component_GradientController
	//	*Component_Ema
	//	*Component_ArithmeticCombinator
	//	*Component_Decider
	//	*Component_Switcher
	//	*Component_Variable
	//	*Component_Sqrt
	//	*Component_Extrapolator
	//	*Component_Max
	//	*Component_Min
	//	*Component_FirstValid
	//	*Component_Alerter
	//	*Component_Integrator
	//	*Component_Differentiator
	//	*Component_And
	//	*Component_Or
	//	*Component_Inverter
	//	*Component_PulseGenerator
	//	*Component_Holder
	//	*Component_NestedCircuit
	//	*Component_NestedSignalIngress
	//	*Component_NestedSignalEgress
	//	*Component_Query
	//	*Component_FlowControl
	//	*Component_AutoScale
	Component isComponent_Component `protobuf_oneof:"component"`
	// contains filtered or unexported fields
}

Computational block that form the circuit

:::info

See also [Components overview](/concepts/policy/circuit.md#components).

:::

Signals flow into the components via input ports and results are emitted on output ports. Components are wired to each other based on signal names forming an execution graph of the circuit.

:::note

Loops are broken by the runtime at the earliest component index that is part of the loop. The looped signals are saved in the tick they are generated and served in the subsequent tick.

:::

There are three categories of components:

  • "source" components – they take some sort of input from "the real world" and output a signal based on this input. Example: PromQL(#v1-prom-q-l). In the UI they're represented by green color.

  • signal processor components – "pure" components that don't interact with the "real world". Examples: GradientController(#v1-gradient-controller), Max(#v1-max).

    :::note

    Signal processor components's output can depend on their internal state, in addition to the inputs. Eg. see the [Exponential Moving Average filter](#v1-e-m-a).

    :::

  • "sink" components – they affect the real world. [ConcurrencyLimiter.LoadActuator](#v1-concurrency-limiter) and RateLimiter(#v1-rate-limiter). In the UI, represented by orange color. Sink components usually come in pairs with a "sources" component which emits a feedback signal, like `accepted_concurrency` emitted by ConcurrencyLimiter.Scheduler.

:::tip

Sometimes you may want to use a constant value as one of component's inputs. You can create an input port containing the constant value instead of being connected to a signal. To do so, use the InPort(#v1-in_port)'s .withConstantSignal(constant_signal) method. You can also use it to provide special math values such as NaN and +- Inf. If You need to provide the same constant signal to multiple components, You can use the Variable(#v1-variable) component.

:::

See also Policy(#v1-policy) for a higher-level explanation of circuits.

func (*Component) DeepCopy added in v0.1.2

func (in *Component) DeepCopy() *Component

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

func (*Component) DeepCopyInterface added in v0.1.2

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

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

func (*Component) DeepCopyInto added in v0.1.2

func (in *Component) DeepCopyInto(out *Component)

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

func (*Component) Descriptor deprecated

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

Deprecated: Use Component.ProtoReflect.Descriptor instead.

func (*Component) GetAlerter added in v0.11.0

func (x *Component) GetAlerter() *Alerter

func (*Component) GetAnd added in v0.20.0

func (x *Component) GetAnd() *And

func (*Component) GetArithmeticCombinator

func (x *Component) GetArithmeticCombinator() *ArithmeticCombinator

func (*Component) GetAutoScale added in v0.21.0

func (x *Component) GetAutoScale() *AutoScale

func (*Component) GetComponent

func (m *Component) GetComponent() isComponent_Component

func (*Component) GetDecider

func (x *Component) GetDecider() *Decider

func (*Component) GetDifferentiator added in v0.19.0

func (x *Component) GetDifferentiator() *Differentiator

func (*Component) GetEma

func (x *Component) GetEma() *EMA

func (*Component) GetExtrapolator

func (x *Component) GetExtrapolator() *Extrapolator

func (*Component) GetFirstValid added in v0.5.1

func (x *Component) GetFirstValid() *FirstValid

func (*Component) GetFlowControl added in v0.21.0

func (x *Component) GetFlowControl() *FlowControl

func (*Component) GetGradientController

func (x *Component) GetGradientController() *GradientController

func (*Component) GetHolder added in v0.21.0

func (x *Component) GetHolder() *Holder

func (*Component) GetIntegrator added in v0.16.0

func (x *Component) GetIntegrator() *Integrator

func (*Component) GetInverter added in v0.20.0

func (x *Component) GetInverter() *Inverter

func (*Component) GetMax

func (x *Component) GetMax() *Max

func (*Component) GetMin

func (x *Component) GetMin() *Min

func (*Component) GetNestedCircuit added in v0.21.0

func (x *Component) GetNestedCircuit() *NestedCircuit

func (*Component) GetNestedSignalEgress added in v0.21.0

func (x *Component) GetNestedSignalEgress() *NestedSignalEgress

func (*Component) GetNestedSignalIngress added in v0.21.0

func (x *Component) GetNestedSignalIngress() *NestedSignalIngress

func (*Component) GetOr added in v0.20.0

func (x *Component) GetOr() *Or

func (*Component) GetPulseGenerator added in v0.20.0

func (x *Component) GetPulseGenerator() *PulseGenerator

func (*Component) GetQuery added in v0.21.0

func (x *Component) GetQuery() *Query

func (*Component) GetSqrt

func (x *Component) GetSqrt() *Sqrt

func (*Component) GetSwitcher added in v0.3.0

func (x *Component) GetSwitcher() *Switcher

func (*Component) GetVariable added in v0.21.0

func (x *Component) GetVariable() *Variable

func (*Component) MarshalJSON

func (msg *Component) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Component) ProtoMessage

func (*Component) ProtoMessage()

func (*Component) ProtoReflect

func (x *Component) ProtoReflect() protoreflect.Message

func (*Component) Reset

func (x *Component) Reset()

func (*Component) String

func (x *Component) String() string

func (*Component) UnmarshalJSON

func (msg *Component) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Component_Alerter added in v0.11.0

type Component_Alerter struct {
	// Alerter reacts to a signal and generates alert to send to alert manager.
	Alerter *Alerter `protobuf:"bytes,15,opt,name=alerter,proto3,oneof"`
}

type Component_And added in v0.20.0

type Component_And struct {
	// Logical AND.
	And *And `protobuf:"bytes,19,opt,name=and,proto3,oneof"`
}

type Component_ArithmeticCombinator

type Component_ArithmeticCombinator struct {
	// Applies the given operator on input operands (signals) and emits the result.
	ArithmeticCombinator *ArithmeticCombinator `protobuf:"bytes,3,opt,name=arithmetic_combinator,json=arithmeticCombinator,proto3,oneof"`
}

type Component_AutoScale added in v0.21.0

type Component_AutoScale struct {
	// AutoScale components are used to scale the service.
	AutoScale *AutoScale `protobuf:"bytes,102,opt,name=auto_scale,json=autoScale,proto3,oneof"`
}

type Component_Decider

type Component_Decider struct {
	// Decider emits the binary result of comparison operator on two operands.
	Decider *Decider `protobuf:"bytes,4,opt,name=decider,proto3,oneof"`
}

type Component_Differentiator added in v0.19.0

type Component_Differentiator struct {
	// Differentiator calculates rate of change per tick.
	Differentiator *Differentiator `protobuf:"bytes,17,opt,name=differentiator,proto3,oneof"`
}

type Component_Ema

type Component_Ema struct {
	// Exponential Moving Average filter.
	Ema *EMA `protobuf:"bytes,2,opt,name=ema,proto3,oneof"`
}

type Component_Extrapolator

type Component_Extrapolator struct {
	// Takes an input signal and emits the extrapolated value; either mirroring the input value or repeating the last known value up to the maximum extrapolation interval.
	Extrapolator *Extrapolator `protobuf:"bytes,11,opt,name=extrapolator,proto3,oneof"`
}

type Component_FirstValid added in v0.5.1

type Component_FirstValid struct {
	// Picks the first valid input signal and emits it.
	FirstValid *FirstValid `protobuf:"bytes,14,opt,name=first_valid,json=firstValid,proto3,oneof"`
}

type Component_FlowControl added in v0.21.0

type Component_FlowControl struct {
	// FlowControl components are used to regulate requests flow.
	FlowControl *FlowControl `protobuf:"bytes,101,opt,name=flow_control,json=flowControl,proto3,oneof"`
}

type Component_GradientController

type Component_GradientController struct {
	// Gradient controller basically calculates the ratio between the signal and the setpoint to determine the magnitude of the correction that need to be applied.
	// This controller can be used to build AIMD (Additive Increase, Multiplicative Decrease) or MIMD style response.
	GradientController *GradientController `protobuf:"bytes,1,opt,name=gradient_controller,json=gradientController,proto3,oneof"`
}

type Component_Holder added in v0.21.0

type Component_Holder struct {
	// Holds the last valid signal value for the specified duration then waits for next valid value to hold.
	Holder *Holder `protobuf:"bytes,23,opt,name=holder,proto3,oneof"`
}

type Component_Integrator added in v0.16.0

type Component_Integrator struct {
	// Accumulates sum of signal every tick.
	Integrator *Integrator `protobuf:"bytes,16,opt,name=integrator,proto3,oneof"`
}

type Component_Inverter added in v0.20.0

type Component_Inverter struct {
	// Logical NOT.
	Inverter *Inverter `protobuf:"bytes,21,opt,name=inverter,proto3,oneof"`
}

type Component_Max

type Component_Max struct {
	// Emits the maximum of the input signals.
	Max *Max `protobuf:"bytes,12,opt,name=max,proto3,oneof"`
}

type Component_Min

type Component_Min struct {
	// Emits the minimum of the input signals.
	Min *Min `protobuf:"bytes,13,opt,name=min,proto3,oneof"`
}

type Component_NestedCircuit added in v0.21.0

type Component_NestedCircuit struct {
	// Nested circuit defines a sub-circuit as a high-level component. It consists of a list of components and a map of input and output ports.
	NestedCircuit *NestedCircuit `protobuf:"bytes,24,opt,name=nested_circuit,json=nestedCircuit,proto3,oneof"`
}

type Component_NestedSignalEgress added in v0.21.0

type Component_NestedSignalEgress struct {
	// Nested signal egress is a special type of component that allows to extract a signal from a nested circuit.
	NestedSignalEgress *NestedSignalEgress `protobuf:"bytes,26,opt,name=nested_signal_egress,json=nestedSignalEgress,proto3,oneof"`
}

type Component_NestedSignalIngress added in v0.21.0

type Component_NestedSignalIngress struct {
	// Nested signal ingress is a special type of component that allows to inject a signal into a nested circuit.
	NestedSignalIngress *NestedSignalIngress `protobuf:"bytes,25,opt,name=nested_signal_ingress,json=nestedSignalIngress,proto3,oneof"`
}

type Component_Or added in v0.20.0

type Component_Or struct {
	// Logical OR.
	Or *Or `protobuf:"bytes,20,opt,name=or,proto3,oneof"`
}

type Component_PulseGenerator added in v0.20.0

type Component_PulseGenerator struct {
	// Generates 0 and 1 in turns.
	PulseGenerator *PulseGenerator `protobuf:"bytes,22,opt,name=pulse_generator,json=pulseGenerator,proto3,oneof"`
}

type Component_Query added in v0.21.0

type Component_Query struct {
	// Query components that are query databases such as Prometheus.
	Query *Query `protobuf:"bytes,100,opt,name=query,proto3,oneof"`
}

type Component_Sqrt

type Component_Sqrt struct {
	// Takes an input signal and emits the square root of the input signal.
	Sqrt *Sqrt `protobuf:"bytes,10,opt,name=sqrt,proto3,oneof"`
}

type Component_Switcher added in v0.3.0

type Component_Switcher struct {
	// Switcher acts as a switch that emits one of the two signals based on third signal.
	Switcher *Switcher `protobuf:"bytes,5,opt,name=switcher,proto3,oneof"`
}

type Component_Variable added in v0.21.0

type Component_Variable struct {
	// Emits a variable signal which can be set to invalid.
	Variable *Variable `protobuf:"bytes,9,opt,name=variable,proto3,oneof"`
}

type ConcurrencyLimiter

type ConcurrencyLimiter struct {

	// Flow Selector decides the service and flows at which the concurrency limiter is applied.
	FlowSelector *FlowSelector `protobuf:"bytes,1,opt,name=flow_selector,json=flowSelector,proto3" json:"flow_selector,omitempty" validate:"required"` // @gotags: validate:"required"
	// Configuration of Weighted Fair Queuing-based workload scheduler.
	//
	// Contains configuration of per-agent scheduler, and also defines some
	// output signals.
	Scheduler *Scheduler `protobuf:"bytes,2,opt,name=scheduler,proto3" json:"scheduler,omitempty" validate:"required"` // @gotags: validate:"required"
	// Types that are assignable to ActuationStrategy:
	//	*ConcurrencyLimiter_LoadActuator
	ActuationStrategy isConcurrencyLimiter_ActuationStrategy `protobuf_oneof:"actuation_strategy"`
	// contains filtered or unexported fields
}

Concurrency Limiter is an actuator component that regulates flows in order to provide active service protection

:::info

See also [Concurrency Limiter overview](/concepts/integrations/flow-control/components/concurrency-limiter.md).

:::

It is based on the actuation strategy (e.g. load actuator) and workload scheduling which is based on Weighted Fair Queuing principles. Concurrency is calculated in terms of total tokens which translate to (avg. latency \* in-flight requests), i.e. Little's Law.

ConcurrencyLimiter configuration is split into two parts: An actuation strategy and a scheduler. Right now, only `load_actuator` strategy is available.

func (*ConcurrencyLimiter) DeepCopy added in v0.1.2

func (in *ConcurrencyLimiter) DeepCopy() *ConcurrencyLimiter

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

func (*ConcurrencyLimiter) DeepCopyInterface added in v0.1.2

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

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

func (*ConcurrencyLimiter) DeepCopyInto added in v0.1.2

func (in *ConcurrencyLimiter) DeepCopyInto(out *ConcurrencyLimiter)

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

func (*ConcurrencyLimiter) Descriptor deprecated

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

Deprecated: Use ConcurrencyLimiter.ProtoReflect.Descriptor instead.

func (*ConcurrencyLimiter) GetActuationStrategy

func (m *ConcurrencyLimiter) GetActuationStrategy() isConcurrencyLimiter_ActuationStrategy

func (*ConcurrencyLimiter) GetFlowSelector added in v0.15.0

func (x *ConcurrencyLimiter) GetFlowSelector() *FlowSelector

func (*ConcurrencyLimiter) GetLoadActuator added in v0.7.0

func (x *ConcurrencyLimiter) GetLoadActuator() *LoadActuator

func (*ConcurrencyLimiter) GetScheduler

func (x *ConcurrencyLimiter) GetScheduler() *Scheduler

func (*ConcurrencyLimiter) MarshalJSON

func (msg *ConcurrencyLimiter) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*ConcurrencyLimiter) ProtoMessage

func (*ConcurrencyLimiter) ProtoMessage()

func (*ConcurrencyLimiter) ProtoReflect

func (x *ConcurrencyLimiter) ProtoReflect() protoreflect.Message

func (*ConcurrencyLimiter) Reset

func (x *ConcurrencyLimiter) Reset()

func (*ConcurrencyLimiter) String

func (x *ConcurrencyLimiter) String() string

func (*ConcurrencyLimiter) UnmarshalJSON

func (msg *ConcurrencyLimiter) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type ConcurrencyLimiter_LoadActuator added in v0.7.0

type ConcurrencyLimiter_LoadActuator struct {
	// Actuator based on limiting the accepted concurrency under incoming concurrency * load multiplier.
	//
	// Actuation strategy defines the input signal that will drive the scheduler.
	LoadActuator *LoadActuator `protobuf:"bytes,3,opt,name=load_actuator,json=loadActuator,proto3,oneof"`
}

type ConstantSignal added in v0.21.0

type ConstantSignal struct {

	// Types that are assignable to Const:
	//	*ConstantSignal_SpecialValue
	//	*ConstantSignal_Value
	Const isConstantSignal_Const `protobuf_oneof:"const"`
	// contains filtered or unexported fields
}

Special constant input for ports and Variable component. Can provide either a constant value or special Nan/+-Inf value.

func (*ConstantSignal) DeepCopy added in v0.21.0

func (in *ConstantSignal) DeepCopy() *ConstantSignal

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

func (*ConstantSignal) DeepCopyInterface added in v0.21.0

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

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

func (*ConstantSignal) DeepCopyInto added in v0.21.0

func (in *ConstantSignal) DeepCopyInto(out *ConstantSignal)

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

func (*ConstantSignal) Descriptor deprecated added in v0.21.0

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

Deprecated: Use ConstantSignal.ProtoReflect.Descriptor instead.

func (*ConstantSignal) GetConst added in v0.21.0

func (m *ConstantSignal) GetConst() isConstantSignal_Const

func (*ConstantSignal) GetSpecialValue added in v0.21.0

func (x *ConstantSignal) GetSpecialValue() string

func (*ConstantSignal) GetValue added in v0.21.0

func (x *ConstantSignal) GetValue() float64

func (*ConstantSignal) MarshalJSON added in v0.21.0

func (msg *ConstantSignal) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*ConstantSignal) ProtoMessage added in v0.21.0

func (*ConstantSignal) ProtoMessage()

func (*ConstantSignal) ProtoReflect added in v0.21.0

func (x *ConstantSignal) ProtoReflect() protoreflect.Message

func (*ConstantSignal) Reset added in v0.21.0

func (x *ConstantSignal) Reset()

func (*ConstantSignal) String added in v0.21.0

func (x *ConstantSignal) String() string

func (*ConstantSignal) UnmarshalJSON added in v0.21.0

func (msg *ConstantSignal) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type ConstantSignal_SpecialValue added in v0.21.0

type ConstantSignal_SpecialValue struct {
	SpecialValue string `protobuf:"bytes,1,opt,name=special_value,json=specialValue,proto3,oneof" validate:"oneof=NaN +Inf -Inf"` // @gotags: validate:"oneof=NaN +Inf -Inf"
}

type ConstantSignal_Value added in v0.21.0

type ConstantSignal_Value struct {
	Value float64 `protobuf:"fixed64,2,opt,name=value,proto3,oneof"`
}

type Decider

type Decider struct {

	// Input ports for the Decider component.
	InPorts *Decider_Ins `protobuf:"bytes,1,opt,name=in_ports,json=inPorts,proto3" json:"in_ports,omitempty"`
	// Output ports for the Decider component.
	OutPorts *Decider_Outs `protobuf:"bytes,2,opt,name=out_ports,json=outPorts,proto3" json:"out_ports,omitempty"`
	// Comparison operator that computes operation on lhs and rhs input signals.
	Operator string `protobuf:"bytes,3,opt,name=operator,proto3" json:"operator,omitempty" validate:"oneof=gt lt gte lte eq neq"` // @gotags: validate:"oneof=gt lt gte lte eq neq"
	// Duration of time to wait before a transition to true state.
	// If the duration is zero, the transition will happen instantaneously.
	TrueFor *durationpb.Duration `protobuf:"bytes,4,opt,name=true_for,json=trueFor,proto3" json:"true_for,omitempty" default:"0s"` // @gotags: default:"0s"
	// Duration of time to wait before a transition to false state.
	// If the duration is zero, the transition will happen instantaneously.
	FalseFor *durationpb.Duration `protobuf:"bytes,5,opt,name=false_for,json=falseFor,proto3" json:"false_for,omitempty" default:"0s"` // @gotags: default:"0s"
	// contains filtered or unexported fields
}

Type of combinator that computes the comparison operation on lhs and rhs signals

The comparison operator can be greater-than, less-than, greater-than-or-equal, less-than-or-equal, equal, or not-equal.

This component also supports time-based response, i.e. the output transitions between 1.0 or 0.0 signal if the decider condition is true or false for at least "true_for" or "false_for" duration. If `true_for` and `false_for` durations are zero then the transitions are instantaneous.

func (*Decider) DeepCopy added in v0.1.2

func (in *Decider) DeepCopy() *Decider

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

func (*Decider) DeepCopyInterface added in v0.1.2

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

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

func (*Decider) DeepCopyInto added in v0.1.2

func (in *Decider) DeepCopyInto(out *Decider)

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

func (*Decider) Descriptor deprecated

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

Deprecated: Use Decider.ProtoReflect.Descriptor instead.

func (*Decider) GetFalseFor

func (x *Decider) GetFalseFor() *durationpb.Duration

func (*Decider) GetInPorts

func (x *Decider) GetInPorts() *Decider_Ins

func (*Decider) GetOperator

func (x *Decider) GetOperator() string

func (*Decider) GetOutPorts

func (x *Decider) GetOutPorts() *Decider_Outs

func (*Decider) GetTrueFor

func (x *Decider) GetTrueFor() *durationpb.Duration

func (*Decider) MarshalJSON

func (msg *Decider) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Decider) ProtoMessage

func (*Decider) ProtoMessage()

func (*Decider) ProtoReflect

func (x *Decider) ProtoReflect() protoreflect.Message

func (*Decider) Reset

func (x *Decider) Reset()

func (*Decider) String

func (x *Decider) String() string

func (*Decider) UnmarshalJSON

func (msg *Decider) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Decider_Ins

type Decider_Ins struct {

	// Left hand side input signal for the comparison operation.
	Lhs *InPort `protobuf:"bytes,1,opt,name=lhs,proto3" json:"lhs,omitempty"`
	// Right hand side input signal for the comparison operation.
	Rhs *InPort `protobuf:"bytes,2,opt,name=rhs,proto3" json:"rhs,omitempty"`
	// contains filtered or unexported fields
}

Inputs for the Decider component.

func (*Decider_Ins) DeepCopy added in v0.1.2

func (in *Decider_Ins) DeepCopy() *Decider_Ins

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

func (*Decider_Ins) DeepCopyInterface added in v0.1.2

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

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

func (*Decider_Ins) DeepCopyInto added in v0.1.2

func (in *Decider_Ins) DeepCopyInto(out *Decider_Ins)

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

func (*Decider_Ins) Descriptor deprecated

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

Deprecated: Use Decider_Ins.ProtoReflect.Descriptor instead.

func (*Decider_Ins) GetLhs

func (x *Decider_Ins) GetLhs() *InPort

func (*Decider_Ins) GetRhs

func (x *Decider_Ins) GetRhs() *InPort

func (*Decider_Ins) MarshalJSON

func (msg *Decider_Ins) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Decider_Ins) ProtoMessage

func (*Decider_Ins) ProtoMessage()

func (*Decider_Ins) ProtoReflect

func (x *Decider_Ins) ProtoReflect() protoreflect.Message

func (*Decider_Ins) Reset

func (x *Decider_Ins) Reset()

func (*Decider_Ins) String

func (x *Decider_Ins) String() string

func (*Decider_Ins) UnmarshalJSON

func (msg *Decider_Ins) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Decider_Outs

type Decider_Outs struct {

	// Selected signal (1.0 or 0.0).
	Output *OutPort `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

Outputs for the Decider component.

func (*Decider_Outs) DeepCopy added in v0.1.2

func (in *Decider_Outs) DeepCopy() *Decider_Outs

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

func (*Decider_Outs) DeepCopyInterface added in v0.1.2

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

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

func (*Decider_Outs) DeepCopyInto added in v0.1.2

func (in *Decider_Outs) DeepCopyInto(out *Decider_Outs)

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

func (*Decider_Outs) Descriptor deprecated

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

Deprecated: Use Decider_Outs.ProtoReflect.Descriptor instead.

func (*Decider_Outs) GetOutput

func (x *Decider_Outs) GetOutput() *OutPort

func (*Decider_Outs) MarshalJSON

func (msg *Decider_Outs) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Decider_Outs) ProtoMessage

func (*Decider_Outs) ProtoMessage()

func (*Decider_Outs) ProtoReflect

func (x *Decider_Outs) ProtoReflect() protoreflect.Message

func (*Decider_Outs) Reset

func (x *Decider_Outs) Reset()

func (*Decider_Outs) String

func (x *Decider_Outs) String() string

func (*Decider_Outs) UnmarshalJSON

func (msg *Decider_Outs) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Differentiator added in v0.19.0

type Differentiator struct {

	// Input ports for the Differentiator component.
	InPorts *Differentiator_Ins `protobuf:"bytes,1,opt,name=in_ports,json=inPorts,proto3" json:"in_ports,omitempty"`
	// Output ports for the Differentiator component.
	OutPorts *Differentiator_Outs `protobuf:"bytes,2,opt,name=out_ports,json=outPorts,proto3" json:"out_ports,omitempty"`
	// The window of time over which differentiator operates.
	Window *durationpb.Duration `protobuf:"bytes,3,opt,name=window,proto3" json:"window,omitempty" default:"5s"` // @gotags: default:"5s"
	// contains filtered or unexported fields
}

Differentiator calculates rate of change per tick.

func (*Differentiator) DeepCopy added in v0.19.0

func (in *Differentiator) DeepCopy() *Differentiator

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

func (*Differentiator) DeepCopyInterface added in v0.19.0

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

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

func (*Differentiator) DeepCopyInto added in v0.19.0

func (in *Differentiator) DeepCopyInto(out *Differentiator)

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

func (*Differentiator) Descriptor deprecated added in v0.19.0

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

Deprecated: Use Differentiator.ProtoReflect.Descriptor instead.

func (*Differentiator) GetInPorts added in v0.19.0

func (x *Differentiator) GetInPorts() *Differentiator_Ins

func (*Differentiator) GetOutPorts added in v0.19.0

func (x *Differentiator) GetOutPorts() *Differentiator_Outs

func (*Differentiator) GetWindow added in v0.19.0

func (x *Differentiator) GetWindow() *durationpb.Duration

func (*Differentiator) MarshalJSON added in v0.19.0

func (msg *Differentiator) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Differentiator) ProtoMessage added in v0.19.0

func (*Differentiator) ProtoMessage()

func (*Differentiator) ProtoReflect added in v0.19.0

func (x *Differentiator) ProtoReflect() protoreflect.Message

func (*Differentiator) Reset added in v0.19.0

func (x *Differentiator) Reset()

func (*Differentiator) String added in v0.19.0

func (x *Differentiator) String() string

func (*Differentiator) UnmarshalJSON added in v0.19.0

func (msg *Differentiator) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Differentiator_Ins added in v0.19.0

type Differentiator_Ins struct {
	Input *InPort `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"`
	// contains filtered or unexported fields
}

Inputs for the Differentiator component.

func (*Differentiator_Ins) DeepCopy added in v0.19.0

func (in *Differentiator_Ins) DeepCopy() *Differentiator_Ins

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

func (*Differentiator_Ins) DeepCopyInterface added in v0.19.0

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

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

func (*Differentiator_Ins) DeepCopyInto added in v0.19.0

func (in *Differentiator_Ins) DeepCopyInto(out *Differentiator_Ins)

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

func (*Differentiator_Ins) Descriptor deprecated added in v0.19.0

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

Deprecated: Use Differentiator_Ins.ProtoReflect.Descriptor instead.

func (*Differentiator_Ins) GetInput added in v0.19.0

func (x *Differentiator_Ins) GetInput() *InPort

func (*Differentiator_Ins) MarshalJSON added in v0.19.0

func (msg *Differentiator_Ins) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Differentiator_Ins) ProtoMessage added in v0.19.0

func (*Differentiator_Ins) ProtoMessage()

func (*Differentiator_Ins) ProtoReflect added in v0.19.0

func (x *Differentiator_Ins) ProtoReflect() protoreflect.Message

func (*Differentiator_Ins) Reset added in v0.19.0

func (x *Differentiator_Ins) Reset()

func (*Differentiator_Ins) String added in v0.19.0

func (x *Differentiator_Ins) String() string

func (*Differentiator_Ins) UnmarshalJSON added in v0.19.0

func (msg *Differentiator_Ins) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Differentiator_Outs added in v0.19.0

type Differentiator_Outs struct {
	Output *OutPort `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

Outputs for the Differentiator component.

func (*Differentiator_Outs) DeepCopy added in v0.19.0

func (in *Differentiator_Outs) DeepCopy() *Differentiator_Outs

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

func (*Differentiator_Outs) DeepCopyInterface added in v0.19.0

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

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

func (*Differentiator_Outs) DeepCopyInto added in v0.19.0

func (in *Differentiator_Outs) DeepCopyInto(out *Differentiator_Outs)

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

func (*Differentiator_Outs) Descriptor deprecated added in v0.19.0

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

Deprecated: Use Differentiator_Outs.ProtoReflect.Descriptor instead.

func (*Differentiator_Outs) GetOutput added in v0.19.0

func (x *Differentiator_Outs) GetOutput() *OutPort

func (*Differentiator_Outs) MarshalJSON added in v0.19.0

func (msg *Differentiator_Outs) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Differentiator_Outs) ProtoMessage added in v0.19.0

func (*Differentiator_Outs) ProtoMessage()

func (*Differentiator_Outs) ProtoReflect added in v0.19.0

func (x *Differentiator_Outs) ProtoReflect() protoreflect.Message

func (*Differentiator_Outs) Reset added in v0.19.0

func (x *Differentiator_Outs) Reset()

func (*Differentiator_Outs) String added in v0.19.0

func (x *Differentiator_Outs) String() string

func (*Differentiator_Outs) UnmarshalJSON added in v0.19.0

func (msg *Differentiator_Outs) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type EMA

type EMA struct {

	// Input ports for the EMA component.
	InPorts *EMA_Ins `protobuf:"bytes,1,opt,name=in_ports,json=inPorts,proto3" json:"in_ports,omitempty"`
	// Output ports for the EMA component.
	OutPorts *EMA_Outs `protobuf:"bytes,2,opt,name=out_ports,json=outPorts,proto3" json:"out_ports,omitempty"`
	// Parameters for the EMA component.
	Parameters *EMA_Parameters `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty" validate:"required"` // @gotags: validate:"required"
	// contains filtered or unexported fields
}

Exponential Moving Average (EMA) is a type of moving average that applies exponentially more weight to recent signal readings

At any time EMA component operates in one of the following states:

  1. Warm up state: The first warmup_window samples are used to compute the initial EMA. If an invalid reading is received during the warmup_window, the last good average is emitted and the state gets reset back to beginning of Warm up state.
  2. Normal state: The EMA is computed using following formula.

The EMA for a series $Y$ is calculated recursively as:

$$ \text{EMA} _t = \begin{cases}

Y_0, &\text{for } t = 0 \\
\alpha Y_t + (1 - \alpha) \text{EMA} _{t-1}, &\text{for }t > 0

\end{cases} $$

The coefficient $\alpha$ represents the degree of weighting decrease, a constant smoothing factor between 0 and 1. A higher $\alpha$ discounts older observations faster. The $\alpha$ is computed using ema\_window:

$$ \alpha = \frac{2}{N + 1} \quad\text{where } N = \frac{\text{ema\_window}}{\text{evaluation\_period}} $$

The EMA filter also employs a min-max-envelope logic during warm up stage, explained [here](#v1-e-m-a-ins).

func (*EMA) DeepCopy added in v0.1.2

func (in *EMA) DeepCopy() *EMA

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

func (*EMA) DeepCopyInterface added in v0.1.2

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

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

func (*EMA) DeepCopyInto added in v0.1.2

func (in *EMA) DeepCopyInto(out *EMA)

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

func (*EMA) Descriptor deprecated

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

Deprecated: Use EMA.ProtoReflect.Descriptor instead.

func (*EMA) GetInPorts

func (x *EMA) GetInPorts() *EMA_Ins

func (*EMA) GetOutPorts

func (x *EMA) GetOutPorts() *EMA_Outs

func (*EMA) GetParameters added in v0.21.0

func (x *EMA) GetParameters() *EMA_Parameters

func (*EMA) MarshalJSON

func (msg *EMA) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*EMA) ProtoMessage

func (*EMA) ProtoMessage()

func (*EMA) ProtoReflect

func (x *EMA) ProtoReflect() protoreflect.Message

func (*EMA) Reset

func (x *EMA) Reset()

func (*EMA) String

func (x *EMA) String() string

func (*EMA) UnmarshalJSON

func (msg *EMA) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type EMA_Ins

type EMA_Ins struct {

	// Input signal to be used for the EMA computation.
	Input *InPort `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"`
	// Upper bound of the moving average.
	//
	// Used during the warm-up stage: if the signal would exceed `max_envelope`
	// it's multiplied by `correction_factor_on_max_envelope_violation` **once per tick**.
	//
	// :::note
	//
	// If the signal deviates from `max_envelope` faster than the correction
	// faster, it might end up exceeding the envelope.
	//
	// :::
	//
	// :::note
	//
	// The envelope logic is **not** used outside the warm-up stage!
	//
	// :::
	MaxEnvelope *InPort `protobuf:"bytes,2,opt,name=max_envelope,json=maxEnvelope,proto3" json:"max_envelope,omitempty"`
	// Lower bound of the moving average.
	//
	// Used during the warm-up stage analogously to `max_envelope`.
	MinEnvelope *InPort `protobuf:"bytes,3,opt,name=min_envelope,json=minEnvelope,proto3" json:"min_envelope,omitempty"`
	// contains filtered or unexported fields
}

Inputs for the EMA component.

func (*EMA_Ins) DeepCopy added in v0.1.2

func (in *EMA_Ins) DeepCopy() *EMA_Ins

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

func (*EMA_Ins) DeepCopyInterface added in v0.1.2

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

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

func (*EMA_Ins) DeepCopyInto added in v0.1.2

func (in *EMA_Ins) DeepCopyInto(out *EMA_Ins)

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

func (*EMA_Ins) Descriptor deprecated

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

Deprecated: Use EMA_Ins.ProtoReflect.Descriptor instead.

func (*EMA_Ins) GetInput

func (x *EMA_Ins) GetInput() *InPort

func (*EMA_Ins) GetMaxEnvelope

func (x *EMA_Ins) GetMaxEnvelope() *InPort

func (*EMA_Ins) GetMinEnvelope

func (x *EMA_Ins) GetMinEnvelope() *InPort

func (*EMA_Ins) MarshalJSON

func (msg *EMA_Ins) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*EMA_Ins) ProtoMessage

func (*EMA_Ins) ProtoMessage()

func (*EMA_Ins) ProtoReflect

func (x *EMA_Ins) ProtoReflect() protoreflect.Message

func (*EMA_Ins) Reset

func (x *EMA_Ins) Reset()

func (*EMA_Ins) String

func (x *EMA_Ins) String() string

func (*EMA_Ins) UnmarshalJSON

func (msg *EMA_Ins) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type EMA_Outs

type EMA_Outs struct {

	// Exponential moving average of the series of reading as an output signal.
	Output *OutPort `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

Outputs for the EMA component.

func (*EMA_Outs) DeepCopy added in v0.1.2

func (in *EMA_Outs) DeepCopy() *EMA_Outs

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

func (*EMA_Outs) DeepCopyInterface added in v0.1.2

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

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

func (*EMA_Outs) DeepCopyInto added in v0.1.2

func (in *EMA_Outs) DeepCopyInto(out *EMA_Outs)

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

func (*EMA_Outs) Descriptor deprecated

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

Deprecated: Use EMA_Outs.ProtoReflect.Descriptor instead.

func (*EMA_Outs) GetOutput

func (x *EMA_Outs) GetOutput() *OutPort

func (*EMA_Outs) MarshalJSON

func (msg *EMA_Outs) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*EMA_Outs) ProtoMessage

func (*EMA_Outs) ProtoMessage()

func (*EMA_Outs) ProtoReflect

func (x *EMA_Outs) ProtoReflect() protoreflect.Message

func (*EMA_Outs) Reset

func (x *EMA_Outs) Reset()

func (*EMA_Outs) String

func (x *EMA_Outs) String() string

func (*EMA_Outs) UnmarshalJSON

func (msg *EMA_Outs) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type EMA_Parameters added in v0.21.0

type EMA_Parameters struct {

	// Duration of EMA sampling window.
	EmaWindow *durationpb.Duration `protobuf:"bytes,1,opt,name=ema_window,json=emaWindow,proto3" json:"ema_window,omitempty" default:"5s"` // @gotags: default:"5s"
	// Duration of EMA warming up window.
	//
	// The initial value of the EMA is the average of signal readings received during the warm-up window.
	WarmupWindow *durationpb.Duration `protobuf:"bytes,2,opt,name=warmup_window,json=warmupWindow,proto3" json:"warmup_window,omitempty" default:"0s"` // @gotags: default:"0s"
	// Correction factor to apply on the output value if its in violation of the min envelope.
	CorrectionFactorOnMinEnvelopeViolation float64 `` // @gotags: validate:"gte=1.0" default:"1.0"
	/* 218-byte string literal not displayed */
	// Correction factor to apply on the output value if its in violation of the max envelope.
	CorrectionFactorOnMaxEnvelopeViolation float64 `` // @gotags: validate:"gte=0,lte=1.0" default:"1.0"
	/* 224-byte string literal not displayed */
	// Whether the output is valid during the warm-up stage.
	ValidDuringWarmup bool `` // @gotags: default:"false"
	/* 131-byte string literal not displayed */
	// contains filtered or unexported fields
}

Parameters for the EMA component.

func (*EMA_Parameters) DeepCopy added in v0.21.0

func (in *EMA_Parameters) DeepCopy() *EMA_Parameters

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

func (*EMA_Parameters) DeepCopyInterface added in v0.21.0

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

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

func (*EMA_Parameters) DeepCopyInto added in v0.21.0

func (in *EMA_Parameters) DeepCopyInto(out *EMA_Parameters)

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

func (*EMA_Parameters) Descriptor deprecated added in v0.21.0

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

Deprecated: Use EMA_Parameters.ProtoReflect.Descriptor instead.

func (*EMA_Parameters) GetCorrectionFactorOnMaxEnvelopeViolation added in v0.21.0

func (x *EMA_Parameters) GetCorrectionFactorOnMaxEnvelopeViolation() float64

func (*EMA_Parameters) GetCorrectionFactorOnMinEnvelopeViolation added in v0.21.0

func (x *EMA_Parameters) GetCorrectionFactorOnMinEnvelopeViolation() float64

func (*EMA_Parameters) GetEmaWindow added in v0.21.0

func (x *EMA_Parameters) GetEmaWindow() *durationpb.Duration

func (*EMA_Parameters) GetValidDuringWarmup added in v0.21.0

func (x *EMA_Parameters) GetValidDuringWarmup() bool

func (*EMA_Parameters) GetWarmupWindow added in v0.21.0

func (x *EMA_Parameters) GetWarmupWindow() *durationpb.Duration

func (*EMA_Parameters) MarshalJSON added in v0.21.0

func (msg *EMA_Parameters) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*EMA_Parameters) ProtoMessage added in v0.21.0

func (*EMA_Parameters) ProtoMessage()

func (*EMA_Parameters) ProtoReflect added in v0.21.0

func (x *EMA_Parameters) ProtoReflect() protoreflect.Message

func (*EMA_Parameters) Reset added in v0.21.0

func (x *EMA_Parameters) Reset()

func (*EMA_Parameters) String added in v0.21.0

func (x *EMA_Parameters) String() string

func (*EMA_Parameters) UnmarshalJSON added in v0.21.0

func (msg *EMA_Parameters) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type EqualsMatchExpression added in v0.8.0

type EqualsMatchExpression struct {

	// Name of the label to equal match the value.
	Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty" validate:"required"` // @gotags: validate:"required"
	// Exact value that the label should be equal to.
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// contains filtered or unexported fields
}

Label selector expression of the equal form "label == value".

func (*EqualsMatchExpression) DeepCopy added in v0.8.0

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

func (*EqualsMatchExpression) DeepCopyInterface added in v0.8.0

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

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

func (*EqualsMatchExpression) DeepCopyInto added in v0.8.0

func (in *EqualsMatchExpression) DeepCopyInto(out *EqualsMatchExpression)

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

func (*EqualsMatchExpression) Descriptor deprecated added in v0.8.0

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

Deprecated: Use EqualsMatchExpression.ProtoReflect.Descriptor instead.

func (*EqualsMatchExpression) GetLabel added in v0.8.0

func (x *EqualsMatchExpression) GetLabel() string

func (*EqualsMatchExpression) GetValue added in v0.8.0

func (x *EqualsMatchExpression) GetValue() string

func (*EqualsMatchExpression) MarshalJSON added in v0.8.0

func (msg *EqualsMatchExpression) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*EqualsMatchExpression) ProtoMessage added in v0.8.0

func (*EqualsMatchExpression) ProtoMessage()

func (*EqualsMatchExpression) ProtoReflect added in v0.8.0

func (x *EqualsMatchExpression) ProtoReflect() protoreflect.Message

func (*EqualsMatchExpression) Reset added in v0.8.0

func (x *EqualsMatchExpression) Reset()

func (*EqualsMatchExpression) String added in v0.8.0

func (x *EqualsMatchExpression) String() string

func (*EqualsMatchExpression) UnmarshalJSON added in v0.8.0

func (msg *EqualsMatchExpression) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Extractor

type Extractor struct {

	// Types that are assignable to Variant:
	//	*Extractor_From
	//	*Extractor_Json
	//	*Extractor_Address
	//	*Extractor_Jwt
	//	*Extractor_PathTemplates
	Variant isExtractor_Variant `protobuf_oneof:"variant"`
	// contains filtered or unexported fields
}

Defines a high-level way to specify how to extract a flow label value given http request metadata, without a need to write rego code

There are multiple variants of extractor, specify exactly one.

func (*Extractor) DeepCopy added in v0.1.2

func (in *Extractor) DeepCopy() *Extractor

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

func (*Extractor) DeepCopyInterface added in v0.1.2

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

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

func (*Extractor) DeepCopyInto added in v0.1.2

func (in *Extractor) DeepCopyInto(out *Extractor)

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

func (*Extractor) Descriptor deprecated

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

Deprecated: Use Extractor.ProtoReflect.Descriptor instead.

func (*Extractor) GetAddress

func (x *Extractor) GetAddress() *AddressExtractor

func (*Extractor) GetFrom

func (x *Extractor) GetFrom() string

func (*Extractor) GetJson

func (x *Extractor) GetJson() *JSONExtractor

func (*Extractor) GetJwt

func (x *Extractor) GetJwt() *JWTExtractor

func (*Extractor) GetPathTemplates

func (x *Extractor) GetPathTemplates() *PathTemplateMatcher

func (*Extractor) GetVariant

func (m *Extractor) GetVariant() isExtractor_Variant

func (*Extractor) MarshalJSON

func (msg *Extractor) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Extractor) ProtoMessage

func (*Extractor) ProtoMessage()

func (*Extractor) ProtoReflect

func (x *Extractor) ProtoReflect() protoreflect.Message

func (*Extractor) Reset

func (x *Extractor) Reset()

func (*Extractor) String

func (x *Extractor) String() string

func (*Extractor) UnmarshalJSON

func (msg *Extractor) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Extractor_Address

type Extractor_Address struct {
	// Display an address as a single string - `<ip>:<port>`.
	Address *AddressExtractor `protobuf:"bytes,3,opt,name=address,proto3,oneof"`
}

type Extractor_From

type Extractor_From struct {
	// Use an attribute with no conversion
	//
	// Attribute path is a dot-separated path to attribute.
	//
	// Should be either:
	// * one of the fields of [Attribute Context][attribute-context], or
	// * a special "request.http.bearer" pseudo-attribute.
	// Eg. "request.http.method" or "request.http.header.user-agent"
	//
	// Note: The same attribute path syntax is shared by other extractor variants,
	// wherever attribute path is needed in their "from" syntax.
	//
	// Example:
	// “`yaml
	// from: request.http.headers.user-agent
	// “`
	// [attribute-context]: https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/auth/v3/attribute_context.proto
	From string `protobuf:"bytes,1,opt,name=from,proto3,oneof"`
}

type Extractor_Json

type Extractor_Json struct {
	// Deserialize a json, and extract one of the fields.
	Json *JSONExtractor `protobuf:"bytes,2,opt,name=json,proto3,oneof"`
}

type Extractor_Jwt

type Extractor_Jwt struct {
	// Parse the attribute as JWT and read the payload.
	Jwt *JWTExtractor `protobuf:"bytes,4,opt,name=jwt,proto3,oneof"`
}

type Extractor_PathTemplates

type Extractor_PathTemplates struct {
	// Match HTTP Path to given path templates.
	PathTemplates *PathTemplateMatcher `protobuf:"bytes,5,opt,name=path_templates,json=pathTemplates,proto3,oneof"`
}

type Extrapolator

type Extrapolator struct {

	// Input ports for the Extrapolator component.
	InPorts *Extrapolator_Ins `protobuf:"bytes,1,opt,name=in_ports,json=inPorts,proto3" json:"in_ports,omitempty"`
	// Output ports for the Extrapolator component.
	OutPorts *Extrapolator_Outs `protobuf:"bytes,2,opt,name=out_ports,json=outPorts,proto3" json:"out_ports,omitempty"`
	// Parameters for the Extrapolator component.
	Parameters *Extrapolator_Parameters `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty" validate:"required"` // @gotags: validate:"required"
	// contains filtered or unexported fields
}

Extrapolates the input signal by repeating the last valid value during the period in which it is invalid

It does so until `maximum_extrapolation_interval` is reached, beyond which it emits invalid signal unless input signal becomes valid again.

func (*Extrapolator) DeepCopy added in v0.1.2

func (in *Extrapolator) DeepCopy() *Extrapolator

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

func (*Extrapolator) DeepCopyInterface added in v0.1.2

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

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

func (*Extrapolator) DeepCopyInto added in v0.1.2

func (in *Extrapolator) DeepCopyInto(out *Extrapolator)

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

func (*Extrapolator) Descriptor deprecated

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

Deprecated: Use Extrapolator.ProtoReflect.Descriptor instead.

func (*Extrapolator) GetInPorts

func (x *Extrapolator) GetInPorts() *Extrapolator_Ins

func (*Extrapolator) GetOutPorts

func (x *Extrapolator) GetOutPorts() *Extrapolator_Outs

func (*Extrapolator) GetParameters added in v0.21.0

func (x *Extrapolator) GetParameters() *Extrapolator_Parameters

func (*Extrapolator) MarshalJSON

func (msg *Extrapolator) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Extrapolator) ProtoMessage

func (*Extrapolator) ProtoMessage()

func (*Extrapolator) ProtoReflect

func (x *Extrapolator) ProtoReflect() protoreflect.Message

func (*Extrapolator) Reset

func (x *Extrapolator) Reset()

func (*Extrapolator) String

func (x *Extrapolator) String() string

func (*Extrapolator) UnmarshalJSON

func (msg *Extrapolator) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Extrapolator_Ins

type Extrapolator_Ins struct {

	// Input signal for the Extrapolator component.
	Input *InPort `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"`
	// contains filtered or unexported fields
}

Inputs for the Extrapolator component.

func (*Extrapolator_Ins) DeepCopy added in v0.1.2

func (in *Extrapolator_Ins) DeepCopy() *Extrapolator_Ins

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

func (*Extrapolator_Ins) DeepCopyInterface added in v0.1.2

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

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

func (*Extrapolator_Ins) DeepCopyInto added in v0.1.2

func (in *Extrapolator_Ins) DeepCopyInto(out *Extrapolator_Ins)

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

func (*Extrapolator_Ins) Descriptor deprecated

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

Deprecated: Use Extrapolator_Ins.ProtoReflect.Descriptor instead.

func (*Extrapolator_Ins) GetInput

func (x *Extrapolator_Ins) GetInput() *InPort

func (*Extrapolator_Ins) MarshalJSON

func (msg *Extrapolator_Ins) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Extrapolator_Ins) ProtoMessage

func (*Extrapolator_Ins) ProtoMessage()

func (*Extrapolator_Ins) ProtoReflect

func (x *Extrapolator_Ins) ProtoReflect() protoreflect.Message

func (*Extrapolator_Ins) Reset

func (x *Extrapolator_Ins) Reset()

func (*Extrapolator_Ins) String

func (x *Extrapolator_Ins) String() string

func (*Extrapolator_Ins) UnmarshalJSON

func (msg *Extrapolator_Ins) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Extrapolator_Outs

type Extrapolator_Outs struct {

	// Extrapolated signal.
	Output *OutPort `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

Outputs for the Extrapolator component.

func (*Extrapolator_Outs) DeepCopy added in v0.1.2

func (in *Extrapolator_Outs) DeepCopy() *Extrapolator_Outs

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

func (*Extrapolator_Outs) DeepCopyInterface added in v0.1.2

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

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

func (*Extrapolator_Outs) DeepCopyInto added in v0.1.2

func (in *Extrapolator_Outs) DeepCopyInto(out *Extrapolator_Outs)

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

func (*Extrapolator_Outs) Descriptor deprecated

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

Deprecated: Use Extrapolator_Outs.ProtoReflect.Descriptor instead.

func (*Extrapolator_Outs) GetOutput

func (x *Extrapolator_Outs) GetOutput() *OutPort

func (*Extrapolator_Outs) MarshalJSON

func (msg *Extrapolator_Outs) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Extrapolator_Outs) ProtoMessage

func (*Extrapolator_Outs) ProtoMessage()

func (*Extrapolator_Outs) ProtoReflect

func (x *Extrapolator_Outs) ProtoReflect() protoreflect.Message

func (*Extrapolator_Outs) Reset

func (x *Extrapolator_Outs) Reset()

func (*Extrapolator_Outs) String

func (x *Extrapolator_Outs) String() string

func (*Extrapolator_Outs) UnmarshalJSON

func (msg *Extrapolator_Outs) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Extrapolator_Parameters added in v0.21.0

type Extrapolator_Parameters struct {

	// Maximum time interval to repeat the last valid value of input signal.
	MaxExtrapolationInterval *durationpb.Duration `` // @gotags: default:"10s"
	/* 149-byte string literal not displayed */
	// contains filtered or unexported fields
}

Parameters for the Extrapolator component.

func (*Extrapolator_Parameters) DeepCopy added in v0.21.0

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

func (*Extrapolator_Parameters) DeepCopyInterface added in v0.21.0

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

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

func (*Extrapolator_Parameters) DeepCopyInto added in v0.21.0

func (in *Extrapolator_Parameters) DeepCopyInto(out *Extrapolator_Parameters)

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

func (*Extrapolator_Parameters) Descriptor deprecated added in v0.21.0

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

Deprecated: Use Extrapolator_Parameters.ProtoReflect.Descriptor instead.

func (*Extrapolator_Parameters) GetMaxExtrapolationInterval added in v0.21.0

func (x *Extrapolator_Parameters) GetMaxExtrapolationInterval() *durationpb.Duration

func (*Extrapolator_Parameters) MarshalJSON added in v0.21.0

func (msg *Extrapolator_Parameters) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Extrapolator_Parameters) ProtoMessage added in v0.21.0

func (*Extrapolator_Parameters) ProtoMessage()

func (*Extrapolator_Parameters) ProtoReflect added in v0.21.0

func (x *Extrapolator_Parameters) ProtoReflect() protoreflect.Message

func (*Extrapolator_Parameters) Reset added in v0.21.0

func (x *Extrapolator_Parameters) Reset()

func (*Extrapolator_Parameters) String added in v0.21.0

func (x *Extrapolator_Parameters) String() string

func (*Extrapolator_Parameters) UnmarshalJSON added in v0.21.0

func (msg *Extrapolator_Parameters) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type FirstValid added in v0.5.1

type FirstValid struct {

	// Input ports for the FirstValid component.
	InPorts *FirstValid_Ins `protobuf:"bytes,1,opt,name=in_ports,json=inPorts,proto3" json:"in_ports,omitempty"`
	// Output ports for the FirstValid component.
	OutPorts *FirstValid_Outs `protobuf:"bytes,2,opt,name=out_ports,json=outPorts,proto3" json:"out_ports,omitempty"`
	// contains filtered or unexported fields
}

Picks the first valid input signal from the array of input signals and emits it as an output signal

func (*FirstValid) DeepCopy added in v0.5.1

func (in *FirstValid) DeepCopy() *FirstValid

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

func (*FirstValid) DeepCopyInterface added in v0.5.1

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

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

func (*FirstValid) DeepCopyInto added in v0.5.1

func (in *FirstValid) DeepCopyInto(out *FirstValid)

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

func (*FirstValid) Descriptor deprecated added in v0.5.1

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

Deprecated: Use FirstValid.ProtoReflect.Descriptor instead.

func (*FirstValid) GetInPorts added in v0.5.1

func (x *FirstValid) GetInPorts() *FirstValid_Ins

func (*FirstValid) GetOutPorts added in v0.5.1

func (x *FirstValid) GetOutPorts() *FirstValid_Outs

func (*FirstValid) MarshalJSON added in v0.5.1

func (msg *FirstValid) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*FirstValid) ProtoMessage added in v0.5.1

func (*FirstValid) ProtoMessage()

func (*FirstValid) ProtoReflect added in v0.5.1

func (x *FirstValid) ProtoReflect() protoreflect.Message

func (*FirstValid) Reset added in v0.5.1

func (x *FirstValid) Reset()

func (*FirstValid) String added in v0.5.1

func (x *FirstValid) String() string

func (*FirstValid) UnmarshalJSON added in v0.5.1

func (msg *FirstValid) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type FirstValid_Ins added in v0.5.1

type FirstValid_Ins struct {

	// Array of input signals.
	Inputs []*InPort `protobuf:"bytes,1,rep,name=inputs,proto3" json:"inputs,omitempty" validate:"dive"` // @gotags: validate:"dive"
	// contains filtered or unexported fields
}

Inputs for the FirstValid component.

func (*FirstValid_Ins) DeepCopy added in v0.5.1

func (in *FirstValid_Ins) DeepCopy() *FirstValid_Ins

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

func (*FirstValid_Ins) DeepCopyInterface added in v0.5.1

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

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

func (*FirstValid_Ins) DeepCopyInto added in v0.5.1

func (in *FirstValid_Ins) DeepCopyInto(out *FirstValid_Ins)

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

func (*FirstValid_Ins) Descriptor deprecated added in v0.5.1

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

Deprecated: Use FirstValid_Ins.ProtoReflect.Descriptor instead.

func (*FirstValid_Ins) GetInputs added in v0.5.1

func (x *FirstValid_Ins) GetInputs() []*InPort

func (*FirstValid_Ins) MarshalJSON added in v0.5.1

func (msg *FirstValid_Ins) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*FirstValid_Ins) ProtoMessage added in v0.5.1

func (*FirstValid_Ins) ProtoMessage()

func (*FirstValid_Ins) ProtoReflect added in v0.5.1

func (x *FirstValid_Ins) ProtoReflect() protoreflect.Message

func (*FirstValid_Ins) Reset added in v0.5.1

func (x *FirstValid_Ins) Reset()

func (*FirstValid_Ins) String added in v0.5.1

func (x *FirstValid_Ins) String() string

func (*FirstValid_Ins) UnmarshalJSON added in v0.5.1

func (msg *FirstValid_Ins) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type FirstValid_Outs added in v0.5.1

type FirstValid_Outs struct {

	// First valid input signal as an output signal.
	Output *OutPort `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

Outputs for the FirstValid component.

func (*FirstValid_Outs) DeepCopy added in v0.5.1

func (in *FirstValid_Outs) DeepCopy() *FirstValid_Outs

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

func (*FirstValid_Outs) DeepCopyInterface added in v0.5.1

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

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

func (*FirstValid_Outs) DeepCopyInto added in v0.5.1

func (in *FirstValid_Outs) DeepCopyInto(out *FirstValid_Outs)

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

func (*FirstValid_Outs) Descriptor deprecated added in v0.5.1

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

Deprecated: Use FirstValid_Outs.ProtoReflect.Descriptor instead.

func (*FirstValid_Outs) GetOutput added in v0.5.1

func (x *FirstValid_Outs) GetOutput() *OutPort

func (*FirstValid_Outs) MarshalJSON added in v0.5.1

func (msg *FirstValid_Outs) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*FirstValid_Outs) ProtoMessage added in v0.5.1

func (*FirstValid_Outs) ProtoMessage()

func (*FirstValid_Outs) ProtoReflect added in v0.5.1

func (x *FirstValid_Outs) ProtoReflect() protoreflect.Message

func (*FirstValid_Outs) Reset added in v0.5.1

func (x *FirstValid_Outs) Reset()

func (*FirstValid_Outs) String added in v0.5.1

func (x *FirstValid_Outs) String() string

func (*FirstValid_Outs) UnmarshalJSON added in v0.5.1

func (msg *FirstValid_Outs) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type FlowControl added in v0.21.0

type FlowControl struct {

	// Types that are assignable to Component:
	//	*FlowControl_RateLimiter
	//	*FlowControl_ConcurrencyLimiter
	//	*FlowControl_AimdConcurrencyController
	Component isFlowControl_Component `protobuf_oneof:"component"`
	// contains filtered or unexported fields
}

FlowControl components are used to regulate requests flow.

func (*FlowControl) DeepCopy added in v0.21.0

func (in *FlowControl) DeepCopy() *FlowControl

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

func (*FlowControl) DeepCopyInterface added in v0.21.0

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

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

func (*FlowControl) DeepCopyInto added in v0.21.0

func (in *FlowControl) DeepCopyInto(out *FlowControl)

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

func (*FlowControl) Descriptor deprecated added in v0.21.0

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

Deprecated: Use FlowControl.ProtoReflect.Descriptor instead.

func (*FlowControl) GetAimdConcurrencyController added in v0.21.0

func (x *FlowControl) GetAimdConcurrencyController() *AIMDConcurrencyController

func (*FlowControl) GetComponent added in v0.21.0

func (m *FlowControl) GetComponent() isFlowControl_Component

func (*FlowControl) GetConcurrencyLimiter added in v0.21.0

func (x *FlowControl) GetConcurrencyLimiter() *ConcurrencyLimiter

func (*FlowControl) GetRateLimiter added in v0.21.0

func (x *FlowControl) GetRateLimiter() *RateLimiter

func (*FlowControl) MarshalJSON added in v0.21.0

func (msg *FlowControl) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*FlowControl) ProtoMessage added in v0.21.0

func (*FlowControl) ProtoMessage()

func (*FlowControl) ProtoReflect added in v0.21.0

func (x *FlowControl) ProtoReflect() protoreflect.Message

func (*FlowControl) Reset added in v0.21.0

func (x *FlowControl) Reset()

func (*FlowControl) String added in v0.21.0

func (x *FlowControl) String() string

func (*FlowControl) UnmarshalJSON added in v0.21.0

func (msg *FlowControl) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type FlowControl_AimdConcurrencyController added in v0.21.0

type FlowControl_AimdConcurrencyController struct {
	// AIMD Concurrency control component is based on Additive Increase and Multiplicative Decrease of Concurrency. It takes a signal and setpoint as inputs and reduces concurrency limits proportionally (or any arbitrary power) based on deviation of the signal from setpoint. Internally implemented as a nested circuit.
	AimdConcurrencyController *AIMDConcurrencyController `protobuf:"bytes,3,opt,name=aimd_concurrency_controller,json=aimdConcurrencyController,proto3,oneof"`
}

type FlowControl_ConcurrencyLimiter added in v0.21.0

type FlowControl_ConcurrencyLimiter struct {
	// Concurrency Limiter provides service protection by applying prioritized load shedding of flows using a network scheduler (e.g. Weighted Fair Queuing).
	ConcurrencyLimiter *ConcurrencyLimiter `protobuf:"bytes,2,opt,name=concurrency_limiter,json=concurrencyLimiter,proto3,oneof"`
}

type FlowControl_RateLimiter added in v0.21.0

type FlowControl_RateLimiter struct {
	// Rate Limiter provides service protection by applying rate limiter.
	RateLimiter *RateLimiter `protobuf:"bytes,1,opt,name=rate_limiter,json=rateLimiter,proto3,oneof"`
}

type FlowMatcher added in v0.15.0

type FlowMatcher struct {

	// [Control Point](/concepts/integrations/flow-control/flow-control.md#control-point)
	// identifies the location of a Flow within a Service. For an SDK based insertion, a Control Point can represent a particular feature or execution
	// block within a Service. In case of Service Mesh or Middleware insertion, a Control Point can identify ingress vs egress calls or distinct listeners
	// or filter chains.
	ControlPoint string `protobuf:"bytes,1,opt,name=control_point,json=controlPoint,proto3" json:"control_point,omitempty" validate:"required"` // @gotags: validate:"required"
	// Label matcher allows to add _additional_ condition on
	// [flow labels](/concepts/integrations/flow-control/flow-label.md)
	// must also be satisfied (in addition to service+control point matching)
	//
	// :::info
	//
	// See also [Label Matcher overview](/concepts/integrations/flow-control/flow-selector.md#label-matcher).
	//
	// :::
	//
	// :::note
	//
	// [Classifiers](#v1-classifier) _can_ use flow labels created by some other
	// classifier, but only if they were created at some previous control point
	// (and propagated in baggage).
	//
	// This limitation doesn't apply to selectors of other entities, like
	// Flux Meters or Actuators. It's valid to create a flow label on a control
	// point using classifier, and immediately use it for matching on the same
	// control point.
	//
	// :::
	LabelMatcher *LabelMatcher `protobuf:"bytes,2,opt,name=label_matcher,json=labelMatcher,proto3" json:"label_matcher,omitempty"`
	// contains filtered or unexported fields
}

Describes which flows a [flow control component](/concepts/integrations/flow-control/flow-control.md#components) should apply to

:::info

See also [FlowSelector overview](/concepts/integrations/flow-control/flow-selector.md).

:::

Example: ```yaml control_point: ingress label_matcher:

match_labels:
  user_tier: gold
match_expressions:
  - key: query
    operator: In
    values:
      - insert
      - delete
  - label: user_agent
    regex: ^(?!.*Chrome).*Safari

```

func (*FlowMatcher) DeepCopy added in v0.15.0

func (in *FlowMatcher) DeepCopy() *FlowMatcher

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

func (*FlowMatcher) DeepCopyInterface added in v0.15.0

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

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

func (*FlowMatcher) DeepCopyInto added in v0.15.0

func (in *FlowMatcher) DeepCopyInto(out *FlowMatcher)

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

func (*FlowMatcher) Descriptor deprecated added in v0.15.0

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

Deprecated: Use FlowMatcher.ProtoReflect.Descriptor instead.

func (*FlowMatcher) GetControlPoint added in v0.15.0

func (x *FlowMatcher) GetControlPoint() string

func (*FlowMatcher) GetLabelMatcher added in v0.15.0

func (x *FlowMatcher) GetLabelMatcher() *LabelMatcher

func (*FlowMatcher) MarshalJSON added in v0.15.0

func (msg *FlowMatcher) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*FlowMatcher) ProtoMessage added in v0.15.0

func (*FlowMatcher) ProtoMessage()

func (*FlowMatcher) ProtoReflect added in v0.15.0

func (x *FlowMatcher) ProtoReflect() protoreflect.Message

func (*FlowMatcher) Reset added in v0.15.0

func (x *FlowMatcher) Reset()

func (*FlowMatcher) String added in v0.15.0

func (x *FlowMatcher) String() string

func (*FlowMatcher) UnmarshalJSON added in v0.15.0

func (msg *FlowMatcher) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type FlowSelector added in v0.8.0

type FlowSelector struct {
	ServiceSelector *ServiceSelector `` // @gotags: validate:"required"
	/* 126-byte string literal not displayed */
	FlowMatcher *FlowMatcher `protobuf:"bytes,2,opt,name=flow_matcher,json=flowMatcher,proto3" json:"flow_matcher,omitempty" validate:"required"` // @gotags: validate:"required"
	// contains filtered or unexported fields
}

Describes which flow in which service a [flow control component](/concepts/integrations/flow-control/flow-control.md#components) should apply to

:::info

See also [FlowSelector overview](/concepts/integrations/flow-control/flow-selector.md).

:::

func (*FlowSelector) DeepCopy added in v0.8.0

func (in *FlowSelector) DeepCopy() *FlowSelector

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

func (*FlowSelector) DeepCopyInterface added in v0.8.0

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

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

func (*FlowSelector) DeepCopyInto added in v0.8.0

func (in *FlowSelector) DeepCopyInto(out *FlowSelector)

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

func (*FlowSelector) Descriptor deprecated added in v0.8.0

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

Deprecated: Use FlowSelector.ProtoReflect.Descriptor instead.

func (*FlowSelector) GetFlowMatcher added in v0.15.0

func (x *FlowSelector) GetFlowMatcher() *FlowMatcher

func (*FlowSelector) GetServiceSelector added in v0.15.0

func (x *FlowSelector) GetServiceSelector() *ServiceSelector

func (*FlowSelector) MarshalJSON added in v0.8.0

func (msg *FlowSelector) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*FlowSelector) ProtoMessage added in v0.8.0

func (*FlowSelector) ProtoMessage()

func (*FlowSelector) ProtoReflect added in v0.8.0

func (x *FlowSelector) ProtoReflect() protoreflect.Message

func (*FlowSelector) Reset added in v0.8.0

func (x *FlowSelector) Reset()

func (*FlowSelector) String added in v0.8.0

func (x *FlowSelector) String() string

func (*FlowSelector) UnmarshalJSON added in v0.8.0

func (msg *FlowSelector) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type FluxMeter

type FluxMeter struct {

	// The selection criteria for the traffic that will be measured.
	FlowSelector *FlowSelector `protobuf:"bytes,1,opt,name=flow_selector,json=flowSelector,proto3" json:"flow_selector,omitempty"`
	// Latency histogram buckets (in ms) for this Flux Meter.
	//
	// Types that are assignable to HistogramBuckets:
	//	*FluxMeter_StaticBuckets_
	//	*FluxMeter_LinearBuckets_
	//	*FluxMeter_ExponentialBuckets_
	//	*FluxMeter_ExponentialBucketsRange_
	HistogramBuckets isFluxMeter_HistogramBuckets `protobuf_oneof:"histogram_buckets"`
	// Key of the attribute in access log or span from which the metric for this flux meter is read.
	//
	// :::info
	//
	// For list of available attributes in Envoy access logs, refer
	// [Envoy Filter](/get-started/integrations/flow-control/envoy/istio.md#envoy-filter)
	//
	// :::
	//
	AttributeKey string `` // @gotags: default:"workload_duration_ms"
	/* 128-byte string literal not displayed */
	// contains filtered or unexported fields
}

Flux Meter gathers metrics for the traffic that matches its selector. The histogram created by Flux Meter measures the workload latency by default.

:::info

See also [Flux Meter overview](/concepts/integrations/flow-control/flux-meter.md).

:::

Example of a selector that creates a histogram metric for all HTTP requests to particular service: ```yaml selector:

service_selector:
  service: myservice.mynamespace.svc.cluster.local
flow_selector:
  control_point: ingress

```

func (*FluxMeter) DeepCopy added in v0.1.2

func (in *FluxMeter) DeepCopy() *FluxMeter

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

func (*FluxMeter) DeepCopyInterface added in v0.1.2

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

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

func (*FluxMeter) DeepCopyInto added in v0.1.2

func (in *FluxMeter) DeepCopyInto(out *FluxMeter)

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

func (*FluxMeter) Descriptor deprecated

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

Deprecated: Use FluxMeter.ProtoReflect.Descriptor instead.

func (*FluxMeter) GetAttributeKey added in v0.1.3

func (x *FluxMeter) GetAttributeKey() string

func (*FluxMeter) GetExponentialBuckets added in v0.3.0

func (x *FluxMeter) GetExponentialBuckets() *FluxMeter_ExponentialBuckets

func (*FluxMeter) GetExponentialBucketsRange added in v0.3.0

func (x *FluxMeter) GetExponentialBucketsRange() *FluxMeter_ExponentialBucketsRange

func (*FluxMeter) GetFlowSelector added in v0.15.0

func (x *FluxMeter) GetFlowSelector() *FlowSelector

func (*FluxMeter) GetHistogramBuckets

func (m *FluxMeter) GetHistogramBuckets() isFluxMeter_HistogramBuckets

func (*FluxMeter) GetLinearBuckets added in v0.3.0

func (x *FluxMeter) GetLinearBuckets() *FluxMeter_LinearBuckets

func (*FluxMeter) GetStaticBuckets added in v0.3.0

func (x *FluxMeter) GetStaticBuckets() *FluxMeter_StaticBuckets

func (*FluxMeter) MarshalJSON

func (msg *FluxMeter) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*FluxMeter) ProtoMessage

func (*FluxMeter) ProtoMessage()

func (*FluxMeter) ProtoReflect

func (x *FluxMeter) ProtoReflect() protoreflect.Message

func (*FluxMeter) Reset

func (x *FluxMeter) Reset()

func (*FluxMeter) String

func (x *FluxMeter) String() string

func (*FluxMeter) UnmarshalJSON

func (msg *FluxMeter) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type FluxMeter_ExponentialBuckets added in v0.3.0

type FluxMeter_ExponentialBuckets struct {

	// Upper bound of the lowest bucket.
	Start float64 `protobuf:"fixed64,1,opt,name=start,proto3" json:"start,omitempty" validate:"gt=0.0"` // @gotags: validate:"gt=0.0"
	// Factor to be multiplied to the previous bucket's upper bound to calculate the following bucket's upper bound.
	Factor float64 `protobuf:"fixed64,2,opt,name=factor,proto3" json:"factor,omitempty" validate:"gt=1.0"` // @gotags: validate:"gt=1.0"
	// Number of buckets.
	Count int32 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty" validate:"gt=0"` // @gotags: validate:"gt=0"
	// contains filtered or unexported fields
}

ExponentialBuckets creates `count` number of buckets where the lowest bucket has an upper bound of `start` and each following bucket's upper bound is `factor` times the previous bucket's upper bound. The final +inf bucket is not counted.

func (*FluxMeter_ExponentialBuckets) DeepCopy added in v0.3.0

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

func (*FluxMeter_ExponentialBuckets) DeepCopyInterface added in v0.3.0

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

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

func (*FluxMeter_ExponentialBuckets) DeepCopyInto added in v0.3.0

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

func (*FluxMeter_ExponentialBuckets) Descriptor deprecated added in v0.3.0

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

Deprecated: Use FluxMeter_ExponentialBuckets.ProtoReflect.Descriptor instead.

func (*FluxMeter_ExponentialBuckets) GetCount added in v0.3.0

func (x *FluxMeter_ExponentialBuckets) GetCount() int32

func (*FluxMeter_ExponentialBuckets) GetFactor added in v0.3.0

func (x *FluxMeter_ExponentialBuckets) GetFactor() float64

func (*FluxMeter_ExponentialBuckets) GetStart added in v0.3.0

func (x *FluxMeter_ExponentialBuckets) GetStart() float64

func (*FluxMeter_ExponentialBuckets) MarshalJSON added in v0.3.0

func (msg *FluxMeter_ExponentialBuckets) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*FluxMeter_ExponentialBuckets) ProtoMessage added in v0.3.0

func (*FluxMeter_ExponentialBuckets) ProtoMessage()

func (*FluxMeter_ExponentialBuckets) ProtoReflect added in v0.3.0

func (*FluxMeter_ExponentialBuckets) Reset added in v0.3.0

func (x *FluxMeter_ExponentialBuckets) Reset()

func (*FluxMeter_ExponentialBuckets) String added in v0.3.0

func (*FluxMeter_ExponentialBuckets) UnmarshalJSON added in v0.3.0

func (msg *FluxMeter_ExponentialBuckets) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type FluxMeter_ExponentialBucketsRange added in v0.3.0

type FluxMeter_ExponentialBucketsRange struct {

	// Lowest bucket.
	Min float64 `protobuf:"fixed64,1,opt,name=min,proto3" json:"min,omitempty" validate:"gt=0.0"` // @gotags: validate:"gt=0.0"
	// Highest bucket.
	Max float64 `protobuf:"fixed64,2,opt,name=max,proto3" json:"max,omitempty"`
	// Number of buckets.
	Count int32 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty" validate:"gt=0"` // @gotags: validate:"gt=0"
	// contains filtered or unexported fields
}

ExponentialBucketsRange creates `count` number of buckets where the lowest bucket is `min` and the highest bucket is `max`. The final +inf bucket is not counted.

func (*FluxMeter_ExponentialBucketsRange) DeepCopy added in v0.3.0

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

func (*FluxMeter_ExponentialBucketsRange) DeepCopyInterface added in v0.3.0

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

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

func (*FluxMeter_ExponentialBucketsRange) DeepCopyInto added in v0.3.0

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

func (*FluxMeter_ExponentialBucketsRange) Descriptor deprecated added in v0.3.0

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

Deprecated: Use FluxMeter_ExponentialBucketsRange.ProtoReflect.Descriptor instead.

func (*FluxMeter_ExponentialBucketsRange) GetCount added in v0.3.0

func (*FluxMeter_ExponentialBucketsRange) GetMax added in v0.3.0

func (*FluxMeter_ExponentialBucketsRange) GetMin added in v0.3.0

func (*FluxMeter_ExponentialBucketsRange) MarshalJSON added in v0.3.0

func (msg *FluxMeter_ExponentialBucketsRange) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*FluxMeter_ExponentialBucketsRange) ProtoMessage added in v0.3.0

func (*FluxMeter_ExponentialBucketsRange) ProtoMessage()

func (*FluxMeter_ExponentialBucketsRange) ProtoReflect added in v0.3.0

func (*FluxMeter_ExponentialBucketsRange) Reset added in v0.3.0

func (*FluxMeter_ExponentialBucketsRange) String added in v0.3.0

func (*FluxMeter_ExponentialBucketsRange) UnmarshalJSON added in v0.3.0

func (msg *FluxMeter_ExponentialBucketsRange) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type FluxMeter_ExponentialBucketsRange_ added in v0.3.0

type FluxMeter_ExponentialBucketsRange_ struct {
	ExponentialBucketsRange *FluxMeter_ExponentialBucketsRange `protobuf:"bytes,5,opt,name=exponential_buckets_range,json=exponentialBucketsRange,proto3,oneof"`
}

type FluxMeter_ExponentialBuckets_ added in v0.3.0

type FluxMeter_ExponentialBuckets_ struct {
	ExponentialBuckets *FluxMeter_ExponentialBuckets `protobuf:"bytes,4,opt,name=exponential_buckets,json=exponentialBuckets,proto3,oneof"`
}

type FluxMeter_LinearBuckets added in v0.3.0

type FluxMeter_LinearBuckets struct {

	// Upper bound of the lowest bucket.
	Start float64 `protobuf:"fixed64,1,opt,name=start,proto3" json:"start,omitempty"`
	// Width of each bucket.
	Width float64 `protobuf:"fixed64,2,opt,name=width,proto3" json:"width,omitempty"`
	// Number of buckets.
	Count int32 `protobuf:"varint,3,opt,name=count,proto3" json:"count,omitempty" validate:"gt=0"` // @gotags: validate:"gt=0"
	// contains filtered or unexported fields
}

LinearBuckets creates `count` number of buckets, each `width` wide, where the lowest bucket has an upper bound of `start`. The final +inf bucket is not counted.

func (*FluxMeter_LinearBuckets) DeepCopy added in v0.3.0

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

func (*FluxMeter_LinearBuckets) DeepCopyInterface added in v0.3.0

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

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

func (*FluxMeter_LinearBuckets) DeepCopyInto added in v0.3.0

func (in *FluxMeter_LinearBuckets) DeepCopyInto(out *FluxMeter_LinearBuckets)

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

func (*FluxMeter_LinearBuckets) Descriptor deprecated added in v0.3.0

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

Deprecated: Use FluxMeter_LinearBuckets.ProtoReflect.Descriptor instead.

func (*FluxMeter_LinearBuckets) GetCount added in v0.3.0

func (x *FluxMeter_LinearBuckets) GetCount() int32

func (*FluxMeter_LinearBuckets) GetStart added in v0.3.0

func (x *FluxMeter_LinearBuckets) GetStart() float64

func (*FluxMeter_LinearBuckets) GetWidth added in v0.3.0

func (x *FluxMeter_LinearBuckets) GetWidth() float64

func (*FluxMeter_LinearBuckets) MarshalJSON added in v0.3.0

func (msg *FluxMeter_LinearBuckets) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*FluxMeter_LinearBuckets) ProtoMessage added in v0.3.0

func (*FluxMeter_LinearBuckets) ProtoMessage()

func (*FluxMeter_LinearBuckets) ProtoReflect added in v0.3.0

func (x *FluxMeter_LinearBuckets) ProtoReflect() protoreflect.Message

func (*FluxMeter_LinearBuckets) Reset added in v0.3.0

func (x *FluxMeter_LinearBuckets) Reset()

func (*FluxMeter_LinearBuckets) String added in v0.3.0

func (x *FluxMeter_LinearBuckets) String() string

func (*FluxMeter_LinearBuckets) UnmarshalJSON added in v0.3.0

func (msg *FluxMeter_LinearBuckets) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type FluxMeter_LinearBuckets_ added in v0.3.0

type FluxMeter_LinearBuckets_ struct {
	LinearBuckets *FluxMeter_LinearBuckets `protobuf:"bytes,3,opt,name=linear_buckets,json=linearBuckets,proto3,oneof"`
}

type FluxMeter_StaticBuckets added in v0.3.0

type FluxMeter_StaticBuckets struct {
	Buckets []float64 `` // @gotags: default:"[5.0,10.0,25.0,50.0,100.0,250.0,500.0,1000.0,2500.0,5000.0,10000.0]"
	/* 154-byte string literal not displayed */
	// contains filtered or unexported fields
}

StaticBuckets holds the static value of the buckets where latency histogram will be stored.

func (*FluxMeter_StaticBuckets) DeepCopy added in v0.3.0

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

func (*FluxMeter_StaticBuckets) DeepCopyInterface added in v0.3.0

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

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

func (*FluxMeter_StaticBuckets) DeepCopyInto added in v0.3.0

func (in *FluxMeter_StaticBuckets) DeepCopyInto(out *FluxMeter_StaticBuckets)

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

func (*FluxMeter_StaticBuckets) Descriptor deprecated added in v0.3.0

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

Deprecated: Use FluxMeter_StaticBuckets.ProtoReflect.Descriptor instead.

func (*FluxMeter_StaticBuckets) GetBuckets added in v0.3.0

func (x *FluxMeter_StaticBuckets) GetBuckets() []float64

func (*FluxMeter_StaticBuckets) MarshalJSON added in v0.3.0

func (msg *FluxMeter_StaticBuckets) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*FluxMeter_StaticBuckets) ProtoMessage added in v0.3.0

func (*FluxMeter_StaticBuckets) ProtoMessage()

func (*FluxMeter_StaticBuckets) ProtoReflect added in v0.3.0

func (x *FluxMeter_StaticBuckets) ProtoReflect() protoreflect.Message

func (*FluxMeter_StaticBuckets) Reset added in v0.3.0

func (x *FluxMeter_StaticBuckets) Reset()

func (*FluxMeter_StaticBuckets) String added in v0.3.0

func (x *FluxMeter_StaticBuckets) String() string

func (*FluxMeter_StaticBuckets) UnmarshalJSON added in v0.3.0

func (msg *FluxMeter_StaticBuckets) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type FluxMeter_StaticBuckets_ added in v0.3.0

type FluxMeter_StaticBuckets_ struct {
	StaticBuckets *FluxMeter_StaticBuckets `protobuf:"bytes,2,opt,name=static_buckets,json=staticBuckets,proto3,oneof"`
}

type GetPoliciesResponse added in v0.5.0

type GetPoliciesResponse struct {
	Policies *Policies `protobuf:"bytes,1,opt,name=policies,proto3" json:"policies,omitempty"`
	// contains filtered or unexported fields
}

func (*GetPoliciesResponse) DeepCopy added in v0.5.0

func (in *GetPoliciesResponse) DeepCopy() *GetPoliciesResponse

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

func (*GetPoliciesResponse) DeepCopyInterface added in v0.5.0

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

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

func (*GetPoliciesResponse) DeepCopyInto added in v0.5.0

func (in *GetPoliciesResponse) DeepCopyInto(out *GetPoliciesResponse)

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

func (*GetPoliciesResponse) Descriptor deprecated added in v0.5.0

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

Deprecated: Use GetPoliciesResponse.ProtoReflect.Descriptor instead.

func (*GetPoliciesResponse) GetPolicies added in v0.5.0

func (x *GetPoliciesResponse) GetPolicies() *Policies

func (*GetPoliciesResponse) MarshalJSON added in v0.5.0

func (msg *GetPoliciesResponse) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*GetPoliciesResponse) ProtoMessage added in v0.5.0

func (*GetPoliciesResponse) ProtoMessage()

func (*GetPoliciesResponse) ProtoReflect added in v0.5.0

func (x *GetPoliciesResponse) ProtoReflect() protoreflect.Message

func (*GetPoliciesResponse) Reset added in v0.5.0

func (x *GetPoliciesResponse) Reset()

func (*GetPoliciesResponse) String added in v0.5.0

func (x *GetPoliciesResponse) String() string

func (*GetPoliciesResponse) UnmarshalJSON added in v0.5.0

func (msg *GetPoliciesResponse) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type GradientController

type GradientController struct {

	// Input ports of the Gradient Controller.
	InPorts *GradientController_Ins `protobuf:"bytes,1,opt,name=in_ports,json=inPorts,proto3" json:"in_ports,omitempty"`
	// Output ports of the Gradient Controller.
	OutPorts *GradientController_Outs `protobuf:"bytes,2,opt,name=out_ports,json=outPorts,proto3" json:"out_ports,omitempty"`
	// Gradient Parameters.
	Parameters *GradientController_Parameters `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty" validate:"required"` // @gotags: validate:"required"
	// Configuration key for DynamicConfig
	DynamicConfigKey string `protobuf:"bytes,4,opt,name=dynamic_config_key,json=dynamicConfigKey,proto3" json:"dynamic_config_key,omitempty"`
	// Default configuration.
	DefaultConfig *GradientController_DynamicConfig `protobuf:"bytes,5,opt,name=default_config,json=defaultConfig,proto3" json:"default_config,omitempty"`
	// contains filtered or unexported fields
}

Gradient controller is a type of controller which tries to adjust the control variable proportionally to the relative difference between setpoint and actual value of the signal

The `gradient` describes a corrective factor that should be applied to the control variable to get the signal closer to the setpoint. It is computed as follows:

$$ \text{gradient} = \left(\frac{\text{signal}}{\text{setpoint}}\right)^{\text{slope}} $$

`gradient` is then clamped to [min_gradient, max_gradient] range.

The output of gradient controller is computed as follows: $$ \text{output} = \text{gradient}_{\text{clamped}} \cdot \text{control\_variable} + \text{optimize}. $$

Note the additional `optimize` signal, that can be used to "nudge" the controller into desired idle state.

The output can be _optionally_ clamped to desired range using `max` and `min` input.

func (*GradientController) DeepCopy added in v0.1.2

func (in *GradientController) DeepCopy() *GradientController

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

func (*GradientController) DeepCopyInterface added in v0.1.2

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

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

func (*GradientController) DeepCopyInto added in v0.1.2

func (in *GradientController) DeepCopyInto(out *GradientController)

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

func (*GradientController) Descriptor deprecated

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

Deprecated: Use GradientController.ProtoReflect.Descriptor instead.

func (*GradientController) GetDefaultConfig added in v0.8.0

func (*GradientController) GetDynamicConfigKey added in v0.5.0

func (x *GradientController) GetDynamicConfigKey() string

func (*GradientController) GetInPorts

func (x *GradientController) GetInPorts() *GradientController_Ins

func (*GradientController) GetOutPorts

func (x *GradientController) GetOutPorts() *GradientController_Outs

func (*GradientController) GetParameters added in v0.21.0

func (*GradientController) MarshalJSON

func (msg *GradientController) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*GradientController) ProtoMessage

func (*GradientController) ProtoMessage()

func (*GradientController) ProtoReflect

func (x *GradientController) ProtoReflect() protoreflect.Message

func (*GradientController) Reset

func (x *GradientController) Reset()

func (*GradientController) String

func (x *GradientController) String() string

func (*GradientController) UnmarshalJSON

func (msg *GradientController) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type GradientController_DynamicConfig added in v0.21.0

type GradientController_DynamicConfig struct {

	// Decides whether the controller runs in "manual_mode".
	// In manual mode, the controller does not adjust the control variable I.E. emits the same output as the control variable input.
	ManualMode bool `protobuf:"varint,1,opt,name=manual_mode,json=manualMode,proto3" json:"manual_mode,omitempty" default:"false"` // @gotags: default:"false"
	// contains filtered or unexported fields
}

Dynamic Configuration for a Controller

func (*GradientController_DynamicConfig) DeepCopy added in v0.21.0

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

func (*GradientController_DynamicConfig) DeepCopyInterface added in v0.21.0

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

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

func (*GradientController_DynamicConfig) DeepCopyInto added in v0.21.0

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

func (*GradientController_DynamicConfig) Descriptor deprecated added in v0.21.0

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

Deprecated: Use GradientController_DynamicConfig.ProtoReflect.Descriptor instead.

func (*GradientController_DynamicConfig) GetManualMode added in v0.21.0

func (x *GradientController_DynamicConfig) GetManualMode() bool

func (*GradientController_DynamicConfig) MarshalJSON added in v0.21.0

func (msg *GradientController_DynamicConfig) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*GradientController_DynamicConfig) ProtoMessage added in v0.21.0

func (*GradientController_DynamicConfig) ProtoMessage()

func (*GradientController_DynamicConfig) ProtoReflect added in v0.21.0

func (*GradientController_DynamicConfig) Reset added in v0.21.0

func (*GradientController_DynamicConfig) String added in v0.21.0

func (*GradientController_DynamicConfig) UnmarshalJSON added in v0.21.0

func (msg *GradientController_DynamicConfig) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type GradientController_Ins

type GradientController_Ins struct {

	// Signal to be used for the gradient computation.
	Signal *InPort `protobuf:"bytes,1,opt,name=signal,proto3" json:"signal,omitempty"`
	// Setpoint to be used for the gradient computation.
	Setpoint *InPort `protobuf:"bytes,2,opt,name=setpoint,proto3" json:"setpoint,omitempty"`
	// Optimize signal is added to the output of the gradient calculation.
	Optimize *InPort `protobuf:"bytes,3,opt,name=optimize,proto3" json:"optimize,omitempty"`
	// Maximum value to limit the output signal.
	Max *InPort `protobuf:"bytes,4,opt,name=max,proto3" json:"max,omitempty"`
	// Minimum value to limit the output signal.
	Min *InPort `protobuf:"bytes,5,opt,name=min,proto3" json:"min,omitempty"`
	// Actual current value of the control variable.
	//
	// This signal is multiplied by the gradient to produce the output.
	ControlVariable *InPort `protobuf:"bytes,6,opt,name=control_variable,json=controlVariable,proto3" json:"control_variable,omitempty"`
	// contains filtered or unexported fields
}

Inputs for the Gradient Controller component.

func (*GradientController_Ins) DeepCopy added in v0.1.2

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

func (*GradientController_Ins) DeepCopyInterface added in v0.1.2

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

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

func (*GradientController_Ins) DeepCopyInto added in v0.1.2

func (in *GradientController_Ins) DeepCopyInto(out *GradientController_Ins)

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

func (*GradientController_Ins) Descriptor deprecated

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

Deprecated: Use GradientController_Ins.ProtoReflect.Descriptor instead.

func (*GradientController_Ins) GetControlVariable

func (x *GradientController_Ins) GetControlVariable() *InPort

func (*GradientController_Ins) GetMax

func (x *GradientController_Ins) GetMax() *InPort

func (*GradientController_Ins) GetMin

func (x *GradientController_Ins) GetMin() *InPort

func (*GradientController_Ins) GetOptimize

func (x *GradientController_Ins) GetOptimize() *InPort

func (*GradientController_Ins) GetSetpoint

func (x *GradientController_Ins) GetSetpoint() *InPort

func (*GradientController_Ins) GetSignal

func (x *GradientController_Ins) GetSignal() *InPort

func (*GradientController_Ins) MarshalJSON

func (msg *GradientController_Ins) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*GradientController_Ins) ProtoMessage

func (*GradientController_Ins) ProtoMessage()

func (*GradientController_Ins) ProtoReflect

func (x *GradientController_Ins) ProtoReflect() protoreflect.Message

func (*GradientController_Ins) Reset

func (x *GradientController_Ins) Reset()

func (*GradientController_Ins) String

func (x *GradientController_Ins) String() string

func (*GradientController_Ins) UnmarshalJSON

func (msg *GradientController_Ins) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type GradientController_Outs

type GradientController_Outs struct {

	// Computed desired value of the control variable.
	Output *OutPort `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

Outputs for the Gradient Controller component.

func (*GradientController_Outs) DeepCopy added in v0.1.2

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

func (*GradientController_Outs) DeepCopyInterface added in v0.1.2

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

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

func (*GradientController_Outs) DeepCopyInto added in v0.1.2

func (in *GradientController_Outs) DeepCopyInto(out *GradientController_Outs)

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

func (*GradientController_Outs) Descriptor deprecated

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

Deprecated: Use GradientController_Outs.ProtoReflect.Descriptor instead.

func (*GradientController_Outs) GetOutput

func (x *GradientController_Outs) GetOutput() *OutPort

func (*GradientController_Outs) MarshalJSON

func (msg *GradientController_Outs) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*GradientController_Outs) ProtoMessage

func (*GradientController_Outs) ProtoMessage()

func (*GradientController_Outs) ProtoReflect

func (x *GradientController_Outs) ProtoReflect() protoreflect.Message

func (*GradientController_Outs) Reset

func (x *GradientController_Outs) Reset()

func (*GradientController_Outs) String

func (x *GradientController_Outs) String() string

func (*GradientController_Outs) UnmarshalJSON

func (msg *GradientController_Outs) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type GradientController_Parameters added in v0.21.0

type GradientController_Parameters struct {

	// Slope controls the aggressiveness and direction of the Gradient Controller.
	//
	// Slope is used as exponent on the signal to setpoint ratio in computation
	// of the gradient (see the [main description](#v1-gradient-controller) for
	// exact equation). Good intuition for this parameter is "What should the
	// Gradient Controller do to the control variable when signal is too high",
	// eg.:
	// * $\text{slope} = 1$: when signal is too high, increase control variable,
	// * $\text{slope} = -1$: when signal is too high, decrease control variable,
	// * $\text{slope} = -0.5$: when signal is too high, decrease control variable slowly.
	//
	// The sign of slope depends on correlation between the signal and control variable:
	// * Use $\text{slope} < 0$ if signal and control variable are _positively_
	// correlated (eg. Per-pod CPU usage and total concurrency).
	// * Use $\text{slope} > 0$ if signal and control variable are _negatively_
	// correlated (eg. Per-pod CPU usage and number of pods).
	//
	// :::note
	//
	// You need to set _negative_ slope for a _positive_ correlation, as you're
	// describing the _action_ which controller should make when the signal
	// increases.
	//
	// :::
	//
	// The magnitude of slope describes how aggressively should the controller
	// react to a deviation of signal.
	// With $|\text{slope}| = 1$, the controller will aim to bring the signal to
	// the setpoint in one tick (assuming linear correlation with signal and setpoint).
	// Smaller magnitudes of slope will make the controller adjust the control
	// variable more slowly.
	//
	// We recommend setting $|\text{slope}| < 1$ (eg. $\pm0.8$).
	// If you experience overshooting, consider lowering the magnitude even more.
	// Values of $|\text{slope}| > 1$ are not recommended.
	//
	// :::note
	//
	// Remember that the gradient and output signal can be (optionally) clamped,
	// so the _slope_ might not fully describe aggressiveness of the controller.
	//
	// :::
	Slope float64 `protobuf:"fixed64,1,opt,name=slope,proto3" json:"slope,omitempty" validate:"required"` // @gotags: validate:"required"
	// Minimum gradient which clamps the computed gradient value to the range, [min_gradient, max_gradient].
	MinGradient float64 `` // @gotags: default:"-1.79769313486231570814527423731704356798070e+308"
	/* 156-byte string literal not displayed */
	// Maximum gradient which clamps the computed gradient value to the range, [min_gradient, max_gradient].
	MaxGradient float64 `` // @gotags: default:"1.79769313486231570814527423731704356798070e+308"
	/* 155-byte string literal not displayed */
	// contains filtered or unexported fields
}

Gradient Parameters.

func (*GradientController_Parameters) DeepCopy added in v0.21.0

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

func (*GradientController_Parameters) DeepCopyInterface added in v0.21.0

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

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

func (*GradientController_Parameters) DeepCopyInto added in v0.21.0

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

func (*GradientController_Parameters) Descriptor deprecated added in v0.21.0

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

Deprecated: Use GradientController_Parameters.ProtoReflect.Descriptor instead.

func (*GradientController_Parameters) GetMaxGradient added in v0.21.0

func (x *GradientController_Parameters) GetMaxGradient() float64

func (*GradientController_Parameters) GetMinGradient added in v0.21.0

func (x *GradientController_Parameters) GetMinGradient() float64

func (*GradientController_Parameters) GetSlope added in v0.21.0

func (x *GradientController_Parameters) GetSlope() float64

func (*GradientController_Parameters) MarshalJSON added in v0.21.0

func (msg *GradientController_Parameters) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*GradientController_Parameters) ProtoMessage added in v0.21.0

func (*GradientController_Parameters) ProtoMessage()

func (*GradientController_Parameters) ProtoReflect added in v0.21.0

func (*GradientController_Parameters) Reset added in v0.21.0

func (x *GradientController_Parameters) Reset()

func (*GradientController_Parameters) String added in v0.21.0

func (*GradientController_Parameters) UnmarshalJSON added in v0.21.0

func (msg *GradientController_Parameters) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Holder added in v0.21.0

type Holder struct {
	InPorts  *Holder_Ins  `protobuf:"bytes,1,opt,name=in_ports,json=inPorts,proto3" json:"in_ports,omitempty"`
	OutPorts *Holder_Outs `protobuf:"bytes,2,opt,name=out_ports,json=outPorts,proto3" json:"out_ports,omitempty"`
	// Holding the last valid signal value for the hold_for duration.
	HoldFor *durationpb.Duration `protobuf:"bytes,3,opt,name=hold_for,json=holdFor,proto3" json:"hold_for,omitempty" default:"5s"` // @gotags: default:"5s"
	// contains filtered or unexported fields
}

Holds the last valid signal value for the specified duration then waits for next valid value to hold. If it's holding a value that means it ignores both valid and invalid new signals until the hold_for duration is finished.

func (*Holder) DeepCopy added in v0.21.0

func (in *Holder) DeepCopy() *Holder

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

func (*Holder) DeepCopyInterface added in v0.21.0

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

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

func (*Holder) DeepCopyInto added in v0.21.0

func (in *Holder) DeepCopyInto(out *Holder)

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

func (*Holder) Descriptor deprecated added in v0.21.0

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

Deprecated: Use Holder.ProtoReflect.Descriptor instead.

func (*Holder) GetHoldFor added in v0.21.0

func (x *Holder) GetHoldFor() *durationpb.Duration

func (*Holder) GetInPorts added in v0.21.0

func (x *Holder) GetInPorts() *Holder_Ins

func (*Holder) GetOutPorts added in v0.21.0

func (x *Holder) GetOutPorts() *Holder_Outs

func (*Holder) MarshalJSON added in v0.21.0

func (msg *Holder) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Holder) ProtoMessage added in v0.21.0

func (*Holder) ProtoMessage()

func (*Holder) ProtoReflect added in v0.21.0

func (x *Holder) ProtoReflect() protoreflect.Message

func (*Holder) Reset added in v0.21.0

func (x *Holder) Reset()

func (*Holder) String added in v0.21.0

func (x *Holder) String() string

func (*Holder) UnmarshalJSON added in v0.21.0

func (msg *Holder) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Holder_Ins added in v0.21.0

type Holder_Ins struct {
	Input *InPort `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"`
	// contains filtered or unexported fields
}

Inputs for the Holder component.

func (*Holder_Ins) DeepCopy added in v0.21.0

func (in *Holder_Ins) DeepCopy() *Holder_Ins

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

func (*Holder_Ins) DeepCopyInterface added in v0.21.0

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

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

func (*Holder_Ins) DeepCopyInto added in v0.21.0

func (in *Holder_Ins) DeepCopyInto(out *Holder_Ins)

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

func (*Holder_Ins) Descriptor deprecated added in v0.21.0

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

Deprecated: Use Holder_Ins.ProtoReflect.Descriptor instead.

func (*Holder_Ins) GetInput added in v0.21.0

func (x *Holder_Ins) GetInput() *InPort

func (*Holder_Ins) MarshalJSON added in v0.21.0

func (msg *Holder_Ins) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Holder_Ins) ProtoMessage added in v0.21.0

func (*Holder_Ins) ProtoMessage()

func (*Holder_Ins) ProtoReflect added in v0.21.0

func (x *Holder_Ins) ProtoReflect() protoreflect.Message

func (*Holder_Ins) Reset added in v0.21.0

func (x *Holder_Ins) Reset()

func (*Holder_Ins) String added in v0.21.0

func (x *Holder_Ins) String() string

func (*Holder_Ins) UnmarshalJSON added in v0.21.0

func (msg *Holder_Ins) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Holder_Outs added in v0.21.0

type Holder_Outs struct {
	Output *OutPort `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

Outputs for the Holder component.

func (*Holder_Outs) DeepCopy added in v0.21.0

func (in *Holder_Outs) DeepCopy() *Holder_Outs

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

func (*Holder_Outs) DeepCopyInterface added in v0.21.0

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

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

func (*Holder_Outs) DeepCopyInto added in v0.21.0

func (in *Holder_Outs) DeepCopyInto(out *Holder_Outs)

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

func (*Holder_Outs) Descriptor deprecated added in v0.21.0

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

Deprecated: Use Holder_Outs.ProtoReflect.Descriptor instead.

func (*Holder_Outs) GetOutput added in v0.21.0

func (x *Holder_Outs) GetOutput() *OutPort

func (*Holder_Outs) MarshalJSON added in v0.21.0

func (msg *Holder_Outs) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Holder_Outs) ProtoMessage added in v0.21.0

func (*Holder_Outs) ProtoMessage()

func (*Holder_Outs) ProtoReflect added in v0.21.0

func (x *Holder_Outs) ProtoReflect() protoreflect.Message

func (*Holder_Outs) Reset added in v0.21.0

func (x *Holder_Outs) Reset()

func (*Holder_Outs) String added in v0.21.0

func (x *Holder_Outs) String() string

func (*Holder_Outs) UnmarshalJSON added in v0.21.0

func (msg *Holder_Outs) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type HorizontalPodScaler added in v0.19.0

type HorizontalPodScaler struct {

	// The Kubernetes object on which horizontal scaling is applied.
	KubernetesObjectSelector *KubernetesObjectSelector `` // @gotags: validate:"required"
	/* 155-byte string literal not displayed */
	ScaleReporter *HorizontalPodScaler_ScaleReporter `protobuf:"bytes,2,opt,name=scale_reporter,json=scaleReporter,proto3" json:"scale_reporter,omitempty"`
	ScaleActuator *HorizontalPodScaler_ScaleActuator `protobuf:"bytes,3,opt,name=scale_actuator,json=scaleActuator,proto3" json:"scale_actuator,omitempty"`
	// contains filtered or unexported fields
}

func (*HorizontalPodScaler) DeepCopy added in v0.19.0

func (in *HorizontalPodScaler) DeepCopy() *HorizontalPodScaler

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

func (*HorizontalPodScaler) DeepCopyInterface added in v0.19.0

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

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

func (*HorizontalPodScaler) DeepCopyInto added in v0.19.0

func (in *HorizontalPodScaler) DeepCopyInto(out *HorizontalPodScaler)

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

func (*HorizontalPodScaler) Descriptor deprecated added in v0.19.0

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

Deprecated: Use HorizontalPodScaler.ProtoReflect.Descriptor instead.

func (*HorizontalPodScaler) GetKubernetesObjectSelector added in v0.19.0

func (x *HorizontalPodScaler) GetKubernetesObjectSelector() *KubernetesObjectSelector

func (*HorizontalPodScaler) GetScaleActuator added in v0.19.0

func (*HorizontalPodScaler) GetScaleReporter added in v0.19.0

func (*HorizontalPodScaler) MarshalJSON added in v0.19.0

func (msg *HorizontalPodScaler) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*HorizontalPodScaler) ProtoMessage added in v0.19.0

func (*HorizontalPodScaler) ProtoMessage()

func (*HorizontalPodScaler) ProtoReflect added in v0.19.0

func (x *HorizontalPodScaler) ProtoReflect() protoreflect.Message

func (*HorizontalPodScaler) Reset added in v0.19.0

func (x *HorizontalPodScaler) Reset()

func (*HorizontalPodScaler) String added in v0.19.0

func (x *HorizontalPodScaler) String() string

func (*HorizontalPodScaler) UnmarshalJSON added in v0.19.0

func (msg *HorizontalPodScaler) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type HorizontalPodScaler_ScaleActuator added in v0.19.0

type HorizontalPodScaler_ScaleActuator struct {
	InPorts *HorizontalPodScaler_ScaleActuator_Ins `protobuf:"bytes,1,opt,name=in_ports,json=inPorts,proto3" json:"in_ports,omitempty"`
	// Configuration key for DynamicConfig
	DynamicConfigKey string `protobuf:"bytes,2,opt,name=dynamic_config_key,json=dynamicConfigKey,proto3" json:"dynamic_config_key,omitempty"`
	// Default configuration.
	DefaultConfig *HorizontalPodScaler_ScaleActuator_DynamicConfig `protobuf:"bytes,3,opt,name=default_config,json=defaultConfig,proto3" json:"default_config,omitempty"`
	// contains filtered or unexported fields
}

func (*HorizontalPodScaler_ScaleActuator) DeepCopy added in v0.19.0

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

func (*HorizontalPodScaler_ScaleActuator) DeepCopyInterface added in v0.19.0

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

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

func (*HorizontalPodScaler_ScaleActuator) DeepCopyInto added in v0.19.0

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

func (*HorizontalPodScaler_ScaleActuator) Descriptor deprecated added in v0.19.0

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

Deprecated: Use HorizontalPodScaler_ScaleActuator.ProtoReflect.Descriptor instead.

func (*HorizontalPodScaler_ScaleActuator) GetDefaultConfig added in v0.19.0

func (*HorizontalPodScaler_ScaleActuator) GetDynamicConfigKey added in v0.19.0

func (x *HorizontalPodScaler_ScaleActuator) GetDynamicConfigKey() string

func (*HorizontalPodScaler_ScaleActuator) GetInPorts added in v0.19.0

func (*HorizontalPodScaler_ScaleActuator) MarshalJSON added in v0.19.0

func (msg *HorizontalPodScaler_ScaleActuator) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*HorizontalPodScaler_ScaleActuator) ProtoMessage added in v0.19.0

func (*HorizontalPodScaler_ScaleActuator) ProtoMessage()

func (*HorizontalPodScaler_ScaleActuator) ProtoReflect added in v0.19.0

func (*HorizontalPodScaler_ScaleActuator) Reset added in v0.19.0

func (*HorizontalPodScaler_ScaleActuator) String added in v0.19.0

func (*HorizontalPodScaler_ScaleActuator) UnmarshalJSON added in v0.19.0

func (msg *HorizontalPodScaler_ScaleActuator) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type HorizontalPodScaler_ScaleActuator_DynamicConfig added in v0.19.0

type HorizontalPodScaler_ScaleActuator_DynamicConfig struct {

	// Decides whether to run the pod scaler in dry-run mode. Dry run mode ensures that no scaling is invoked by this pod scaler.
	// Useful for observing the behavior of Scaler without disrupting any real traffic.
	DryRun bool `protobuf:"varint,1,opt,name=dry_run,json=dryRun,proto3" json:"dry_run,omitempty" default:"false"` // @gotags: default:"false"
	// contains filtered or unexported fields
}

Dynamic Configuration for ScaleActuator

func (*HorizontalPodScaler_ScaleActuator_DynamicConfig) DeepCopy added in v0.19.0

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

func (*HorizontalPodScaler_ScaleActuator_DynamicConfig) DeepCopyInterface added in v0.19.0

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

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

func (*HorizontalPodScaler_ScaleActuator_DynamicConfig) DeepCopyInto added in v0.19.0

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

func (*HorizontalPodScaler_ScaleActuator_DynamicConfig) Descriptor deprecated added in v0.19.0

Deprecated: Use HorizontalPodScaler_ScaleActuator_DynamicConfig.ProtoReflect.Descriptor instead.

func (*HorizontalPodScaler_ScaleActuator_DynamicConfig) GetDryRun added in v0.19.0

func (*HorizontalPodScaler_ScaleActuator_DynamicConfig) MarshalJSON added in v0.19.0

MarshalJSON implements json.Marshaler

func (*HorizontalPodScaler_ScaleActuator_DynamicConfig) ProtoMessage added in v0.19.0

func (*HorizontalPodScaler_ScaleActuator_DynamicConfig) ProtoReflect added in v0.19.0

func (*HorizontalPodScaler_ScaleActuator_DynamicConfig) Reset added in v0.19.0

func (*HorizontalPodScaler_ScaleActuator_DynamicConfig) String added in v0.19.0

func (*HorizontalPodScaler_ScaleActuator_DynamicConfig) UnmarshalJSON added in v0.19.0

UnmarshalJSON implements json.Unmarshaler

type HorizontalPodScaler_ScaleActuator_Ins added in v0.19.0

type HorizontalPodScaler_ScaleActuator_Ins struct {
	DesiredReplicas *InPort `protobuf:"bytes,1,opt,name=desired_replicas,json=desiredReplicas,proto3" json:"desired_replicas,omitempty"`
	// contains filtered or unexported fields
}

Inputs for the HorizontalPodScaler component.

func (*HorizontalPodScaler_ScaleActuator_Ins) DeepCopy added in v0.19.0

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

func (*HorizontalPodScaler_ScaleActuator_Ins) DeepCopyInterface added in v0.19.0

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

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

func (*HorizontalPodScaler_ScaleActuator_Ins) DeepCopyInto added in v0.19.0

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

func (*HorizontalPodScaler_ScaleActuator_Ins) Descriptor deprecated added in v0.19.0

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

Deprecated: Use HorizontalPodScaler_ScaleActuator_Ins.ProtoReflect.Descriptor instead.

func (*HorizontalPodScaler_ScaleActuator_Ins) GetDesiredReplicas added in v0.19.0

func (x *HorizontalPodScaler_ScaleActuator_Ins) GetDesiredReplicas() *InPort

func (*HorizontalPodScaler_ScaleActuator_Ins) MarshalJSON added in v0.19.0

func (msg *HorizontalPodScaler_ScaleActuator_Ins) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*HorizontalPodScaler_ScaleActuator_Ins) ProtoMessage added in v0.19.0

func (*HorizontalPodScaler_ScaleActuator_Ins) ProtoMessage()

func (*HorizontalPodScaler_ScaleActuator_Ins) ProtoReflect added in v0.19.0

func (*HorizontalPodScaler_ScaleActuator_Ins) Reset added in v0.19.0

func (*HorizontalPodScaler_ScaleActuator_Ins) String added in v0.19.0

func (*HorizontalPodScaler_ScaleActuator_Ins) UnmarshalJSON added in v0.19.0

func (msg *HorizontalPodScaler_ScaleActuator_Ins) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type HorizontalPodScaler_ScaleReporter added in v0.19.0

type HorizontalPodScaler_ScaleReporter struct {
	OutPorts *HorizontalPodScaler_ScaleReporter_Outs `protobuf:"bytes,1,opt,name=out_ports,json=outPorts,proto3" json:"out_ports,omitempty"`
	// contains filtered or unexported fields
}

func (*HorizontalPodScaler_ScaleReporter) DeepCopy added in v0.19.0

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

func (*HorizontalPodScaler_ScaleReporter) DeepCopyInterface added in v0.19.0

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

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

func (*HorizontalPodScaler_ScaleReporter) DeepCopyInto added in v0.19.0

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

func (*HorizontalPodScaler_ScaleReporter) Descriptor deprecated added in v0.19.0

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

Deprecated: Use HorizontalPodScaler_ScaleReporter.ProtoReflect.Descriptor instead.

func (*HorizontalPodScaler_ScaleReporter) GetOutPorts added in v0.19.0

func (*HorizontalPodScaler_ScaleReporter) MarshalJSON added in v0.19.0

func (msg *HorizontalPodScaler_ScaleReporter) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*HorizontalPodScaler_ScaleReporter) ProtoMessage added in v0.19.0

func (*HorizontalPodScaler_ScaleReporter) ProtoMessage()

func (*HorizontalPodScaler_ScaleReporter) ProtoReflect added in v0.19.0

func (*HorizontalPodScaler_ScaleReporter) Reset added in v0.19.0

func (*HorizontalPodScaler_ScaleReporter) String added in v0.19.0

func (*HorizontalPodScaler_ScaleReporter) UnmarshalJSON added in v0.19.0

func (msg *HorizontalPodScaler_ScaleReporter) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type HorizontalPodScaler_ScaleReporter_Outs added in v0.19.0

type HorizontalPodScaler_ScaleReporter_Outs struct {
	ActualReplicas     *OutPort `protobuf:"bytes,1,opt,name=actual_replicas,json=actualReplicas,proto3" json:"actual_replicas,omitempty"`
	ConfiguredReplicas *OutPort `protobuf:"bytes,2,opt,name=configured_replicas,json=configuredReplicas,proto3" json:"configured_replicas,omitempty"`
	// contains filtered or unexported fields
}

Outputs for the HorizontalPodScaler component.

func (*HorizontalPodScaler_ScaleReporter_Outs) DeepCopy added in v0.19.0

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

func (*HorizontalPodScaler_ScaleReporter_Outs) DeepCopyInterface added in v0.19.0

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

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

func (*HorizontalPodScaler_ScaleReporter_Outs) DeepCopyInto added in v0.19.0

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

func (*HorizontalPodScaler_ScaleReporter_Outs) Descriptor deprecated added in v0.19.0

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

Deprecated: Use HorizontalPodScaler_ScaleReporter_Outs.ProtoReflect.Descriptor instead.

func (*HorizontalPodScaler_ScaleReporter_Outs) GetActualReplicas added in v0.19.0

func (x *HorizontalPodScaler_ScaleReporter_Outs) GetActualReplicas() *OutPort

func (*HorizontalPodScaler_ScaleReporter_Outs) GetConfiguredReplicas added in v0.19.0

func (x *HorizontalPodScaler_ScaleReporter_Outs) GetConfiguredReplicas() *OutPort

func (*HorizontalPodScaler_ScaleReporter_Outs) MarshalJSON added in v0.19.0

func (msg *HorizontalPodScaler_ScaleReporter_Outs) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*HorizontalPodScaler_ScaleReporter_Outs) ProtoMessage added in v0.19.0

func (*HorizontalPodScaler_ScaleReporter_Outs) ProtoReflect added in v0.19.0

func (*HorizontalPodScaler_ScaleReporter_Outs) Reset added in v0.19.0

func (*HorizontalPodScaler_ScaleReporter_Outs) String added in v0.19.0

func (*HorizontalPodScaler_ScaleReporter_Outs) UnmarshalJSON added in v0.19.0

func (msg *HorizontalPodScaler_ScaleReporter_Outs) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type InPort added in v0.5.0

type InPort struct {

	// Types that are assignable to Value:
	//	*InPort_SignalName
	//	*InPort_ConstantSignal
	Value isInPort_Value `protobuf_oneof:"value"`
	// contains filtered or unexported fields
}

Components receive input from other components via InPorts

func (*InPort) DeepCopy added in v0.5.0

func (in *InPort) DeepCopy() *InPort

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

func (*InPort) DeepCopyInterface added in v0.5.0

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

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

func (*InPort) DeepCopyInto added in v0.5.0

func (in *InPort) DeepCopyInto(out *InPort)

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

func (*InPort) Descriptor deprecated added in v0.5.0

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

Deprecated: Use InPort.ProtoReflect.Descriptor instead.

func (*InPort) GetConstantSignal added in v0.21.0

func (x *InPort) GetConstantSignal() *ConstantSignal

func (*InPort) GetSignalName added in v0.5.0

func (x *InPort) GetSignalName() string

func (*InPort) GetValue added in v0.5.0

func (m *InPort) GetValue() isInPort_Value

func (*InPort) MarshalJSON added in v0.5.0

func (msg *InPort) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*InPort) ProtoMessage added in v0.5.0

func (*InPort) ProtoMessage()

func (*InPort) ProtoReflect added in v0.5.0

func (x *InPort) ProtoReflect() protoreflect.Message

func (*InPort) Reset added in v0.5.0

func (x *InPort) Reset()

func (*InPort) String added in v0.5.0

func (x *InPort) String() string

func (*InPort) UnmarshalJSON added in v0.5.0

func (msg *InPort) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type InPort_ConstantSignal added in v0.21.0

type InPort_ConstantSignal struct {
	// Constant value to be used for this InPort instead of a signal.
	ConstantSignal *ConstantSignal `protobuf:"bytes,2,opt,name=constant_signal,json=constantSignal,proto3,oneof"`
}

type InPort_SignalName added in v0.5.0

type InPort_SignalName struct {
	// Name of the incoming Signal on the InPort.
	SignalName string `protobuf:"bytes,1,opt,name=signal_name,json=signalName,proto3,oneof"`
}

type Integrator added in v0.16.0

type Integrator struct {

	// Input ports for the Integrator component.
	InPorts *Integrator_Ins `protobuf:"bytes,1,opt,name=in_ports,json=inPorts,proto3" json:"in_ports,omitempty"`
	// Output ports for the Integrator component.
	OutPorts *Integrator_Outs `protobuf:"bytes,2,opt,name=out_ports,json=outPorts,proto3" json:"out_ports,omitempty"`
	// contains filtered or unexported fields
}

Accumulates sum of signal every tick.

func (*Integrator) DeepCopy added in v0.16.0

func (in *Integrator) DeepCopy() *Integrator

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

func (*Integrator) DeepCopyInterface added in v0.16.0

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

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

func (*Integrator) DeepCopyInto added in v0.16.0

func (in *Integrator) DeepCopyInto(out *Integrator)

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

func (*Integrator) Descriptor deprecated added in v0.16.0

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

Deprecated: Use Integrator.ProtoReflect.Descriptor instead.

func (*Integrator) GetInPorts added in v0.16.0

func (x *Integrator) GetInPorts() *Integrator_Ins

func (*Integrator) GetOutPorts added in v0.16.0

func (x *Integrator) GetOutPorts() *Integrator_Outs

func (*Integrator) MarshalJSON added in v0.16.0

func (msg *Integrator) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Integrator) ProtoMessage added in v0.16.0

func (*Integrator) ProtoMessage()

func (*Integrator) ProtoReflect added in v0.16.0

func (x *Integrator) ProtoReflect() protoreflect.Message

func (*Integrator) Reset added in v0.16.0

func (x *Integrator) Reset()

func (*Integrator) String added in v0.16.0

func (x *Integrator) String() string

func (*Integrator) UnmarshalJSON added in v0.16.0

func (msg *Integrator) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Integrator_Ins added in v0.16.0

type Integrator_Ins struct {

	// The input signal.
	Input *InPort `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"`
	// Resets the integrator output to zero when reset signal is valid and non-zero.
	Reset_ *InPort `protobuf:"bytes,2,opt,name=reset,proto3" json:"reset,omitempty"`
	// The minimum output when reset is not set.
	Min *InPort `protobuf:"bytes,3,opt,name=min,proto3" json:"min,omitempty"`
	//The maximum output when reset is not set.
	Max *InPort `protobuf:"bytes,4,opt,name=max,proto3" json:"max,omitempty"`
	// contains filtered or unexported fields
}

Inputs for the Integrator component.

func (*Integrator_Ins) DeepCopy added in v0.16.0

func (in *Integrator_Ins) DeepCopy() *Integrator_Ins

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

func (*Integrator_Ins) DeepCopyInterface added in v0.16.0

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

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

func (*Integrator_Ins) DeepCopyInto added in v0.16.0

func (in *Integrator_Ins) DeepCopyInto(out *Integrator_Ins)

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

func (*Integrator_Ins) Descriptor deprecated added in v0.16.0

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

Deprecated: Use Integrator_Ins.ProtoReflect.Descriptor instead.

func (*Integrator_Ins) GetInput added in v0.16.0

func (x *Integrator_Ins) GetInput() *InPort

func (*Integrator_Ins) GetMax added in v0.16.0

func (x *Integrator_Ins) GetMax() *InPort

func (*Integrator_Ins) GetMin added in v0.16.0

func (x *Integrator_Ins) GetMin() *InPort

func (*Integrator_Ins) GetReset_ added in v0.16.0

func (x *Integrator_Ins) GetReset_() *InPort

func (*Integrator_Ins) MarshalJSON added in v0.16.0

func (msg *Integrator_Ins) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Integrator_Ins) ProtoMessage added in v0.16.0

func (*Integrator_Ins) ProtoMessage()

func (*Integrator_Ins) ProtoReflect added in v0.16.0

func (x *Integrator_Ins) ProtoReflect() protoreflect.Message

func (*Integrator_Ins) Reset added in v0.16.0

func (x *Integrator_Ins) Reset()

func (*Integrator_Ins) String added in v0.16.0

func (x *Integrator_Ins) String() string

func (*Integrator_Ins) UnmarshalJSON added in v0.16.0

func (msg *Integrator_Ins) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Integrator_Outs added in v0.16.0

type Integrator_Outs struct {
	Output *OutPort `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

Outputs for the Integrator component.

func (*Integrator_Outs) DeepCopy added in v0.16.0

func (in *Integrator_Outs) DeepCopy() *Integrator_Outs

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

func (*Integrator_Outs) DeepCopyInterface added in v0.16.0

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

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

func (*Integrator_Outs) DeepCopyInto added in v0.16.0

func (in *Integrator_Outs) DeepCopyInto(out *Integrator_Outs)

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

func (*Integrator_Outs) Descriptor deprecated added in v0.16.0

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

Deprecated: Use Integrator_Outs.ProtoReflect.Descriptor instead.

func (*Integrator_Outs) GetOutput added in v0.16.0

func (x *Integrator_Outs) GetOutput() *OutPort

func (*Integrator_Outs) MarshalJSON added in v0.16.0

func (msg *Integrator_Outs) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Integrator_Outs) ProtoMessage added in v0.16.0

func (*Integrator_Outs) ProtoMessage()

func (*Integrator_Outs) ProtoReflect added in v0.16.0

func (x *Integrator_Outs) ProtoReflect() protoreflect.Message

func (*Integrator_Outs) Reset added in v0.16.0

func (x *Integrator_Outs) Reset()

func (*Integrator_Outs) String added in v0.16.0

func (x *Integrator_Outs) String() string

func (*Integrator_Outs) UnmarshalJSON added in v0.16.0

func (msg *Integrator_Outs) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Inverter added in v0.20.0

type Inverter struct {

	// Input ports for the Inverter component.
	InPorts *Inverter_Ins `protobuf:"bytes,1,opt,name=in_ports,json=inPorts,proto3" json:"in_ports,omitempty"`
	// Output ports for the Inverter component.
	OutPorts *Inverter_Outs `protobuf:"bytes,2,opt,name=out_ports,json=outPorts,proto3" json:"out_ports,omitempty"`
	// contains filtered or unexported fields
}

Logical NOT.

See [And component](#v1-and) on how signals are mapped onto boolean values.

func (*Inverter) DeepCopy added in v0.20.0

func (in *Inverter) DeepCopy() *Inverter

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

func (*Inverter) DeepCopyInterface added in v0.20.0

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

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

func (*Inverter) DeepCopyInto added in v0.20.0

func (in *Inverter) DeepCopyInto(out *Inverter)

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

func (*Inverter) Descriptor deprecated added in v0.20.0

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

Deprecated: Use Inverter.ProtoReflect.Descriptor instead.

func (*Inverter) GetInPorts added in v0.20.0

func (x *Inverter) GetInPorts() *Inverter_Ins

func (*Inverter) GetOutPorts added in v0.20.0

func (x *Inverter) GetOutPorts() *Inverter_Outs

func (*Inverter) MarshalJSON added in v0.20.0

func (msg *Inverter) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Inverter) ProtoMessage added in v0.20.0

func (*Inverter) ProtoMessage()

func (*Inverter) ProtoReflect added in v0.20.0

func (x *Inverter) ProtoReflect() protoreflect.Message

func (*Inverter) Reset added in v0.20.0

func (x *Inverter) Reset()

func (*Inverter) String added in v0.20.0

func (x *Inverter) String() string

func (*Inverter) UnmarshalJSON added in v0.20.0

func (msg *Inverter) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Inverter_Ins added in v0.20.0

type Inverter_Ins struct {

	// Signal to be negated.
	Input *InPort `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty" validate:"dive"` // @gotags: validate:"dive"
	// contains filtered or unexported fields
}

Inputs for the Inverter component.

func (*Inverter_Ins) DeepCopy added in v0.20.0

func (in *Inverter_Ins) DeepCopy() *Inverter_Ins

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

func (*Inverter_Ins) DeepCopyInterface added in v0.20.0

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

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

func (*Inverter_Ins) DeepCopyInto added in v0.20.0

func (in *Inverter_Ins) DeepCopyInto(out *Inverter_Ins)

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

func (*Inverter_Ins) Descriptor deprecated added in v0.20.0

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

Deprecated: Use Inverter_Ins.ProtoReflect.Descriptor instead.

func (*Inverter_Ins) GetInput added in v0.20.0

func (x *Inverter_Ins) GetInput() *InPort

func (*Inverter_Ins) MarshalJSON added in v0.20.0

func (msg *Inverter_Ins) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Inverter_Ins) ProtoMessage added in v0.20.0

func (*Inverter_Ins) ProtoMessage()

func (*Inverter_Ins) ProtoReflect added in v0.20.0

func (x *Inverter_Ins) ProtoReflect() protoreflect.Message

func (*Inverter_Ins) Reset added in v0.20.0

func (x *Inverter_Ins) Reset()

func (*Inverter_Ins) String added in v0.20.0

func (x *Inverter_Ins) String() string

func (*Inverter_Ins) UnmarshalJSON added in v0.20.0

func (msg *Inverter_Ins) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Inverter_Outs added in v0.20.0

type Inverter_Outs struct {

	// Logical negation of the input signal.
	//
	// Will always be 0 (false), 1 (true) or invalid (unknown).
	Output *OutPort `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

Output ports for the Inverter component.

func (*Inverter_Outs) DeepCopy added in v0.20.0

func (in *Inverter_Outs) DeepCopy() *Inverter_Outs

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

func (*Inverter_Outs) DeepCopyInterface added in v0.20.0

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

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

func (*Inverter_Outs) DeepCopyInto added in v0.20.0

func (in *Inverter_Outs) DeepCopyInto(out *Inverter_Outs)

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

func (*Inverter_Outs) Descriptor deprecated added in v0.20.0

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

Deprecated: Use Inverter_Outs.ProtoReflect.Descriptor instead.

func (*Inverter_Outs) GetOutput added in v0.20.0

func (x *Inverter_Outs) GetOutput() *OutPort

func (*Inverter_Outs) MarshalJSON added in v0.20.0

func (msg *Inverter_Outs) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Inverter_Outs) ProtoMessage added in v0.20.0

func (*Inverter_Outs) ProtoMessage()

func (*Inverter_Outs) ProtoReflect added in v0.20.0

func (x *Inverter_Outs) ProtoReflect() protoreflect.Message

func (*Inverter_Outs) Reset added in v0.20.0

func (x *Inverter_Outs) Reset()

func (*Inverter_Outs) String added in v0.20.0

func (x *Inverter_Outs) String() string

func (*Inverter_Outs) UnmarshalJSON added in v0.20.0

func (msg *Inverter_Outs) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type JSONExtractor

type JSONExtractor struct {

	// Attribute path pointing to some strings - eg. "request.http.body".
	From string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty" validate:"required"` //@gotags: validate:"required"
	// Json pointer represents a parsed json pointer which allows to select a specified field from the json payload.
	//
	// Note: Uses [json pointer](https://datatracker.ietf.org/doc/html/rfc6901) syntax,
	// eg. `/foo/bar`. If the pointer points into an object, it'd be stringified.
	Pointer string `protobuf:"bytes,2,opt,name=pointer,proto3" json:"pointer,omitempty"`
	// contains filtered or unexported fields
}

Deserialize a json, and extract one of the fields

Example: ```yaml from: request.http.body pointer: /user/name ```

func (*JSONExtractor) DeepCopy added in v0.1.2

func (in *JSONExtractor) DeepCopy() *JSONExtractor

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

func (*JSONExtractor) DeepCopyInterface added in v0.1.2

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

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

func (*JSONExtractor) DeepCopyInto added in v0.1.2

func (in *JSONExtractor) DeepCopyInto(out *JSONExtractor)

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

func (*JSONExtractor) Descriptor deprecated

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

Deprecated: Use JSONExtractor.ProtoReflect.Descriptor instead.

func (*JSONExtractor) GetFrom

func (x *JSONExtractor) GetFrom() string

func (*JSONExtractor) GetPointer

func (x *JSONExtractor) GetPointer() string

func (*JSONExtractor) MarshalJSON

func (msg *JSONExtractor) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*JSONExtractor) ProtoMessage

func (*JSONExtractor) ProtoMessage()

func (*JSONExtractor) ProtoReflect

func (x *JSONExtractor) ProtoReflect() protoreflect.Message

func (*JSONExtractor) Reset

func (x *JSONExtractor) Reset()

func (*JSONExtractor) String

func (x *JSONExtractor) String() string

func (*JSONExtractor) UnmarshalJSON

func (msg *JSONExtractor) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type JWTExtractor

type JWTExtractor struct {

	// Jwt token can be pulled from any input attribute, but most likely you'd want to use "request.http.bearer".
	From string `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty" validate:"required"` //@gotags: validate:"required"
	// Json pointer allowing to select a specified field from the json payload.
	//
	// Note: Uses [json pointer](https://datatracker.ietf.org/doc/html/rfc6901) syntax,
	// eg. `/foo/bar`. If the pointer points into an object, it'd be stringified.
	JsonPointer string `protobuf:"bytes,2,opt,name=json_pointer,json=jsonPointer,proto3" json:"json_pointer,omitempty"`
	// contains filtered or unexported fields
}

Parse the attribute as JWT and read the payload

Specify a field to be extracted from payload using "json_pointer".

Note: The signature is not verified against the secret (we're assuming there's some other parts of the system that handles such verification).

Example: ```yaml from: request.http.bearer json_pointer: /user/email ```

func (*JWTExtractor) DeepCopy added in v0.1.2

func (in *JWTExtractor) DeepCopy() *JWTExtractor

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

func (*JWTExtractor) DeepCopyInterface added in v0.1.2

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

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

func (*JWTExtractor) DeepCopyInto added in v0.1.2

func (in *JWTExtractor) DeepCopyInto(out *JWTExtractor)

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

func (*JWTExtractor) Descriptor deprecated

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

Deprecated: Use JWTExtractor.ProtoReflect.Descriptor instead.

func (*JWTExtractor) GetFrom

func (x *JWTExtractor) GetFrom() string

func (*JWTExtractor) GetJsonPointer

func (x *JWTExtractor) GetJsonPointer() string

func (*JWTExtractor) MarshalJSON

func (msg *JWTExtractor) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*JWTExtractor) ProtoMessage

func (*JWTExtractor) ProtoMessage()

func (*JWTExtractor) ProtoReflect

func (x *JWTExtractor) ProtoReflect() protoreflect.Message

func (*JWTExtractor) Reset

func (x *JWTExtractor) Reset()

func (*JWTExtractor) String

func (x *JWTExtractor) String() string

func (*JWTExtractor) UnmarshalJSON

func (msg *JWTExtractor) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type K8SLabelMatcherRequirement added in v0.8.0

type K8SLabelMatcherRequirement struct {

	// Label key that the selector applies to.
	Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty" validate:"required"` // @gotags: validate:"required"
	// Logical operator which represents a key's relationship to a set of values.
	// Valid operators are In, NotIn, Exists and DoesNotExist.
	Operator string `protobuf:"bytes,2,opt,name=operator,proto3" json:"operator,omitempty" validate:"oneof=In NotIn Exists DoesNotExists"` // @gotags: validate:"oneof=In NotIn Exists DoesNotExists"
	// An array of string values that relates to the key by an operator.
	// If the operator is In or NotIn, the values array must be non-empty.
	// If the operator is Exists or DoesNotExist, the values array must be empty.
	Values []string `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"`
	// contains filtered or unexported fields
}

Label selector requirement which is a selector that contains values, a key, and an operator that relates the key and values.

func (*K8SLabelMatcherRequirement) DeepCopy added in v0.8.0

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

func (*K8SLabelMatcherRequirement) DeepCopyInterface added in v0.8.0

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

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

func (*K8SLabelMatcherRequirement) DeepCopyInto added in v0.8.0

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

func (*K8SLabelMatcherRequirement) Descriptor deprecated added in v0.8.0

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

Deprecated: Use K8SLabelMatcherRequirement.ProtoReflect.Descriptor instead.

func (*K8SLabelMatcherRequirement) GetKey added in v0.8.0

func (x *K8SLabelMatcherRequirement) GetKey() string

func (*K8SLabelMatcherRequirement) GetOperator added in v0.8.0

func (x *K8SLabelMatcherRequirement) GetOperator() string

func (*K8SLabelMatcherRequirement) GetValues added in v0.8.0

func (x *K8SLabelMatcherRequirement) GetValues() []string

func (*K8SLabelMatcherRequirement) MarshalJSON added in v0.8.0

func (msg *K8SLabelMatcherRequirement) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*K8SLabelMatcherRequirement) ProtoMessage added in v0.8.0

func (*K8SLabelMatcherRequirement) ProtoMessage()

func (*K8SLabelMatcherRequirement) ProtoReflect added in v0.8.0

func (*K8SLabelMatcherRequirement) Reset added in v0.8.0

func (x *K8SLabelMatcherRequirement) Reset()

func (*K8SLabelMatcherRequirement) String added in v0.8.0

func (x *K8SLabelMatcherRequirement) String() string

func (*K8SLabelMatcherRequirement) UnmarshalJSON added in v0.8.0

func (msg *K8SLabelMatcherRequirement) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type KubernetesObjectSelector added in v0.19.0

type KubernetesObjectSelector struct {

	// Which [agent-group](/concepts/integrations/flow-control/service.md#agent-group) this
	// selector applies to.
	AgentGroup string `protobuf:"bytes,1,opt,name=agent_group,json=agentGroup,proto3" json:"agent_group,omitempty" default:"default"` // @gotags: default:"default"
	// Kubernetes namespace that the resource belongs to.
	Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty" validate:"required"` // @gotags: validate:"required"
	// API version of Kubernetes resource
	ApiVersion string `protobuf:"bytes,3,opt,name=api_version,json=apiVersion,proto3" json:"api_version,omitempty" validate:"required"` // @gotags: validate:"required"
	// Kubernetes resource type.
	Kind string `protobuf:"bytes,4,opt,name=kind,proto3" json:"kind,omitempty" validate:"required"` // @gotags: validate:"required"
	// Kubernetes resource name.
	Name string `protobuf:"bytes,5,opt,name=name,proto3" json:"name,omitempty" validate:"required"` // @gotags: validate:"required"
	// contains filtered or unexported fields
}

Describes which pods a control or observability component should apply to.

func (*KubernetesObjectSelector) DeepCopy added in v0.19.0

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

func (*KubernetesObjectSelector) DeepCopyInterface added in v0.19.0

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

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

func (*KubernetesObjectSelector) DeepCopyInto added in v0.19.0

func (in *KubernetesObjectSelector) DeepCopyInto(out *KubernetesObjectSelector)

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

func (*KubernetesObjectSelector) Descriptor deprecated added in v0.19.0

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

Deprecated: Use KubernetesObjectSelector.ProtoReflect.Descriptor instead.

func (*KubernetesObjectSelector) GetAgentGroup added in v0.19.0

func (x *KubernetesObjectSelector) GetAgentGroup() string

func (*KubernetesObjectSelector) GetApiVersion added in v0.19.0

func (x *KubernetesObjectSelector) GetApiVersion() string

func (*KubernetesObjectSelector) GetKind added in v0.19.0

func (x *KubernetesObjectSelector) GetKind() string

func (*KubernetesObjectSelector) GetName added in v0.19.0

func (x *KubernetesObjectSelector) GetName() string

func (*KubernetesObjectSelector) GetNamespace added in v0.19.0

func (x *KubernetesObjectSelector) GetNamespace() string

func (*KubernetesObjectSelector) MarshalJSON added in v0.19.0

func (msg *KubernetesObjectSelector) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*KubernetesObjectSelector) ProtoMessage added in v0.19.0

func (*KubernetesObjectSelector) ProtoMessage()

func (*KubernetesObjectSelector) ProtoReflect added in v0.19.0

func (x *KubernetesObjectSelector) ProtoReflect() protoreflect.Message

func (*KubernetesObjectSelector) Reset added in v0.19.0

func (x *KubernetesObjectSelector) Reset()

func (*KubernetesObjectSelector) String added in v0.19.0

func (x *KubernetesObjectSelector) String() string

func (*KubernetesObjectSelector) UnmarshalJSON added in v0.19.0

func (msg *KubernetesObjectSelector) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type LabelMatcher added in v0.8.0

type LabelMatcher struct {

	// A map of {key,value} pairs representing labels to be matched.
	// A single {key,value} in the matchLabels requires that the label "key" is present and equal to "value".
	//
	// Note: The requirements are ANDed.
	MatchLabels map[string]string `` /* 182-byte string literal not displayed */
	// List of k8s-style label matcher requirements.
	//
	// Note: The requirements are ANDed.
	MatchExpressions []*K8SLabelMatcherRequirement `protobuf:"bytes,2,rep,name=match_expressions,json=matchExpressions,proto3" json:"match_expressions,omitempty"`
	// An arbitrary expression to be evaluated on the labels.
	Expression *MatchExpression `protobuf:"bytes,3,opt,name=expression,proto3" json:"expression,omitempty"`
	// contains filtered or unexported fields
}

Allows to define rules whether a map of [labels](/concepts/integrations/flow-control/flow-label.md) should be considered a match or not

It provides three ways to define requirements: - matchLabels - matchExpressions - arbitrary expression

If multiple requirements are set, they are all ANDed. An empty label matcher always matches.

func (*LabelMatcher) DeepCopy added in v0.8.0

func (in *LabelMatcher) DeepCopy() *LabelMatcher

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

func (*LabelMatcher) DeepCopyInterface added in v0.8.0

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

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

func (*LabelMatcher) DeepCopyInto added in v0.8.0

func (in *LabelMatcher) DeepCopyInto(out *LabelMatcher)

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

func (*LabelMatcher) Descriptor deprecated added in v0.8.0

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

Deprecated: Use LabelMatcher.ProtoReflect.Descriptor instead.

func (*LabelMatcher) GetExpression added in v0.8.0

func (x *LabelMatcher) GetExpression() *MatchExpression

func (*LabelMatcher) GetMatchExpressions added in v0.8.0

func (x *LabelMatcher) GetMatchExpressions() []*K8SLabelMatcherRequirement

func (*LabelMatcher) GetMatchLabels added in v0.8.0

func (x *LabelMatcher) GetMatchLabels() map[string]string

func (*LabelMatcher) MarshalJSON added in v0.8.0

func (msg *LabelMatcher) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*LabelMatcher) ProtoMessage added in v0.8.0

func (*LabelMatcher) ProtoMessage()

func (*LabelMatcher) ProtoReflect added in v0.8.0

func (x *LabelMatcher) ProtoReflect() protoreflect.Message

func (*LabelMatcher) Reset added in v0.8.0

func (x *LabelMatcher) Reset()

func (*LabelMatcher) String added in v0.8.0

func (x *LabelMatcher) String() string

func (*LabelMatcher) UnmarshalJSON added in v0.8.0

func (msg *LabelMatcher) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type LoadActuator added in v0.7.0

type LoadActuator struct {

	// Input ports for the Load Actuator component.
	InPorts *LoadActuator_Ins `protobuf:"bytes,1,opt,name=in_ports,json=inPorts,proto3" json:"in_ports,omitempty"`
	// Configuration key for DynamicConfig.
	DynamicConfigKey string `protobuf:"bytes,2,opt,name=dynamic_config_key,json=dynamicConfigKey,proto3" json:"dynamic_config_key,omitempty"`
	// Default configuration.
	DefaultConfig *LoadActuator_DynamicConfig `protobuf:"bytes,3,opt,name=default_config,json=defaultConfig,proto3" json:"default_config,omitempty"`
	// Configuration for embedded alerter.
	AlerterParameters *Alerter_Parameters `protobuf:"bytes,4,opt,name=alerter_parameters,json=alerterParameters,proto3" json:"alerter_parameters,omitempty"`
	// contains filtered or unexported fields
}

Takes the load multiplier input signal and publishes it to the schedulers in the data-plane

func (*LoadActuator) DeepCopy added in v0.7.0

func (in *LoadActuator) DeepCopy() *LoadActuator

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

func (*LoadActuator) DeepCopyInterface added in v0.7.0

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

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

func (*LoadActuator) DeepCopyInto added in v0.7.0

func (in *LoadActuator) DeepCopyInto(out *LoadActuator)

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

func (*LoadActuator) Descriptor deprecated added in v0.7.0

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

Deprecated: Use LoadActuator.ProtoReflect.Descriptor instead.

func (*LoadActuator) GetAlerterParameters added in v0.21.0

func (x *LoadActuator) GetAlerterParameters() *Alerter_Parameters

func (*LoadActuator) GetDefaultConfig added in v0.8.0

func (x *LoadActuator) GetDefaultConfig() *LoadActuator_DynamicConfig

func (*LoadActuator) GetDynamicConfigKey added in v0.8.0

func (x *LoadActuator) GetDynamicConfigKey() string

func (*LoadActuator) GetInPorts added in v0.7.0

func (x *LoadActuator) GetInPorts() *LoadActuator_Ins

func (*LoadActuator) MarshalJSON added in v0.7.0

func (msg *LoadActuator) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*LoadActuator) ProtoMessage added in v0.7.0

func (*LoadActuator) ProtoMessage()

func (*LoadActuator) ProtoReflect added in v0.7.0

func (x *LoadActuator) ProtoReflect() protoreflect.Message

func (*LoadActuator) Reset added in v0.7.0

func (x *LoadActuator) Reset()

func (*LoadActuator) String added in v0.7.0

func (x *LoadActuator) String() string

func (*LoadActuator) UnmarshalJSON added in v0.7.0

func (msg *LoadActuator) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type LoadActuator_DynamicConfig added in v0.8.0

type LoadActuator_DynamicConfig struct {

	// Decides whether to run the load actuator in dry-run mode. Dry run mode ensures that no traffic gets dropped by this load actuator.
	// Useful for observing the behavior of Load Actuator without disrupting any real traffic.
	DryRun bool `protobuf:"varint,1,opt,name=dry_run,json=dryRun,proto3" json:"dry_run,omitempty"`
	// contains filtered or unexported fields
}

Dynamic Configuration for LoadActuator

func (*LoadActuator_DynamicConfig) DeepCopy added in v0.8.0

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

func (*LoadActuator_DynamicConfig) DeepCopyInterface added in v0.8.0

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

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

func (*LoadActuator_DynamicConfig) DeepCopyInto added in v0.8.0

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

func (*LoadActuator_DynamicConfig) Descriptor deprecated added in v0.8.0

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

Deprecated: Use LoadActuator_DynamicConfig.ProtoReflect.Descriptor instead.

func (*LoadActuator_DynamicConfig) GetDryRun added in v0.8.0

func (x *LoadActuator_DynamicConfig) GetDryRun() bool

func (*LoadActuator_DynamicConfig) MarshalJSON added in v0.8.0

func (msg *LoadActuator_DynamicConfig) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*LoadActuator_DynamicConfig) ProtoMessage added in v0.8.0

func (*LoadActuator_DynamicConfig) ProtoMessage()

func (*LoadActuator_DynamicConfig) ProtoReflect added in v0.8.0

func (*LoadActuator_DynamicConfig) Reset added in v0.8.0

func (x *LoadActuator_DynamicConfig) Reset()

func (*LoadActuator_DynamicConfig) String added in v0.8.0

func (x *LoadActuator_DynamicConfig) String() string

func (*LoadActuator_DynamicConfig) UnmarshalJSON added in v0.8.0

func (msg *LoadActuator_DynamicConfig) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type LoadActuator_Ins added in v0.7.0

type LoadActuator_Ins struct {

	// Load multiplier is ratio of [incoming
	// concurrency](#v1-scheduler-outs) that needs to be accepted.
	LoadMultiplier *InPort `protobuf:"bytes,1,opt,name=load_multiplier,json=loadMultiplier,proto3" json:"load_multiplier,omitempty"`
	// contains filtered or unexported fields
}

Input for the Load Actuator component.

func (*LoadActuator_Ins) DeepCopy added in v0.7.0

func (in *LoadActuator_Ins) DeepCopy() *LoadActuator_Ins

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

func (*LoadActuator_Ins) DeepCopyInterface added in v0.7.0

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

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

func (*LoadActuator_Ins) DeepCopyInto added in v0.7.0

func (in *LoadActuator_Ins) DeepCopyInto(out *LoadActuator_Ins)

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

func (*LoadActuator_Ins) Descriptor deprecated added in v0.7.0

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

Deprecated: Use LoadActuator_Ins.ProtoReflect.Descriptor instead.

func (*LoadActuator_Ins) GetLoadMultiplier added in v0.7.0

func (x *LoadActuator_Ins) GetLoadMultiplier() *InPort

func (*LoadActuator_Ins) MarshalJSON added in v0.7.0

func (msg *LoadActuator_Ins) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*LoadActuator_Ins) ProtoMessage added in v0.7.0

func (*LoadActuator_Ins) ProtoMessage()

func (*LoadActuator_Ins) ProtoReflect added in v0.7.0

func (x *LoadActuator_Ins) ProtoReflect() protoreflect.Message

func (*LoadActuator_Ins) Reset added in v0.7.0

func (x *LoadActuator_Ins) Reset()

func (*LoadActuator_Ins) String added in v0.7.0

func (x *LoadActuator_Ins) String() string

func (*LoadActuator_Ins) UnmarshalJSON added in v0.7.0

func (msg *LoadActuator_Ins) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type MatchExpression added in v0.8.0

type MatchExpression struct {

	// @gotags: validate:"required"
	//
	// Types that are assignable to Variant:
	//	*MatchExpression_Not
	//	*MatchExpression_All
	//	*MatchExpression_Any
	//	*MatchExpression_LabelExists
	//	*MatchExpression_LabelEquals
	//	*MatchExpression_LabelMatches
	Variant isMatchExpression_Variant `protobuf_oneof:"variant" validate:"required"`
	// contains filtered or unexported fields
}

Defines a [map<string, string> → bool] expression to be evaluated on labels

MatchExpression has multiple variants, exactly one should be set.

Example: ```yaml all:

of:
  - label_exists: foo
  - label_equals: { label = app, value = frobnicator }

```

func (*MatchExpression) DeepCopy added in v0.8.0

func (in *MatchExpression) DeepCopy() *MatchExpression

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

func (*MatchExpression) DeepCopyInterface added in v0.8.0

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

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

func (*MatchExpression) DeepCopyInto added in v0.8.0

func (in *MatchExpression) DeepCopyInto(out *MatchExpression)

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

func (*MatchExpression) Descriptor deprecated added in v0.8.0

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

Deprecated: Use MatchExpression.ProtoReflect.Descriptor instead.

func (*MatchExpression) GetAll added in v0.8.0

func (*MatchExpression) GetAny added in v0.8.0

func (*MatchExpression) GetLabelEquals added in v0.8.0

func (x *MatchExpression) GetLabelEquals() *EqualsMatchExpression

func (*MatchExpression) GetLabelExists added in v0.8.0

func (x *MatchExpression) GetLabelExists() string

func (*MatchExpression) GetLabelMatches added in v0.8.0

func (x *MatchExpression) GetLabelMatches() *MatchesMatchExpression

func (*MatchExpression) GetNot added in v0.8.0

func (x *MatchExpression) GetNot() *MatchExpression

func (*MatchExpression) GetVariant added in v0.8.0

func (m *MatchExpression) GetVariant() isMatchExpression_Variant

func (*MatchExpression) MarshalJSON added in v0.8.0

func (msg *MatchExpression) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*MatchExpression) ProtoMessage added in v0.8.0

func (*MatchExpression) ProtoMessage()

func (*MatchExpression) ProtoReflect added in v0.8.0

func (x *MatchExpression) ProtoReflect() protoreflect.Message

func (*MatchExpression) Reset added in v0.8.0

func (x *MatchExpression) Reset()

func (*MatchExpression) String added in v0.8.0

func (x *MatchExpression) String() string

func (*MatchExpression) UnmarshalJSON added in v0.8.0

func (msg *MatchExpression) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type MatchExpression_All added in v0.8.0

type MatchExpression_All struct {
	// The expression is true when all subexpressions are true.
	All *MatchExpression_List `protobuf:"bytes,2,opt,name=all,proto3,oneof"`
}

type MatchExpression_Any added in v0.8.0

type MatchExpression_Any struct {
	// The expression is true when any subexpression is true.
	Any *MatchExpression_List `protobuf:"bytes,3,opt,name=any,proto3,oneof"`
}

type MatchExpression_LabelEquals added in v0.8.0

type MatchExpression_LabelEquals struct {
	// The expression is true when label value equals given value.
	LabelEquals *EqualsMatchExpression `protobuf:"bytes,5,opt,name=label_equals,json=labelEquals,proto3,oneof"`
}

type MatchExpression_LabelExists added in v0.8.0

type MatchExpression_LabelExists struct {
	// The expression is true when label with given name exists.
	LabelExists string `protobuf:"bytes,4,opt,name=label_exists,json=labelExists,proto3,oneof" validate:"required"` // @gotags: validate:"required"
}

type MatchExpression_LabelMatches added in v0.8.0

type MatchExpression_LabelMatches struct {
	// The expression is true when label matches given regex.
	LabelMatches *MatchesMatchExpression `protobuf:"bytes,6,opt,name=label_matches,json=labelMatches,proto3,oneof"`
}

type MatchExpression_List added in v0.8.0

type MatchExpression_List struct {

	// List of subexpressions of the match expression.
	Of []*MatchExpression `protobuf:"bytes,1,rep,name=of,proto3" json:"of,omitempty"`
	// contains filtered or unexported fields
}

List of MatchExpressions that is used for all/any matching

eg. {any: {of: [expr1, expr2]}}.

func (*MatchExpression_List) DeepCopy added in v0.8.0

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

func (*MatchExpression_List) DeepCopyInterface added in v0.8.0

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

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

func (*MatchExpression_List) DeepCopyInto added in v0.8.0

func (in *MatchExpression_List) DeepCopyInto(out *MatchExpression_List)

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

func (*MatchExpression_List) Descriptor deprecated added in v0.8.0

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

Deprecated: Use MatchExpression_List.ProtoReflect.Descriptor instead.

func (*MatchExpression_List) GetOf added in v0.8.0

func (x *MatchExpression_List) GetOf() []*MatchExpression

func (*MatchExpression_List) MarshalJSON added in v0.8.0

func (msg *MatchExpression_List) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*MatchExpression_List) ProtoMessage added in v0.8.0

func (*MatchExpression_List) ProtoMessage()

func (*MatchExpression_List) ProtoReflect added in v0.8.0

func (x *MatchExpression_List) ProtoReflect() protoreflect.Message

func (*MatchExpression_List) Reset added in v0.8.0

func (x *MatchExpression_List) Reset()

func (*MatchExpression_List) String added in v0.8.0

func (x *MatchExpression_List) String() string

func (*MatchExpression_List) UnmarshalJSON added in v0.8.0

func (msg *MatchExpression_List) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type MatchExpression_Not added in v0.8.0

type MatchExpression_Not struct {
	// The expression negates the result of subexpression.
	Not *MatchExpression `protobuf:"bytes,1,opt,name=not,proto3,oneof"`
}

type MatchesMatchExpression added in v0.8.0

type MatchesMatchExpression struct {

	// Name of the label to match the regular expression.
	Label string `protobuf:"bytes,1,opt,name=label,proto3" json:"label,omitempty" validate:"required"` // @gotags: validate:"required"
	// Regular expression that should match the label value.
	// It uses [golang's regular expression syntax](https://github.com/google/re2/wiki/Syntax).
	Regex string `protobuf:"bytes,2,opt,name=regex,proto3" json:"regex,omitempty" validate:"required"` // @gotags: validate:"required"
	// contains filtered or unexported fields
}

Label selector expression of the matches form "label matches regex".

func (*MatchesMatchExpression) DeepCopy added in v0.8.0

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

func (*MatchesMatchExpression) DeepCopyInterface added in v0.8.0

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

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

func (*MatchesMatchExpression) DeepCopyInto added in v0.8.0

func (in *MatchesMatchExpression) DeepCopyInto(out *MatchesMatchExpression)

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

func (*MatchesMatchExpression) Descriptor deprecated added in v0.8.0

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

Deprecated: Use MatchesMatchExpression.ProtoReflect.Descriptor instead.

func (*MatchesMatchExpression) GetLabel added in v0.8.0

func (x *MatchesMatchExpression) GetLabel() string

func (*MatchesMatchExpression) GetRegex added in v0.8.0

func (x *MatchesMatchExpression) GetRegex() string

func (*MatchesMatchExpression) MarshalJSON added in v0.8.0

func (msg *MatchesMatchExpression) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*MatchesMatchExpression) ProtoMessage added in v0.8.0

func (*MatchesMatchExpression) ProtoMessage()

func (*MatchesMatchExpression) ProtoReflect added in v0.8.0

func (x *MatchesMatchExpression) ProtoReflect() protoreflect.Message

func (*MatchesMatchExpression) Reset added in v0.8.0

func (x *MatchesMatchExpression) Reset()

func (*MatchesMatchExpression) String added in v0.8.0

func (x *MatchesMatchExpression) String() string

func (*MatchesMatchExpression) UnmarshalJSON added in v0.8.0

func (msg *MatchesMatchExpression) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Max

type Max struct {

	// Input ports for the Max component.
	InPorts *Max_Ins `protobuf:"bytes,1,opt,name=in_ports,json=inPorts,proto3" json:"in_ports,omitempty"`
	// Output ports for the Max component.
	OutPorts *Max_Outs `protobuf:"bytes,2,opt,name=out_ports,json=outPorts,proto3" json:"out_ports,omitempty"`
	// contains filtered or unexported fields
}

Takes a list of input signals and emits the signal with the maximum value

Max: output = max([]inputs).

func (*Max) DeepCopy added in v0.1.2

func (in *Max) DeepCopy() *Max

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

func (*Max) DeepCopyInterface added in v0.1.2

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

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

func (*Max) DeepCopyInto added in v0.1.2

func (in *Max) DeepCopyInto(out *Max)

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

func (*Max) Descriptor deprecated

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

Deprecated: Use Max.ProtoReflect.Descriptor instead.

func (*Max) GetInPorts

func (x *Max) GetInPorts() *Max_Ins

func (*Max) GetOutPorts

func (x *Max) GetOutPorts() *Max_Outs

func (*Max) MarshalJSON

func (msg *Max) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Max) ProtoMessage

func (*Max) ProtoMessage()

func (*Max) ProtoReflect

func (x *Max) ProtoReflect() protoreflect.Message

func (*Max) Reset

func (x *Max) Reset()

func (*Max) String

func (x *Max) String() string

func (*Max) UnmarshalJSON

func (msg *Max) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Max_Ins

type Max_Ins struct {

	// Array of input signals.
	Inputs []*InPort `protobuf:"bytes,1,rep,name=inputs,proto3" json:"inputs,omitempty" validate:"dive"` // @gotags: validate:"dive"
	// contains filtered or unexported fields
}

Inputs for the Max component.

func (*Max_Ins) DeepCopy added in v0.1.2

func (in *Max_Ins) DeepCopy() *Max_Ins

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

func (*Max_Ins) DeepCopyInterface added in v0.1.2

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

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

func (*Max_Ins) DeepCopyInto added in v0.1.2

func (in *Max_Ins) DeepCopyInto(out *Max_Ins)

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

func (*Max_Ins) Descriptor deprecated

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

Deprecated: Use Max_Ins.ProtoReflect.Descriptor instead.

func (*Max_Ins) GetInputs

func (x *Max_Ins) GetInputs() []*InPort

func (*Max_Ins) MarshalJSON

func (msg *Max_Ins) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Max_Ins) ProtoMessage

func (*Max_Ins) ProtoMessage()

func (*Max_Ins) ProtoReflect

func (x *Max_Ins) ProtoReflect() protoreflect.Message

func (*Max_Ins) Reset

func (x *Max_Ins) Reset()

func (*Max_Ins) String

func (x *Max_Ins) String() string

func (*Max_Ins) UnmarshalJSON

func (msg *Max_Ins) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Max_Outs

type Max_Outs struct {

	// Signal with maximum value as an output signal.
	Output *OutPort `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

Output for the Max component.

func (*Max_Outs) DeepCopy added in v0.1.2

func (in *Max_Outs) DeepCopy() *Max_Outs

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

func (*Max_Outs) DeepCopyInterface added in v0.1.2

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

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

func (*Max_Outs) DeepCopyInto added in v0.1.2

func (in *Max_Outs) DeepCopyInto(out *Max_Outs)

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

func (*Max_Outs) Descriptor deprecated

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

Deprecated: Use Max_Outs.ProtoReflect.Descriptor instead.

func (*Max_Outs) GetOutput

func (x *Max_Outs) GetOutput() *OutPort

func (*Max_Outs) MarshalJSON

func (msg *Max_Outs) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Max_Outs) ProtoMessage

func (*Max_Outs) ProtoMessage()

func (*Max_Outs) ProtoReflect

func (x *Max_Outs) ProtoReflect() protoreflect.Message

func (*Max_Outs) Reset

func (x *Max_Outs) Reset()

func (*Max_Outs) String

func (x *Max_Outs) String() string

func (*Max_Outs) UnmarshalJSON

func (msg *Max_Outs) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Min

type Min struct {

	// Input ports for the Min component.
	InPorts *Min_Ins `protobuf:"bytes,1,opt,name=in_ports,json=inPorts,proto3" json:"in_ports,omitempty"`
	// Output ports for the Min component.
	OutPorts *Min_Outs `protobuf:"bytes,2,opt,name=out_ports,json=outPorts,proto3" json:"out_ports,omitempty"`
	// contains filtered or unexported fields
}

Takes an array of input signals and emits the signal with the minimum value Min: output = min([]inputs).

func (*Min) DeepCopy added in v0.1.2

func (in *Min) DeepCopy() *Min

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

func (*Min) DeepCopyInterface added in v0.1.2

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

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

func (*Min) DeepCopyInto added in v0.1.2

func (in *Min) DeepCopyInto(out *Min)

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

func (*Min) Descriptor deprecated

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

Deprecated: Use Min.ProtoReflect.Descriptor instead.

func (*Min) GetInPorts

func (x *Min) GetInPorts() *Min_Ins

func (*Min) GetOutPorts

func (x *Min) GetOutPorts() *Min_Outs

func (*Min) MarshalJSON

func (msg *Min) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Min) ProtoMessage

func (*Min) ProtoMessage()

func (*Min) ProtoReflect

func (x *Min) ProtoReflect() protoreflect.Message

func (*Min) Reset

func (x *Min) Reset()

func (*Min) String

func (x *Min) String() string

func (*Min) UnmarshalJSON

func (msg *Min) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Min_Ins

type Min_Ins struct {

	// Array of input signals.
	Inputs []*InPort `protobuf:"bytes,1,rep,name=inputs,proto3" json:"inputs,omitempty" validate:"dive"` // @gotags: validate:"dive"
	// contains filtered or unexported fields
}

Inputs for the Min component.

func (*Min_Ins) DeepCopy added in v0.1.2

func (in *Min_Ins) DeepCopy() *Min_Ins

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

func (*Min_Ins) DeepCopyInterface added in v0.1.2

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

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

func (*Min_Ins) DeepCopyInto added in v0.1.2

func (in *Min_Ins) DeepCopyInto(out *Min_Ins)

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

func (*Min_Ins) Descriptor deprecated

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

Deprecated: Use Min_Ins.ProtoReflect.Descriptor instead.

func (*Min_Ins) GetInputs

func (x *Min_Ins) GetInputs() []*InPort

func (*Min_Ins) MarshalJSON

func (msg *Min_Ins) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Min_Ins) ProtoMessage

func (*Min_Ins) ProtoMessage()

func (*Min_Ins) ProtoReflect

func (x *Min_Ins) ProtoReflect() protoreflect.Message

func (*Min_Ins) Reset

func (x *Min_Ins) Reset()

func (*Min_Ins) String

func (x *Min_Ins) String() string

func (*Min_Ins) UnmarshalJSON

func (msg *Min_Ins) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Min_Outs

type Min_Outs struct {

	// Signal with minimum value as an output signal.
	Output *OutPort `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

Output ports for the Min component.

func (*Min_Outs) DeepCopy added in v0.1.2

func (in *Min_Outs) DeepCopy() *Min_Outs

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

func (*Min_Outs) DeepCopyInterface added in v0.1.2

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

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

func (*Min_Outs) DeepCopyInto added in v0.1.2

func (in *Min_Outs) DeepCopyInto(out *Min_Outs)

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

func (*Min_Outs) Descriptor deprecated

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

Deprecated: Use Min_Outs.ProtoReflect.Descriptor instead.

func (*Min_Outs) GetOutput

func (x *Min_Outs) GetOutput() *OutPort

func (*Min_Outs) MarshalJSON

func (msg *Min_Outs) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Min_Outs) ProtoMessage

func (*Min_Outs) ProtoMessage()

func (*Min_Outs) ProtoReflect

func (x *Min_Outs) ProtoReflect() protoreflect.Message

func (*Min_Outs) Reset

func (x *Min_Outs) Reset()

func (*Min_Outs) String

func (x *Min_Outs) String() string

func (*Min_Outs) UnmarshalJSON

func (msg *Min_Outs) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type NestedCircuit added in v0.21.0

type NestedCircuit struct {
	InPortsMap  map[string]*InPort  ``                                                                                          /* 181-byte string literal not displayed */
	OutPortsMap map[string]*OutPort ``                                                                                          /* 184-byte string literal not displayed */
	Components  []*Component        `protobuf:"bytes,3,rep,name=components,proto3" json:"components,omitempty" validate:"dive"` // @gotags: validate:"dive"
	// Name of the nested circuit component. This name is displayed by graph visualization tools.
	Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
	// Short description of the nested circuit component. This description is displayed by graph visualization tools.
	ShortDescription string `protobuf:"bytes,5,opt,name=short_description,json=shortDescription,proto3" json:"short_description,omitempty"`
	// contains filtered or unexported fields
}

Nested circuit defines a sub-circuit as a high-level component. It consists of a list of components and a map of input and output ports.

func (*NestedCircuit) DeepCopy added in v0.21.0

func (in *NestedCircuit) DeepCopy() *NestedCircuit

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

func (*NestedCircuit) DeepCopyInterface added in v0.21.0

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

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

func (*NestedCircuit) DeepCopyInto added in v0.21.0

func (in *NestedCircuit) DeepCopyInto(out *NestedCircuit)

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

func (*NestedCircuit) Descriptor deprecated added in v0.21.0

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

Deprecated: Use NestedCircuit.ProtoReflect.Descriptor instead.

func (*NestedCircuit) GetComponents added in v0.21.0

func (x *NestedCircuit) GetComponents() []*Component

func (*NestedCircuit) GetInPortsMap added in v0.21.0

func (x *NestedCircuit) GetInPortsMap() map[string]*InPort

func (*NestedCircuit) GetName added in v0.21.0

func (x *NestedCircuit) GetName() string

func (*NestedCircuit) GetOutPortsMap added in v0.21.0

func (x *NestedCircuit) GetOutPortsMap() map[string]*OutPort

func (*NestedCircuit) GetShortDescription added in v0.22.0

func (x *NestedCircuit) GetShortDescription() string

func (*NestedCircuit) MarshalJSON added in v0.21.0

func (msg *NestedCircuit) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*NestedCircuit) ProtoMessage added in v0.21.0

func (*NestedCircuit) ProtoMessage()

func (*NestedCircuit) ProtoReflect added in v0.21.0

func (x *NestedCircuit) ProtoReflect() protoreflect.Message

func (*NestedCircuit) Reset added in v0.21.0

func (x *NestedCircuit) Reset()

func (*NestedCircuit) String added in v0.21.0

func (x *NestedCircuit) String() string

func (*NestedCircuit) UnmarshalJSON added in v0.21.0

func (msg *NestedCircuit) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type NestedSignalEgress added in v0.21.0

type NestedSignalEgress struct {

	// Input ports for the NestedSignalEgress component.
	InPorts  *NestedSignalEgress_Ins `protobuf:"bytes,1,opt,name=in_ports,json=inPorts,proto3" json:"in_ports,omitempty"`
	PortName string                  `protobuf:"bytes,2,opt,name=port_name,json=portName,proto3" json:"port_name,omitempty"`
	// contains filtered or unexported fields
}

Nested signal egress is a special type of component that allows to extract a signal from a nested circuit.

func (*NestedSignalEgress) DeepCopy added in v0.21.0

func (in *NestedSignalEgress) DeepCopy() *NestedSignalEgress

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

func (*NestedSignalEgress) DeepCopyInterface added in v0.21.0

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

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

func (*NestedSignalEgress) DeepCopyInto added in v0.21.0

func (in *NestedSignalEgress) DeepCopyInto(out *NestedSignalEgress)

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

func (*NestedSignalEgress) Descriptor deprecated added in v0.21.0

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

Deprecated: Use NestedSignalEgress.ProtoReflect.Descriptor instead.

func (*NestedSignalEgress) GetInPorts added in v0.21.0

func (x *NestedSignalEgress) GetInPorts() *NestedSignalEgress_Ins

func (*NestedSignalEgress) GetPortName added in v0.21.0

func (x *NestedSignalEgress) GetPortName() string

func (*NestedSignalEgress) MarshalJSON added in v0.21.0

func (msg *NestedSignalEgress) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*NestedSignalEgress) ProtoMessage added in v0.21.0

func (*NestedSignalEgress) ProtoMessage()

func (*NestedSignalEgress) ProtoReflect added in v0.21.0

func (x *NestedSignalEgress) ProtoReflect() protoreflect.Message

func (*NestedSignalEgress) Reset added in v0.21.0

func (x *NestedSignalEgress) Reset()

func (*NestedSignalEgress) String added in v0.21.0

func (x *NestedSignalEgress) String() string

func (*NestedSignalEgress) UnmarshalJSON added in v0.21.0

func (msg *NestedSignalEgress) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type NestedSignalEgress_Ins added in v0.21.0

type NestedSignalEgress_Ins struct {

	// The signal to be egressed.
	Signal *InPort `protobuf:"bytes,1,opt,name=signal,proto3" json:"signal,omitempty"`
	// contains filtered or unexported fields
}

Inputs for the NestedSignalEgress component.

func (*NestedSignalEgress_Ins) DeepCopy added in v0.21.0

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

func (*NestedSignalEgress_Ins) DeepCopyInterface added in v0.21.0

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

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

func (*NestedSignalEgress_Ins) DeepCopyInto added in v0.21.0

func (in *NestedSignalEgress_Ins) DeepCopyInto(out *NestedSignalEgress_Ins)

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

func (*NestedSignalEgress_Ins) Descriptor deprecated added in v0.21.0

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

Deprecated: Use NestedSignalEgress_Ins.ProtoReflect.Descriptor instead.

func (*NestedSignalEgress_Ins) GetSignal added in v0.21.0

func (x *NestedSignalEgress_Ins) GetSignal() *InPort

func (*NestedSignalEgress_Ins) MarshalJSON added in v0.21.0

func (msg *NestedSignalEgress_Ins) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*NestedSignalEgress_Ins) ProtoMessage added in v0.21.0

func (*NestedSignalEgress_Ins) ProtoMessage()

func (*NestedSignalEgress_Ins) ProtoReflect added in v0.21.0

func (x *NestedSignalEgress_Ins) ProtoReflect() protoreflect.Message

func (*NestedSignalEgress_Ins) Reset added in v0.21.0

func (x *NestedSignalEgress_Ins) Reset()

func (*NestedSignalEgress_Ins) String added in v0.21.0

func (x *NestedSignalEgress_Ins) String() string

func (*NestedSignalEgress_Ins) UnmarshalJSON added in v0.21.0

func (msg *NestedSignalEgress_Ins) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type NestedSignalIngress added in v0.21.0

type NestedSignalIngress struct {

	// Output ports for the NestedSignalIngress component.
	OutPorts *NestedSignalIngress_Outs `protobuf:"bytes,1,opt,name=out_ports,json=outPorts,proto3" json:"out_ports,omitempty"`
	PortName string                    `protobuf:"bytes,2,opt,name=port_name,json=portName,proto3" json:"port_name,omitempty"`
	// contains filtered or unexported fields
}

Nested signal ingress is a special type of component that allows to inject a signal into a nested circuit.

func (*NestedSignalIngress) DeepCopy added in v0.21.0

func (in *NestedSignalIngress) DeepCopy() *NestedSignalIngress

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

func (*NestedSignalIngress) DeepCopyInterface added in v0.21.0

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

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

func (*NestedSignalIngress) DeepCopyInto added in v0.21.0

func (in *NestedSignalIngress) DeepCopyInto(out *NestedSignalIngress)

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

func (*NestedSignalIngress) Descriptor deprecated added in v0.21.0

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

Deprecated: Use NestedSignalIngress.ProtoReflect.Descriptor instead.

func (*NestedSignalIngress) GetOutPorts added in v0.21.0

func (*NestedSignalIngress) GetPortName added in v0.21.0

func (x *NestedSignalIngress) GetPortName() string

func (*NestedSignalIngress) MarshalJSON added in v0.21.0

func (msg *NestedSignalIngress) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*NestedSignalIngress) ProtoMessage added in v0.21.0

func (*NestedSignalIngress) ProtoMessage()

func (*NestedSignalIngress) ProtoReflect added in v0.21.0

func (x *NestedSignalIngress) ProtoReflect() protoreflect.Message

func (*NestedSignalIngress) Reset added in v0.21.0

func (x *NestedSignalIngress) Reset()

func (*NestedSignalIngress) String added in v0.21.0

func (x *NestedSignalIngress) String() string

func (*NestedSignalIngress) UnmarshalJSON added in v0.21.0

func (msg *NestedSignalIngress) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type NestedSignalIngress_Outs added in v0.21.0

type NestedSignalIngress_Outs struct {

	// The signal to be ingressed.
	Signal *OutPort `protobuf:"bytes,1,opt,name=signal,proto3" json:"signal,omitempty"`
	// contains filtered or unexported fields
}

Outputs for the NestedSignalIngress component.

func (*NestedSignalIngress_Outs) DeepCopy added in v0.21.0

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

func (*NestedSignalIngress_Outs) DeepCopyInterface added in v0.21.0

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

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

func (*NestedSignalIngress_Outs) DeepCopyInto added in v0.21.0

func (in *NestedSignalIngress_Outs) DeepCopyInto(out *NestedSignalIngress_Outs)

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

func (*NestedSignalIngress_Outs) Descriptor deprecated added in v0.21.0

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

Deprecated: Use NestedSignalIngress_Outs.ProtoReflect.Descriptor instead.

func (*NestedSignalIngress_Outs) GetSignal added in v0.21.0

func (x *NestedSignalIngress_Outs) GetSignal() *OutPort

func (*NestedSignalIngress_Outs) MarshalJSON added in v0.21.0

func (msg *NestedSignalIngress_Outs) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*NestedSignalIngress_Outs) ProtoMessage added in v0.21.0

func (*NestedSignalIngress_Outs) ProtoMessage()

func (*NestedSignalIngress_Outs) ProtoReflect added in v0.21.0

func (x *NestedSignalIngress_Outs) ProtoReflect() protoreflect.Message

func (*NestedSignalIngress_Outs) Reset added in v0.21.0

func (x *NestedSignalIngress_Outs) Reset()

func (*NestedSignalIngress_Outs) String added in v0.21.0

func (x *NestedSignalIngress_Outs) String() string

func (*NestedSignalIngress_Outs) UnmarshalJSON added in v0.21.0

func (msg *NestedSignalIngress_Outs) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Or added in v0.20.0

type Or struct {

	// Input ports for the Or component.
	InPorts *Or_Ins `protobuf:"bytes,1,opt,name=in_ports,json=inPorts,proto3" json:"in_ports,omitempty"`
	// Output ports for the Or component.
	OutPorts *Or_Outs `protobuf:"bytes,2,opt,name=out_ports,json=outPorts,proto3" json:"out_ports,omitempty"`
	// contains filtered or unexported fields
}

Logical OR.

See [And component](#v1-and) on how signals are mapped onto boolean values.

func (*Or) DeepCopy added in v0.20.0

func (in *Or) DeepCopy() *Or

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

func (*Or) DeepCopyInterface added in v0.20.0

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

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

func (*Or) DeepCopyInto added in v0.20.0

func (in *Or) DeepCopyInto(out *Or)

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

func (*Or) Descriptor deprecated added in v0.20.0

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

Deprecated: Use Or.ProtoReflect.Descriptor instead.

func (*Or) GetInPorts added in v0.20.0

func (x *Or) GetInPorts() *Or_Ins

func (*Or) GetOutPorts added in v0.20.0

func (x *Or) GetOutPorts() *Or_Outs

func (*Or) MarshalJSON added in v0.20.0

func (msg *Or) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Or) ProtoMessage added in v0.20.0

func (*Or) ProtoMessage()

func (*Or) ProtoReflect added in v0.20.0

func (x *Or) ProtoReflect() protoreflect.Message

func (*Or) Reset added in v0.20.0

func (x *Or) Reset()

func (*Or) String added in v0.20.0

func (x *Or) String() string

func (*Or) UnmarshalJSON added in v0.20.0

func (msg *Or) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Or_Ins added in v0.20.0

type Or_Ins struct {

	// Array of input signals.
	Inputs []*InPort `protobuf:"bytes,1,rep,name=inputs,proto3" json:"inputs,omitempty" validate:"dive"` // @gotags: validate:"dive"
	// contains filtered or unexported fields
}

Inputs for the Or component.

func (*Or_Ins) DeepCopy added in v0.20.0

func (in *Or_Ins) DeepCopy() *Or_Ins

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

func (*Or_Ins) DeepCopyInterface added in v0.20.0

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

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

func (*Or_Ins) DeepCopyInto added in v0.20.0

func (in *Or_Ins) DeepCopyInto(out *Or_Ins)

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

func (*Or_Ins) Descriptor deprecated added in v0.20.0

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

Deprecated: Use Or_Ins.ProtoReflect.Descriptor instead.

func (*Or_Ins) GetInputs added in v0.20.0

func (x *Or_Ins) GetInputs() []*InPort

func (*Or_Ins) MarshalJSON added in v0.20.0

func (msg *Or_Ins) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Or_Ins) ProtoMessage added in v0.20.0

func (*Or_Ins) ProtoMessage()

func (*Or_Ins) ProtoReflect added in v0.20.0

func (x *Or_Ins) ProtoReflect() protoreflect.Message

func (*Or_Ins) Reset added in v0.20.0

func (x *Or_Ins) Reset()

func (*Or_Ins) String added in v0.20.0

func (x *Or_Ins) String() string

func (*Or_Ins) UnmarshalJSON added in v0.20.0

func (msg *Or_Ins) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Or_Outs added in v0.20.0

type Or_Outs struct {

	// Result of logical OR of all the input signals.
	//
	// Will always be 0 (false), 1 (true) or invalid (unknown).
	Output *OutPort `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

Output ports for the Or component.

func (*Or_Outs) DeepCopy added in v0.20.0

func (in *Or_Outs) DeepCopy() *Or_Outs

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

func (*Or_Outs) DeepCopyInterface added in v0.20.0

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

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

func (*Or_Outs) DeepCopyInto added in v0.20.0

func (in *Or_Outs) DeepCopyInto(out *Or_Outs)

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

func (*Or_Outs) Descriptor deprecated added in v0.20.0

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

Deprecated: Use Or_Outs.ProtoReflect.Descriptor instead.

func (*Or_Outs) GetOutput added in v0.20.0

func (x *Or_Outs) GetOutput() *OutPort

func (*Or_Outs) MarshalJSON added in v0.20.0

func (msg *Or_Outs) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Or_Outs) ProtoMessage added in v0.20.0

func (*Or_Outs) ProtoMessage()

func (*Or_Outs) ProtoReflect added in v0.20.0

func (x *Or_Outs) ProtoReflect() protoreflect.Message

func (*Or_Outs) Reset added in v0.20.0

func (x *Or_Outs) Reset()

func (*Or_Outs) String added in v0.20.0

func (x *Or_Outs) String() string

func (*Or_Outs) UnmarshalJSON added in v0.20.0

func (msg *Or_Outs) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type OutPort added in v0.5.0

type OutPort struct {

	// Name of the outgoing Signal on the OutPort.
	SignalName string `protobuf:"bytes,1,opt,name=signal_name,json=signalName,proto3" json:"signal_name,omitempty"`
	// contains filtered or unexported fields
}

Components produce output for other components via OutPorts

func (*OutPort) DeepCopy added in v0.5.0

func (in *OutPort) DeepCopy() *OutPort

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

func (*OutPort) DeepCopyInterface added in v0.5.0

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

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

func (*OutPort) DeepCopyInto added in v0.5.0

func (in *OutPort) DeepCopyInto(out *OutPort)

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

func (*OutPort) Descriptor deprecated added in v0.5.0

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

Deprecated: Use OutPort.ProtoReflect.Descriptor instead.

func (*OutPort) GetSignalName added in v0.5.0

func (x *OutPort) GetSignalName() string

func (*OutPort) MarshalJSON added in v0.5.0

func (msg *OutPort) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*OutPort) ProtoMessage added in v0.5.0

func (*OutPort) ProtoMessage()

func (*OutPort) ProtoReflect added in v0.5.0

func (x *OutPort) ProtoReflect() protoreflect.Message

func (*OutPort) Reset added in v0.5.0

func (x *OutPort) Reset()

func (*OutPort) String added in v0.5.0

func (x *OutPort) String() string

func (*OutPort) UnmarshalJSON added in v0.5.0

func (msg *OutPort) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type PathTemplateMatcher

type PathTemplateMatcher struct {

	// Template value keys are OpenAPI-inspired path templates.
	//
	// * Static path segment `/foo` matches a path segment exactly
	// * `/{param}` matches arbitrary path segment.
	//   (The param name is ignored and can be omitted (`{}`))
	// * The parameter must cover whole segment.
	// * Additionally, path template can end with `/*` wildcard to match
	//   arbitrary number of trailing segments (0 or more).
	// * Multiple consecutive `/` are ignored, as well as trailing `/`.
	// * Parametrized path segments must come after static segments.
	// * `*`, if present, must come last.
	// * Most specific template "wins" (`/foo` over `/{}` and `/{}` over `/*`).
	//
	// See also <https://swagger.io/specification/#path-templating-matching>
	//
	// Example:
	// “`yaml
	// /register: register
	// "/user/{userId}": user
	// /static/*: other
	// “`
	TemplateValues map[string]string `` // @gotags: validate:"gt=0,dive,keys,required,endkeys,required"
	/* 243-byte string literal not displayed */
	// contains filtered or unexported fields
}

Matches HTTP Path to given path templates

HTTP path will be matched against given path templates. If a match occurs, the value associated with the path template will be treated as a result. In case of multiple path templates matching, the most specific one will be chosen.

func (*PathTemplateMatcher) DeepCopy added in v0.1.2

func (in *PathTemplateMatcher) DeepCopy() *PathTemplateMatcher

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

func (*PathTemplateMatcher) DeepCopyInterface added in v0.1.2

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

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

func (*PathTemplateMatcher) DeepCopyInto added in v0.1.2

func (in *PathTemplateMatcher) DeepCopyInto(out *PathTemplateMatcher)

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

func (*PathTemplateMatcher) Descriptor deprecated

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

Deprecated: Use PathTemplateMatcher.ProtoReflect.Descriptor instead.

func (*PathTemplateMatcher) GetTemplateValues

func (x *PathTemplateMatcher) GetTemplateValues() map[string]string

func (*PathTemplateMatcher) MarshalJSON

func (msg *PathTemplateMatcher) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*PathTemplateMatcher) ProtoMessage

func (*PathTemplateMatcher) ProtoMessage()

func (*PathTemplateMatcher) ProtoReflect

func (x *PathTemplateMatcher) ProtoReflect() protoreflect.Message

func (*PathTemplateMatcher) Reset

func (x *PathTemplateMatcher) Reset()

func (*PathTemplateMatcher) String

func (x *PathTemplateMatcher) String() string

func (*PathTemplateMatcher) UnmarshalJSON

func (msg *PathTemplateMatcher) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Policies added in v0.5.0

type Policies struct {
	Policies map[string]*Policy `` /* 157-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*Policies) DeepCopy added in v0.5.0

func (in *Policies) DeepCopy() *Policies

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

func (*Policies) DeepCopyInterface added in v0.5.0

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

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

func (*Policies) DeepCopyInto added in v0.5.0

func (in *Policies) DeepCopyInto(out *Policies)

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

func (*Policies) Descriptor deprecated added in v0.5.0

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

Deprecated: Use Policies.ProtoReflect.Descriptor instead.

func (*Policies) GetPolicies added in v0.5.0

func (x *Policies) GetPolicies() map[string]*Policy

func (*Policies) MarshalJSON added in v0.5.0

func (msg *Policies) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Policies) ProtoMessage added in v0.5.0

func (*Policies) ProtoMessage()

func (*Policies) ProtoReflect added in v0.5.0

func (x *Policies) ProtoReflect() protoreflect.Message

func (*Policies) Reset added in v0.5.0

func (x *Policies) Reset()

func (*Policies) String added in v0.5.0

func (x *Policies) String() string

func (*Policies) UnmarshalJSON added in v0.5.0

func (msg *Policies) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Policy

type Policy struct {

	// Defines the control-loop logic of the policy.
	Circuit *Circuit `protobuf:"bytes,1,opt,name=circuit,proto3" json:"circuit,omitempty"`
	// Resources (Flux Meters, Classifiers etc.) to setup.
	Resources *Resources `protobuf:"bytes,2,opt,name=resources,proto3" json:"resources,omitempty"`
	// contains filtered or unexported fields
}

Policy expresses reliability automation workflow that automatically protects services

:::info

See also [Policy overview](/concepts/policy/policy.md).

:::

Policy specification contains a circuit that defines the controller logic and resources that need to be setup.

func (*Policy) DeepCopy added in v0.1.2

func (in *Policy) DeepCopy() *Policy

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

func (*Policy) DeepCopyInterface added in v0.1.2

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

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

func (*Policy) DeepCopyInto added in v0.1.2

func (in *Policy) DeepCopyInto(out *Policy)

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

func (*Policy) Descriptor deprecated

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

Deprecated: Use Policy.ProtoReflect.Descriptor instead.

func (*Policy) GetCircuit

func (x *Policy) GetCircuit() *Circuit

func (*Policy) GetResources

func (x *Policy) GetResources() *Resources

func (*Policy) MarshalJSON

func (msg *Policy) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Policy) ProtoMessage

func (*Policy) ProtoMessage()

func (*Policy) ProtoReflect

func (x *Policy) ProtoReflect() protoreflect.Message

func (*Policy) Reset

func (x *Policy) Reset()

func (*Policy) String

func (x *Policy) String() string

func (*Policy) UnmarshalJSON

func (msg *Policy) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type PolicyServiceClient

type PolicyServiceClient interface {
	GetPolicies(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetPoliciesResponse, error)
}

PolicyServiceClient is the client API for PolicyService service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

type PolicyServiceServer

type PolicyServiceServer interface {
	GetPolicies(context.Context, *emptypb.Empty) (*GetPoliciesResponse, error)
}

PolicyServiceServer is the server API for PolicyService service. All implementations should embed UnimplementedPolicyServiceServer for forward compatibility

type PromQL

type PromQL struct {

	// Output ports for the PromQL component.
	OutPorts *PromQL_Outs `protobuf:"bytes,1,opt,name=out_ports,json=outPorts,proto3" json:"out_ports,omitempty"`
	// Describes the Prometheus query to be run.
	//
	// :::caution
	//
	// TODO we should describe how to construct the query, eg. how to employ the
	// fluxmeters here or link to appropriate place in docs.
	//
	// :::
	QueryString string `protobuf:"bytes,2,opt,name=query_string,json=queryString,proto3" json:"query_string,omitempty"`
	// Describes the interval between successive evaluations of the Prometheus query.
	EvaluationInterval *durationpb.Duration `` // @gotags: default:"10s"
	/* 129-byte string literal not displayed */
	// contains filtered or unexported fields
}

Component that runs a Prometheus query periodically and returns the result as an output signal

func (*PromQL) DeepCopy added in v0.1.2

func (in *PromQL) DeepCopy() *PromQL

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

func (*PromQL) DeepCopyInterface added in v0.1.2

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

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

func (*PromQL) DeepCopyInto added in v0.1.2

func (in *PromQL) DeepCopyInto(out *PromQL)

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

func (*PromQL) Descriptor deprecated

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

Deprecated: Use PromQL.ProtoReflect.Descriptor instead.

func (*PromQL) GetEvaluationInterval

func (x *PromQL) GetEvaluationInterval() *durationpb.Duration

func (*PromQL) GetOutPorts

func (x *PromQL) GetOutPorts() *PromQL_Outs

func (*PromQL) GetQueryString

func (x *PromQL) GetQueryString() string

func (*PromQL) MarshalJSON

func (msg *PromQL) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*PromQL) ProtoMessage

func (*PromQL) ProtoMessage()

func (*PromQL) ProtoReflect

func (x *PromQL) ProtoReflect() protoreflect.Message

func (*PromQL) Reset

func (x *PromQL) Reset()

func (*PromQL) String

func (x *PromQL) String() string

func (*PromQL) UnmarshalJSON

func (msg *PromQL) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type PromQL_Outs

type PromQL_Outs struct {

	// The result of the Prometheus query as an output signal.
	Output *OutPort `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

Output for the PromQL component.

func (*PromQL_Outs) DeepCopy added in v0.1.2

func (in *PromQL_Outs) DeepCopy() *PromQL_Outs

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

func (*PromQL_Outs) DeepCopyInterface added in v0.1.2

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

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

func (*PromQL_Outs) DeepCopyInto added in v0.1.2

func (in *PromQL_Outs) DeepCopyInto(out *PromQL_Outs)

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

func (*PromQL_Outs) Descriptor deprecated

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

Deprecated: Use PromQL_Outs.ProtoReflect.Descriptor instead.

func (*PromQL_Outs) GetOutput

func (x *PromQL_Outs) GetOutput() *OutPort

func (*PromQL_Outs) MarshalJSON

func (msg *PromQL_Outs) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*PromQL_Outs) ProtoMessage

func (*PromQL_Outs) ProtoMessage()

func (*PromQL_Outs) ProtoReflect

func (x *PromQL_Outs) ProtoReflect() protoreflect.Message

func (*PromQL_Outs) Reset

func (x *PromQL_Outs) Reset()

func (*PromQL_Outs) String

func (x *PromQL_Outs) String() string

func (*PromQL_Outs) UnmarshalJSON

func (msg *PromQL_Outs) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type PulseGenerator added in v0.20.0

type PulseGenerator struct {
	OutPorts *PulseGenerator_Outs `protobuf:"bytes,1,opt,name=out_ports,json=outPorts,proto3" json:"out_ports,omitempty"`
	// Emitting 1 for the true_for duration.
	TrueFor *durationpb.Duration `protobuf:"bytes,2,opt,name=true_for,json=trueFor,proto3" json:"true_for,omitempty" default:"5s"` // @gotags: default:"5s"
	// Emitting 0 for the false_for duration.
	FalseFor *durationpb.Duration `protobuf:"bytes,3,opt,name=false_for,json=falseFor,proto3" json:"false_for,omitempty" default:"5s"` // @gotags: default:"5s"
	// contains filtered or unexported fields
}

Generates 0 and 1 in turns.

func (*PulseGenerator) DeepCopy added in v0.20.0

func (in *PulseGenerator) DeepCopy() *PulseGenerator

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

func (*PulseGenerator) DeepCopyInterface added in v0.20.0

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

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

func (*PulseGenerator) DeepCopyInto added in v0.20.0

func (in *PulseGenerator) DeepCopyInto(out *PulseGenerator)

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

func (*PulseGenerator) Descriptor deprecated added in v0.20.0

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

Deprecated: Use PulseGenerator.ProtoReflect.Descriptor instead.

func (*PulseGenerator) GetFalseFor added in v0.20.0

func (x *PulseGenerator) GetFalseFor() *durationpb.Duration

func (*PulseGenerator) GetOutPorts added in v0.20.0

func (x *PulseGenerator) GetOutPorts() *PulseGenerator_Outs

func (*PulseGenerator) GetTrueFor added in v0.20.0

func (x *PulseGenerator) GetTrueFor() *durationpb.Duration

func (*PulseGenerator) MarshalJSON added in v0.20.0

func (msg *PulseGenerator) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*PulseGenerator) ProtoMessage added in v0.20.0

func (*PulseGenerator) ProtoMessage()

func (*PulseGenerator) ProtoReflect added in v0.20.0

func (x *PulseGenerator) ProtoReflect() protoreflect.Message

func (*PulseGenerator) Reset added in v0.20.0

func (x *PulseGenerator) Reset()

func (*PulseGenerator) String added in v0.20.0

func (x *PulseGenerator) String() string

func (*PulseGenerator) UnmarshalJSON added in v0.20.0

func (msg *PulseGenerator) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type PulseGenerator_Outs added in v0.20.0

type PulseGenerator_Outs struct {
	Output *OutPort `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

Outputs for the PulseGenerator component.

func (*PulseGenerator_Outs) DeepCopy added in v0.20.0

func (in *PulseGenerator_Outs) DeepCopy() *PulseGenerator_Outs

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

func (*PulseGenerator_Outs) DeepCopyInterface added in v0.20.0

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

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

func (*PulseGenerator_Outs) DeepCopyInto added in v0.20.0

func (in *PulseGenerator_Outs) DeepCopyInto(out *PulseGenerator_Outs)

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

func (*PulseGenerator_Outs) Descriptor deprecated added in v0.20.0

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

Deprecated: Use PulseGenerator_Outs.ProtoReflect.Descriptor instead.

func (*PulseGenerator_Outs) GetOutput added in v0.20.0

func (x *PulseGenerator_Outs) GetOutput() *OutPort

func (*PulseGenerator_Outs) MarshalJSON added in v0.20.0

func (msg *PulseGenerator_Outs) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*PulseGenerator_Outs) ProtoMessage added in v0.20.0

func (*PulseGenerator_Outs) ProtoMessage()

func (*PulseGenerator_Outs) ProtoReflect added in v0.20.0

func (x *PulseGenerator_Outs) ProtoReflect() protoreflect.Message

func (*PulseGenerator_Outs) Reset added in v0.20.0

func (x *PulseGenerator_Outs) Reset()

func (*PulseGenerator_Outs) String added in v0.20.0

func (x *PulseGenerator_Outs) String() string

func (*PulseGenerator_Outs) UnmarshalJSON added in v0.20.0

func (msg *PulseGenerator_Outs) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Query added in v0.21.0

type Query struct {

	// Types that are assignable to Component:
	//	*Query_Promql
	Component isQuery_Component `protobuf_oneof:"component"`
	// contains filtered or unexported fields
}

Query components that are query databases such as Prometheus.

func (*Query) DeepCopy added in v0.21.0

func (in *Query) DeepCopy() *Query

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

func (*Query) DeepCopyInterface added in v0.21.0

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

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

func (*Query) DeepCopyInto added in v0.21.0

func (in *Query) DeepCopyInto(out *Query)

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

func (*Query) Descriptor deprecated added in v0.21.0

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

Deprecated: Use Query.ProtoReflect.Descriptor instead.

func (*Query) GetComponent added in v0.21.0

func (m *Query) GetComponent() isQuery_Component

func (*Query) GetPromql added in v0.21.0

func (x *Query) GetPromql() *PromQL

func (*Query) MarshalJSON added in v0.21.0

func (msg *Query) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Query) ProtoMessage added in v0.21.0

func (*Query) ProtoMessage()

func (*Query) ProtoReflect added in v0.21.0

func (x *Query) ProtoReflect() protoreflect.Message

func (*Query) Reset added in v0.21.0

func (x *Query) Reset()

func (*Query) String added in v0.21.0

func (x *Query) String() string

func (*Query) UnmarshalJSON added in v0.21.0

func (msg *Query) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Query_Promql added in v0.21.0

type Query_Promql struct {
	// Periodically runs a Prometheus query in the background and emits the result.
	Promql *PromQL `protobuf:"bytes,1,opt,name=promql,proto3,oneof"`
}

type RateLimiter

type RateLimiter struct {
	InPorts *RateLimiter_Ins `protobuf:"bytes,1,opt,name=in_ports,json=inPorts,proto3" json:"in_ports,omitempty" validate:"required"` // @gotags: validate:"required"
	// Which control point to apply this ratelimiter to.
	FlowSelector *FlowSelector `protobuf:"bytes,2,opt,name=flow_selector,json=flowSelector,proto3" json:"flow_selector,omitempty" validate:"required"` // @gotags: validate:"required"
	// Parameters for the RateLimiter component
	Parameters *RateLimiter_Parameters `protobuf:"bytes,3,opt,name=parameters,proto3" json:"parameters,omitempty" validate:"required"` // @gotags: validate:"required"
	// Configuration key for DynamicConfig
	DynamicConfigKey string `protobuf:"bytes,4,opt,name=dynamic_config_key,json=dynamicConfigKey,proto3" json:"dynamic_config_key,omitempty"`
	// Default configuration
	DefaultConfig *RateLimiter_DynamicConfig `protobuf:"bytes,5,opt,name=default_config,json=defaultConfig,proto3" json:"default_config,omitempty"`
	// contains filtered or unexported fields
}

Limits the traffic on a control point to specified rate

:::info

See also [Rate Limiter overview](/concepts/integrations/flow-control/components/rate-limiter.md).

:::

Ratelimiting is done separately on per-label-value basis. Use _label\_key_ to select which label should be used as key.

func (*RateLimiter) DeepCopy added in v0.1.2

func (in *RateLimiter) DeepCopy() *RateLimiter

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

func (*RateLimiter) DeepCopyInterface added in v0.1.2

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

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

func (*RateLimiter) DeepCopyInto added in v0.1.2

func (in *RateLimiter) DeepCopyInto(out *RateLimiter)

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

func (*RateLimiter) Descriptor deprecated

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

Deprecated: Use RateLimiter.ProtoReflect.Descriptor instead.

func (*RateLimiter) GetDefaultConfig added in v0.8.0

func (x *RateLimiter) GetDefaultConfig() *RateLimiter_DynamicConfig

func (*RateLimiter) GetDynamicConfigKey added in v0.4.0

func (x *RateLimiter) GetDynamicConfigKey() string

func (*RateLimiter) GetFlowSelector added in v0.15.0

func (x *RateLimiter) GetFlowSelector() *FlowSelector

func (*RateLimiter) GetInPorts

func (x *RateLimiter) GetInPorts() *RateLimiter_Ins

func (*RateLimiter) GetParameters added in v0.21.0

func (x *RateLimiter) GetParameters() *RateLimiter_Parameters

func (*RateLimiter) MarshalJSON

func (msg *RateLimiter) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*RateLimiter) ProtoMessage

func (*RateLimiter) ProtoMessage()

func (*RateLimiter) ProtoReflect

func (x *RateLimiter) ProtoReflect() protoreflect.Message

func (*RateLimiter) Reset

func (x *RateLimiter) Reset()

func (*RateLimiter) String

func (x *RateLimiter) String() string

func (*RateLimiter) UnmarshalJSON

func (msg *RateLimiter) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type RateLimiter_DynamicConfig added in v0.4.0

type RateLimiter_DynamicConfig struct {

	// Allows to specify different limits for particular label values.
	Overrides []*RateLimiter_Override `protobuf:"bytes,1,rep,name=overrides,proto3" json:"overrides,omitempty" validate:"dive"` // @gotags: validate:"dive"
	// contains filtered or unexported fields
}

Dynamic Configuration for the rate limiter

func (*RateLimiter_DynamicConfig) DeepCopy added in v0.4.0

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

func (*RateLimiter_DynamicConfig) DeepCopyInterface added in v0.4.0

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

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

func (*RateLimiter_DynamicConfig) DeepCopyInto added in v0.4.0

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

func (*RateLimiter_DynamicConfig) Descriptor deprecated added in v0.4.0

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

Deprecated: Use RateLimiter_DynamicConfig.ProtoReflect.Descriptor instead.

func (*RateLimiter_DynamicConfig) GetOverrides added in v0.4.0

func (x *RateLimiter_DynamicConfig) GetOverrides() []*RateLimiter_Override

func (*RateLimiter_DynamicConfig) MarshalJSON added in v0.4.0

func (msg *RateLimiter_DynamicConfig) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*RateLimiter_DynamicConfig) ProtoMessage added in v0.4.0

func (*RateLimiter_DynamicConfig) ProtoMessage()

func (*RateLimiter_DynamicConfig) ProtoReflect added in v0.4.0

func (*RateLimiter_DynamicConfig) Reset added in v0.4.0

func (x *RateLimiter_DynamicConfig) Reset()

func (*RateLimiter_DynamicConfig) String added in v0.4.0

func (x *RateLimiter_DynamicConfig) String() string

func (*RateLimiter_DynamicConfig) UnmarshalJSON added in v0.4.0

func (msg *RateLimiter_DynamicConfig) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type RateLimiter_Ins

type RateLimiter_Ins struct {

	// Number of flows allowed per _limit\_reset\_interval_ per each label.
	// Negative values disable the ratelimiter.
	//
	// :::tip
	//
	// Negative limit can be useful to _conditionally_ enable the ratelimiter
	// under certain circumstances. [Decider](#v1-decider) might be helpful.
	//
	// :::
	Limit *InPort `protobuf:"bytes,1,opt,name=limit,proto3" json:"limit,omitempty" validate:"required"` // @gotags: validate:"required"
	// contains filtered or unexported fields
}

Inputs for the RateLimiter component

func (*RateLimiter_Ins) DeepCopy added in v0.1.2

func (in *RateLimiter_Ins) DeepCopy() *RateLimiter_Ins

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

func (*RateLimiter_Ins) DeepCopyInterface added in v0.1.2

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

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

func (*RateLimiter_Ins) DeepCopyInto added in v0.1.2

func (in *RateLimiter_Ins) DeepCopyInto(out *RateLimiter_Ins)

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

func (*RateLimiter_Ins) Descriptor deprecated

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

Deprecated: Use RateLimiter_Ins.ProtoReflect.Descriptor instead.

func (*RateLimiter_Ins) GetLimit

func (x *RateLimiter_Ins) GetLimit() *InPort

func (*RateLimiter_Ins) MarshalJSON

func (msg *RateLimiter_Ins) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*RateLimiter_Ins) ProtoMessage

func (*RateLimiter_Ins) ProtoMessage()

func (*RateLimiter_Ins) ProtoReflect

func (x *RateLimiter_Ins) ProtoReflect() protoreflect.Message

func (*RateLimiter_Ins) Reset

func (x *RateLimiter_Ins) Reset()

func (*RateLimiter_Ins) String

func (x *RateLimiter_Ins) String() string

func (*RateLimiter_Ins) UnmarshalJSON

func (msg *RateLimiter_Ins) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type RateLimiter_Override

type RateLimiter_Override struct {

	// Value of the label for which the override should be applied.
	LabelValue string `protobuf:"bytes,1,opt,name=label_value,json=labelValue,proto3" json:"label_value,omitempty" validate:"required"` // @gotags: validate:"required"
	// Amount by which the _in\_ports.limit_ should be multiplied for this label value.
	LimitScaleFactor float64 `` // @gotags: default:"1.0"
	/* 127-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*RateLimiter_Override) DeepCopy added in v0.1.2

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

func (*RateLimiter_Override) DeepCopyInterface added in v0.1.2

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

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

func (*RateLimiter_Override) DeepCopyInto added in v0.1.2

func (in *RateLimiter_Override) DeepCopyInto(out *RateLimiter_Override)

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

func (*RateLimiter_Override) Descriptor deprecated

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

Deprecated: Use RateLimiter_Override.ProtoReflect.Descriptor instead.

func (*RateLimiter_Override) GetLabelValue

func (x *RateLimiter_Override) GetLabelValue() string

func (*RateLimiter_Override) GetLimitScaleFactor

func (x *RateLimiter_Override) GetLimitScaleFactor() float64

func (*RateLimiter_Override) MarshalJSON

func (msg *RateLimiter_Override) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*RateLimiter_Override) ProtoMessage

func (*RateLimiter_Override) ProtoMessage()

func (*RateLimiter_Override) ProtoReflect

func (x *RateLimiter_Override) ProtoReflect() protoreflect.Message

func (*RateLimiter_Override) Reset

func (x *RateLimiter_Override) Reset()

func (*RateLimiter_Override) String

func (x *RateLimiter_Override) String() string

func (*RateLimiter_Override) UnmarshalJSON

func (msg *RateLimiter_Override) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type RateLimiter_Parameters added in v0.21.0

type RateLimiter_Parameters struct {

	// Time after which the limit for a given label value will be reset.
	LimitResetInterval *durationpb.Duration `` // @gotags: default:"60s"
	/* 131-byte string literal not displayed */
	// Specifies which label the ratelimiter should be keyed by.
	//
	// Rate limiting is done independently for each value of the
	// [label](/concepts/integrations/flow-control/flow-label.md) with given key.
	// Eg., to give each user a separate limit, assuming you have a _user_ flow
	// label set up, set `label_key: "user"`.
	LabelKey string `protobuf:"bytes,2,opt,name=label_key,json=labelKey,proto3" json:"label_key,omitempty" validate:"required"` // @gotags: validate:"required"
	// Configuration of lazy-syncing behaviour of ratelimiter
	LazySync *RateLimiter_Parameters_LazySync `protobuf:"bytes,3,opt,name=lazy_sync,json=lazySync,proto3" json:"lazy_sync,omitempty"`
	// contains filtered or unexported fields
}

func (*RateLimiter_Parameters) DeepCopy added in v0.21.0

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

func (*RateLimiter_Parameters) DeepCopyInterface added in v0.21.0

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

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

func (*RateLimiter_Parameters) DeepCopyInto added in v0.21.0

func (in *RateLimiter_Parameters) DeepCopyInto(out *RateLimiter_Parameters)

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

func (*RateLimiter_Parameters) Descriptor deprecated added in v0.21.0

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

Deprecated: Use RateLimiter_Parameters.ProtoReflect.Descriptor instead.

func (*RateLimiter_Parameters) GetLabelKey added in v0.21.0

func (x *RateLimiter_Parameters) GetLabelKey() string

func (*RateLimiter_Parameters) GetLazySync added in v0.21.0

func (*RateLimiter_Parameters) GetLimitResetInterval added in v0.21.0

func (x *RateLimiter_Parameters) GetLimitResetInterval() *durationpb.Duration

func (*RateLimiter_Parameters) MarshalJSON added in v0.21.0

func (msg *RateLimiter_Parameters) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*RateLimiter_Parameters) ProtoMessage added in v0.21.0

func (*RateLimiter_Parameters) ProtoMessage()

func (*RateLimiter_Parameters) ProtoReflect added in v0.21.0

func (x *RateLimiter_Parameters) ProtoReflect() protoreflect.Message

func (*RateLimiter_Parameters) Reset added in v0.21.0

func (x *RateLimiter_Parameters) Reset()

func (*RateLimiter_Parameters) String added in v0.21.0

func (x *RateLimiter_Parameters) String() string

func (*RateLimiter_Parameters) UnmarshalJSON added in v0.21.0

func (msg *RateLimiter_Parameters) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type RateLimiter_Parameters_LazySync added in v0.21.0

type RateLimiter_Parameters_LazySync struct {

	// Enables lazy sync
	Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty" default:"false"` // @gotags: default:"false"
	// Number of times to lazy sync within the _limit\_reset\_interval_.
	NumSync uint32 `protobuf:"varint,2,opt,name=num_sync,json=numSync,proto3" json:"num_sync,omitempty" default:"5" validate:"gt=0"` // @gotags: default:"5" validate:"gt=0"
	// contains filtered or unexported fields
}

func (*RateLimiter_Parameters_LazySync) DeepCopy added in v0.21.0

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

func (*RateLimiter_Parameters_LazySync) DeepCopyInterface added in v0.21.0

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

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

func (*RateLimiter_Parameters_LazySync) DeepCopyInto added in v0.21.0

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

func (*RateLimiter_Parameters_LazySync) Descriptor deprecated added in v0.21.0

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

Deprecated: Use RateLimiter_Parameters_LazySync.ProtoReflect.Descriptor instead.

func (*RateLimiter_Parameters_LazySync) GetEnabled added in v0.21.0

func (x *RateLimiter_Parameters_LazySync) GetEnabled() bool

func (*RateLimiter_Parameters_LazySync) GetNumSync added in v0.21.0

func (x *RateLimiter_Parameters_LazySync) GetNumSync() uint32

func (*RateLimiter_Parameters_LazySync) MarshalJSON added in v0.21.0

func (msg *RateLimiter_Parameters_LazySync) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*RateLimiter_Parameters_LazySync) ProtoMessage added in v0.21.0

func (*RateLimiter_Parameters_LazySync) ProtoMessage()

func (*RateLimiter_Parameters_LazySync) ProtoReflect added in v0.21.0

func (*RateLimiter_Parameters_LazySync) Reset added in v0.21.0

func (*RateLimiter_Parameters_LazySync) String added in v0.21.0

func (*RateLimiter_Parameters_LazySync) UnmarshalJSON added in v0.21.0

func (msg *RateLimiter_Parameters_LazySync) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Resources

type Resources struct {

	// Flux Meters are installed in the data-plane and form the observability leg of the feedback loop.
	//
	// Flux Meter created metrics can be consumed as input to the circuit via the PromQL component.
	FluxMeters map[string]*FluxMeter `` // @gotags: validate:"dive"
	/* 195-byte string literal not displayed */
	// Classifiers are installed in the data-plane and are used to label the requests based on payload content.
	//
	// The flow labels created by Classifiers can be matched by Flux Meters to create metrics for control purposes.
	Classifiers []*Classifier `protobuf:"bytes,2,rep,name=classifiers,proto3" json:"classifiers,omitempty" validate:"dive"` // @gotags: validate:"dive"
	// contains filtered or unexported fields
}

Resources that need to be setup for the policy to function

:::info

See also [Resources overview](/concepts/policy/resources.md).

:::

Resources are typically Flux Meters, Classifiers, etc. that can be used to create on-demand metrics or label the flows.

func (*Resources) DeepCopy added in v0.1.2

func (in *Resources) DeepCopy() *Resources

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

func (*Resources) DeepCopyInterface added in v0.1.2

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

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

func (*Resources) DeepCopyInto added in v0.1.2

func (in *Resources) DeepCopyInto(out *Resources)

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

func (*Resources) Descriptor deprecated

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

Deprecated: Use Resources.ProtoReflect.Descriptor instead.

func (*Resources) GetClassifiers

func (x *Resources) GetClassifiers() []*Classifier

func (*Resources) GetFluxMeters

func (x *Resources) GetFluxMeters() map[string]*FluxMeter

func (*Resources) MarshalJSON

func (msg *Resources) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Resources) ProtoMessage

func (*Resources) ProtoMessage()

func (*Resources) ProtoReflect

func (x *Resources) ProtoReflect() protoreflect.Message

func (*Resources) Reset

func (x *Resources) Reset()

func (*Resources) String

func (x *Resources) String() string

func (*Resources) UnmarshalJSON

func (msg *Resources) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Rule

type Rule struct {

	// Types that are assignable to Source:
	//	*Rule_Extractor
	//	*Rule_Rego_
	Source isRule_Source `protobuf_oneof:"source"`
	// Decides if the created flow label should be available as an attribute in OLAP telemetry and
	// propagated in [baggage](/concepts/integrations/flow-control/flow-label.md#baggage)
	//
	// :::note
	//
	// The flow label is always accessible in Aperture Policies regardless of this setting.
	//
	// :::
	//
	// :::caution
	//
	// When using [FluxNinja ARC plugin](arc/plugin.md), telemetry enabled
	// labels are sent to FluxNinja ARC for observability. Telemetry should be disabled for
	// sensitive labels.
	//
	// :::
	Telemetry bool `protobuf:"varint,3,opt,name=telemetry,proto3" json:"telemetry,omitempty" default:"true"` // @gotags: default:"true"
	// contains filtered or unexported fields
}

Rule describes a single Flow Classification Rule

Flow classification rule extracts a value from request metadata. More specifically, from `input`, which has the same spec as [Envoy's External Authorization Attribute Context][attribute-context]. See https://play.openpolicyagent.org/p/gU7vcLkc70 for an example input. There are two ways to define a flow classification rule: * Using a declarative extractor – suitable from simple cases, such as directly reading a value from header or a field from json body. * Rego expression.

Performance note: It's recommended to use declarative extractors where possible, as they may be slightly performant than Rego expressions.

Example of Declarative JSON extractor: ```yaml extractor:

json:
  from: request.http.body
  pointer: /user/name

```

Example of Rego module which also disables telemetry visibility of label: ```yaml rego:

query: data.user_from_cookie.user
source: |
  package user_from_cookie
  cookies := split(input.attributes.request.http.headers.cookie, "; ")
  user := user {
      cookie := cookies[_]
      startswith(cookie, "session=")
      session := substring(cookie, count("session="), -1)
      parts := split(session, ".")
      object := json.unmarshal(base64url.decode(parts[0]))
      user := object.user
  }

telemetry: false ``` [attribute-context]: https://www.envoyproxy.io/docs/envoy/latest/api-v3/service/auth/v3/attribute_context.proto

func (*Rule) DeepCopy added in v0.1.2

func (in *Rule) DeepCopy() *Rule

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

func (*Rule) DeepCopyInterface added in v0.1.2

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

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

func (*Rule) DeepCopyInto added in v0.1.2

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

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

func (*Rule) Descriptor deprecated

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

Deprecated: Use Rule.ProtoReflect.Descriptor instead.

func (*Rule) GetExtractor

func (x *Rule) GetExtractor() *Extractor

func (*Rule) GetRego

func (x *Rule) GetRego() *Rule_Rego

func (*Rule) GetSource

func (m *Rule) GetSource() isRule_Source

func (*Rule) GetTelemetry added in v0.2.1

func (x *Rule) GetTelemetry() bool

func (*Rule) MarshalJSON

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

MarshalJSON implements json.Marshaler

func (*Rule) ProtoMessage

func (*Rule) ProtoMessage()

func (*Rule) ProtoReflect

func (x *Rule) ProtoReflect() protoreflect.Message

func (*Rule) Reset

func (x *Rule) Reset()

func (*Rule) String

func (x *Rule) String() string

func (*Rule) UnmarshalJSON

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

UnmarshalJSON implements json.Unmarshaler

type Rule_Extractor

type Rule_Extractor struct {
	// High-level declarative extractor.
	Extractor *Extractor `protobuf:"bytes,1,opt,name=extractor,proto3,oneof"`
}

type Rule_Rego

type Rule_Rego struct {

	// Source code of the rego module.
	//
	// Note: Must include a "package" declaration.
	Source string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty" validate:"required"` // @gotags: validate:"required"
	// Query string to extract a value (eg. `data.<mymodulename>.<variablename>`).
	//
	// Note: The module name must match the package name from the "source".
	Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty" validate:"required"` // @gotags: validate:"required"
	// contains filtered or unexported fields
}

Raw rego rules are compiled 1:1 to rego queries

High-level extractor-based rules are compiled into a single rego query.

func (*Rule_Rego) DeepCopy added in v0.1.2

func (in *Rule_Rego) DeepCopy() *Rule_Rego

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

func (*Rule_Rego) DeepCopyInterface added in v0.1.2

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

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

func (*Rule_Rego) DeepCopyInto added in v0.1.2

func (in *Rule_Rego) DeepCopyInto(out *Rule_Rego)

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

func (*Rule_Rego) Descriptor deprecated

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

Deprecated: Use Rule_Rego.ProtoReflect.Descriptor instead.

func (*Rule_Rego) GetQuery

func (x *Rule_Rego) GetQuery() string

func (*Rule_Rego) GetSource

func (x *Rule_Rego) GetSource() string

func (*Rule_Rego) MarshalJSON

func (msg *Rule_Rego) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Rule_Rego) ProtoMessage

func (*Rule_Rego) ProtoMessage()

func (*Rule_Rego) ProtoReflect

func (x *Rule_Rego) ProtoReflect() protoreflect.Message

func (*Rule_Rego) Reset

func (x *Rule_Rego) Reset()

func (*Rule_Rego) String

func (x *Rule_Rego) String() string

func (*Rule_Rego) UnmarshalJSON

func (msg *Rule_Rego) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Rule_Rego_

type Rule_Rego_ struct {
	// Rego module to extract a value from.
	Rego *Rule_Rego `protobuf:"bytes,2,opt,name=rego,proto3,oneof"`
}

type Scheduler

type Scheduler struct {

	// Output ports for the Scheduler component.
	OutPorts *Scheduler_Outs `protobuf:"bytes,1,opt,name=out_ports,json=outPorts,proto3" json:"out_ports,omitempty"`
	// Scheduler parameters.
	Parameters *Scheduler_Parameters `protobuf:"bytes,2,opt,name=parameters,proto3" json:"parameters,omitempty" validate:"required"` // @gotags: validate:"required"
	// contains filtered or unexported fields
}

Weighted Fair Queuing-based workload scheduler

:::note

Each Agent instantiates an independent copy of the scheduler, but output signals for accepted and incoming concurrency are aggregated across all agents.

:::

See ConcurrencyLimiter(#v1-concurrency-limiter) for more context.

func (*Scheduler) DeepCopy added in v0.1.2

func (in *Scheduler) DeepCopy() *Scheduler

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

func (*Scheduler) DeepCopyInterface added in v0.1.2

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

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

func (*Scheduler) DeepCopyInto added in v0.1.2

func (in *Scheduler) DeepCopyInto(out *Scheduler)

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

func (*Scheduler) Descriptor deprecated

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

Deprecated: Use Scheduler.ProtoReflect.Descriptor instead.

func (*Scheduler) GetOutPorts

func (x *Scheduler) GetOutPorts() *Scheduler_Outs

func (*Scheduler) GetParameters added in v0.21.0

func (x *Scheduler) GetParameters() *Scheduler_Parameters

func (*Scheduler) MarshalJSON

func (msg *Scheduler) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Scheduler) ProtoMessage

func (*Scheduler) ProtoMessage()

func (*Scheduler) ProtoReflect

func (x *Scheduler) ProtoReflect() protoreflect.Message

func (*Scheduler) Reset

func (x *Scheduler) Reset()

func (*Scheduler) String

func (x *Scheduler) String() string

func (*Scheduler) UnmarshalJSON

func (msg *Scheduler) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Scheduler_Outs

type Scheduler_Outs struct {

	// Accepted concurrency is actual concurrency on a control point that this
	// scheduler is applied on.
	//
	// :::info
	//
	// Concurrency is a unitless number describing mean number of
	// [flows](/concepts/integrations/flow-control/flow-control.md#flow) being
	// concurrently processed by the system (system = control point).
	// Concurrency is calculated as _work_ done per unit of time (so
	// work-seconds per world-seconds). Work-seconds are computed based on
	// token-weights of of flows (which are either estimated via `auto_tokens`
	// or specified by `Workload.tokens`).
	//
	// :::
	//
	// Value of this signal is aggregated from all the relevant schedulers.
	AcceptedConcurrency *OutPort `protobuf:"bytes,1,opt,name=accepted_concurrency,json=acceptedConcurrency,proto3" json:"accepted_concurrency,omitempty"`
	// Incoming concurrency is concurrency that'd be needed to accept all the
	// flows entering the scheduler.
	//
	// This is computed in the same way as `accepted_concurrency`, but summing
	// up work-seconds from all the flows entering scheduler, including
	// rejected ones.
	IncomingConcurrency *OutPort `protobuf:"bytes,2,opt,name=incoming_concurrency,json=incomingConcurrency,proto3" json:"incoming_concurrency,omitempty"`
	// contains filtered or unexported fields
}

Output for the Scheduler component.

func (*Scheduler_Outs) DeepCopy added in v0.1.2

func (in *Scheduler_Outs) DeepCopy() *Scheduler_Outs

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

func (*Scheduler_Outs) DeepCopyInterface added in v0.1.2

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

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

func (*Scheduler_Outs) DeepCopyInto added in v0.1.2

func (in *Scheduler_Outs) DeepCopyInto(out *Scheduler_Outs)

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

func (*Scheduler_Outs) Descriptor deprecated

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

Deprecated: Use Scheduler_Outs.ProtoReflect.Descriptor instead.

func (*Scheduler_Outs) GetAcceptedConcurrency

func (x *Scheduler_Outs) GetAcceptedConcurrency() *OutPort

func (*Scheduler_Outs) GetIncomingConcurrency

func (x *Scheduler_Outs) GetIncomingConcurrency() *OutPort

func (*Scheduler_Outs) MarshalJSON

func (msg *Scheduler_Outs) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Scheduler_Outs) ProtoMessage

func (*Scheduler_Outs) ProtoMessage()

func (*Scheduler_Outs) ProtoReflect

func (x *Scheduler_Outs) ProtoReflect() protoreflect.Message

func (*Scheduler_Outs) Reset

func (x *Scheduler_Outs) Reset()

func (*Scheduler_Outs) String

func (x *Scheduler_Outs) String() string

func (*Scheduler_Outs) UnmarshalJSON

func (msg *Scheduler_Outs) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Scheduler_Parameters added in v0.21.0

type Scheduler_Parameters struct {

	// List of workloads to be used in scheduler.
	//
	// Categorizing [flows](/concepts/integrations/flow-control/flow-control.md#flow) into workloads
	// allows for load-shedding to be "smarter" than just "randomly deny 50% of
	// requests". There are two aspects of this "smartness":
	// * Scheduler can more precisely calculate concurrency if it understands
	//   that flows belonging to different classes have different weights (eg.
	//   inserts vs lookups).
	// * Setting different priorities to different workloads lets the scheduler
	//   avoid dropping important traffic during overload.
	//
	// Each workload in this list specifies also a matcher that's used to
	// determine which flow will be categorized into which workload.
	// In case of multiple matching workloads, the first matching one will be used.
	// If none of workloads match, `default_workload` will be used.
	//
	// :::info
	//
	// See also [workload definition in the concepts
	// section](/concepts/integrations/flow-control/components/concurrency-limiter.md#workload).
	//
	// :::
	Workloads []*Scheduler_Workload `protobuf:"bytes,1,rep,name=workloads,proto3" json:"workloads,omitempty" validate:"dive"` // @gotags: validate:"dive"
	// Parameters to be used if none of workloads specified in `workloads` match.
	DefaultWorkloadParameters *Scheduler_Workload_Parameters `` // @gotags: validate:"required"
	/* 158-byte string literal not displayed */
	// Automatically estimate the size of a request in each workload, based on
	// historical latency. Each workload's `tokens` will be set to average
	// latency of flows in that workload during last few seconds (exact duration
	// of this average can change).
	AutoTokens bool `protobuf:"varint,3,opt,name=auto_tokens,json=autoTokens,proto3" json:"auto_tokens,omitempty" default:"true"` // @gotags: default:"true"
	// Timeout as a factor of tokens for a flow in a workload
	//
	// If a flow is not able to get tokens within `timeout_factor` * `tokens` of duration,
	// it will be rejected.
	//
	// This value impacts the prioritization and fairness because the larger the timeout the higher the chance a request has to get scheduled.
	TimeoutFactor float64 `` // @gotags: validate:"gte=0.0" default:"0.5"
	/* 135-byte string literal not displayed */
	// Max Timeout is the value with which the flow timeout calculated by `timeout_factor` is capped
	//
	// :::caution
	//
	// This timeout needs to be strictly less than the timeout set on the
	// client for the whole GRPC call:
	// * in case of envoy, timeout set on `grpc_service` used in `ext_authz` filter,
	// * in case of libraries, timeout configured... TODO.
	//
	// We're using fail-open logic in integrations, so if the GRPC timeout
	// fires first, the flow will end up being unconditionally allowed while
	// it're still waiting on the scheduler.
	//
	// To avoid such cases, the end-to-end GRPC timeout should also contain
	// some headroom for constant overhead like serialization, etc. Default
	// value for GRPC timeouts is 500ms, giving 50ms of headeroom, so when
	// tweaking this timeout, make sure to adjust the GRPC timeout accordingly.
	//
	// :::
	MaxTimeout *durationpb.Duration `protobuf:"bytes,5,opt,name=max_timeout,json=maxTimeout,proto3" json:"max_timeout,omitempty" default:"0.49s"` // @gotags: default:"0.49s"
	// contains filtered or unexported fields
}

Scheduler parameters

func (*Scheduler_Parameters) DeepCopy added in v0.21.0

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

func (*Scheduler_Parameters) DeepCopyInterface added in v0.21.0

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

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

func (*Scheduler_Parameters) DeepCopyInto added in v0.21.0

func (in *Scheduler_Parameters) DeepCopyInto(out *Scheduler_Parameters)

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

func (*Scheduler_Parameters) Descriptor deprecated added in v0.21.0

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

Deprecated: Use Scheduler_Parameters.ProtoReflect.Descriptor instead.

func (*Scheduler_Parameters) GetAutoTokens added in v0.21.0

func (x *Scheduler_Parameters) GetAutoTokens() bool

func (*Scheduler_Parameters) GetDefaultWorkloadParameters added in v0.21.0

func (x *Scheduler_Parameters) GetDefaultWorkloadParameters() *Scheduler_Workload_Parameters

func (*Scheduler_Parameters) GetMaxTimeout added in v0.21.0

func (x *Scheduler_Parameters) GetMaxTimeout() *durationpb.Duration

func (*Scheduler_Parameters) GetTimeoutFactor added in v0.21.0

func (x *Scheduler_Parameters) GetTimeoutFactor() float64

func (*Scheduler_Parameters) GetWorkloads added in v0.21.0

func (x *Scheduler_Parameters) GetWorkloads() []*Scheduler_Workload

func (*Scheduler_Parameters) MarshalJSON added in v0.21.0

func (msg *Scheduler_Parameters) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Scheduler_Parameters) ProtoMessage added in v0.21.0

func (*Scheduler_Parameters) ProtoMessage()

func (*Scheduler_Parameters) ProtoReflect added in v0.21.0

func (x *Scheduler_Parameters) ProtoReflect() protoreflect.Message

func (*Scheduler_Parameters) Reset added in v0.21.0

func (x *Scheduler_Parameters) Reset()

func (*Scheduler_Parameters) String added in v0.21.0

func (x *Scheduler_Parameters) String() string

func (*Scheduler_Parameters) UnmarshalJSON added in v0.21.0

func (msg *Scheduler_Parameters) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Scheduler_Workload

type Scheduler_Workload struct {

	// Parameters associated with flows matching the label matcher.
	Parameters *Scheduler_Workload_Parameters `protobuf:"bytes,1,opt,name=parameters,proto3" json:"parameters,omitempty" validate:"required"` // @gotags: validate:"required"
	// Label Matcher to select a Workload based on
	// [flow labels](/concepts/integrations/flow-control/flow-label.md).
	LabelMatcher *LabelMatcher `protobuf:"bytes,2,opt,name=label_matcher,json=labelMatcher,proto3" json:"label_matcher,omitempty" validate:"required"` // @gotags: validate:"required"
	// contains filtered or unexported fields
}

Workload defines a class of requests that preferably have similar properties such as response latency or desired priority.

func (*Scheduler_Workload) DeepCopy added in v0.1.2

func (in *Scheduler_Workload) DeepCopy() *Scheduler_Workload

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

func (*Scheduler_Workload) DeepCopyInterface added in v0.1.2

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

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

func (*Scheduler_Workload) DeepCopyInto added in v0.1.2

func (in *Scheduler_Workload) DeepCopyInto(out *Scheduler_Workload)

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

func (*Scheduler_Workload) Descriptor deprecated

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

Deprecated: Use Scheduler_Workload.ProtoReflect.Descriptor instead.

func (*Scheduler_Workload) GetLabelMatcher added in v0.3.0

func (x *Scheduler_Workload) GetLabelMatcher() *LabelMatcher

func (*Scheduler_Workload) GetParameters added in v0.21.0

func (*Scheduler_Workload) MarshalJSON

func (msg *Scheduler_Workload) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Scheduler_Workload) ProtoMessage

func (*Scheduler_Workload) ProtoMessage()

func (*Scheduler_Workload) ProtoReflect

func (x *Scheduler_Workload) ProtoReflect() protoreflect.Message

func (*Scheduler_Workload) Reset

func (x *Scheduler_Workload) Reset()

func (*Scheduler_Workload) String

func (x *Scheduler_Workload) String() string

func (*Scheduler_Workload) UnmarshalJSON

func (msg *Scheduler_Workload) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Scheduler_Workload_Parameters added in v0.21.0

type Scheduler_Workload_Parameters struct {

	// Describes priority level of the requests within the workload.
	// Priority level ranges from 0 to 255.
	// Higher numbers means higher priority level.
	Priority uint32 `protobuf:"varint,1,opt,name=priority,proto3" json:"priority,omitempty" validate:"gte=0,lte=255"` // @gotags: validate:"gte=0,lte=255"
	// Tokens determines the cost of admitting a single request the workload, which is typically defined as milliseconds of response latency.
	// This override is applicable only if `auto_tokens` is set to false.
	Tokens uint64 `protobuf:"varint,2,opt,name=tokens,proto3" json:"tokens,omitempty" default:"1"` // @gotags: default:"1"
	// Fairness key is a label key that can be used to provide fairness within a workload.
	// Any [flow label](/concepts/integrations/flow-control/flow-label.md) can be used here. Eg. if
	// you have a classifier that sets `user` flow label, you might want to set
	// `fairness_key = "user"`.
	FairnessKey string `protobuf:"bytes,3,opt,name=fairness_key,json=fairnessKey,proto3" json:"fairness_key,omitempty"`
	// contains filtered or unexported fields
}

Parameters defines parameters such as priority, tokens and fairness key that are applicable to flows within a workload.

func (*Scheduler_Workload_Parameters) DeepCopy added in v0.21.0

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

func (*Scheduler_Workload_Parameters) DeepCopyInterface added in v0.21.0

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

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

func (*Scheduler_Workload_Parameters) DeepCopyInto added in v0.21.0

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

func (*Scheduler_Workload_Parameters) Descriptor deprecated added in v0.21.0

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

Deprecated: Use Scheduler_Workload_Parameters.ProtoReflect.Descriptor instead.

func (*Scheduler_Workload_Parameters) GetFairnessKey added in v0.21.0

func (x *Scheduler_Workload_Parameters) GetFairnessKey() string

func (*Scheduler_Workload_Parameters) GetPriority added in v0.21.0

func (x *Scheduler_Workload_Parameters) GetPriority() uint32

func (*Scheduler_Workload_Parameters) GetTokens added in v0.21.0

func (x *Scheduler_Workload_Parameters) GetTokens() uint64

func (*Scheduler_Workload_Parameters) MarshalJSON added in v0.21.0

func (msg *Scheduler_Workload_Parameters) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Scheduler_Workload_Parameters) ProtoMessage added in v0.21.0

func (*Scheduler_Workload_Parameters) ProtoMessage()

func (*Scheduler_Workload_Parameters) ProtoReflect added in v0.21.0

func (*Scheduler_Workload_Parameters) Reset added in v0.21.0

func (x *Scheduler_Workload_Parameters) Reset()

func (*Scheduler_Workload_Parameters) String added in v0.21.0

func (*Scheduler_Workload_Parameters) UnmarshalJSON added in v0.21.0

func (msg *Scheduler_Workload_Parameters) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type ServiceSelector added in v0.8.0

type ServiceSelector struct {

	// Which [agent-group](/concepts/integrations/flow-control/service.md#agent-group) this
	// selector applies to.
	//
	// :::info
	//
	// Agent Groups are used to scope policies to a subset of agents connected to the same controller. This is especially useful in the Kubernetes sidecar installation because service discovery is switched off in that mode. The agents within an agent group form a peer to peer cluster and constantly share state.
	//
	// :::
	AgentGroup string `protobuf:"bytes,1,opt,name=agent_group,json=agentGroup,proto3" json:"agent_group,omitempty" default:"default"` // @gotags: default:"default"
	// The Fully Qualified Domain Name of the
	// [service](/concepts/integrations/flow-control/service.md) to select.
	//
	// In Kubernetes, this is the FQDN of the Service object.
	//
	// "all" means all services within an agent group (catch-all).
	//
	// :::info
	//
	// In the Kubernetes sidecar installation mode, service discovery is switched off by default. In order to scope policies to services, the `service` should be set to `all` and instead, `agent_group` name should be used.
	//
	// :::
	//
	// :::info
	//
	// An entity (e.g. Kubernetes pod) may belong to multiple services.
	//
	// :::
	Service string `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty" validate:"required"` // @gotags: validate:"required"];
	// contains filtered or unexported fields
}

Describes which service a [flow control or observability component](/concepts/integrations/flow-control/flow-control.md#components) should apply to

:::info

See also [FlowSelector overview](/concepts/integrations/flow-control/flow-selector.md).

:::

func (*ServiceSelector) DeepCopy added in v0.8.0

func (in *ServiceSelector) DeepCopy() *ServiceSelector

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

func (*ServiceSelector) DeepCopyInterface added in v0.8.0

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

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

func (*ServiceSelector) DeepCopyInto added in v0.8.0

func (in *ServiceSelector) DeepCopyInto(out *ServiceSelector)

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

func (*ServiceSelector) Descriptor deprecated added in v0.8.0

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

Deprecated: Use ServiceSelector.ProtoReflect.Descriptor instead.

func (*ServiceSelector) GetAgentGroup added in v0.8.0

func (x *ServiceSelector) GetAgentGroup() string

func (*ServiceSelector) GetService added in v0.8.0

func (x *ServiceSelector) GetService() string

func (*ServiceSelector) MarshalJSON added in v0.8.0

func (msg *ServiceSelector) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*ServiceSelector) ProtoMessage added in v0.8.0

func (*ServiceSelector) ProtoMessage()

func (*ServiceSelector) ProtoReflect added in v0.8.0

func (x *ServiceSelector) ProtoReflect() protoreflect.Message

func (*ServiceSelector) Reset added in v0.8.0

func (x *ServiceSelector) Reset()

func (*ServiceSelector) String added in v0.8.0

func (x *ServiceSelector) String() string

func (*ServiceSelector) UnmarshalJSON added in v0.8.0

func (msg *ServiceSelector) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Sqrt

type Sqrt struct {

	// Input ports for the Sqrt component.
	InPorts *Sqrt_Ins `protobuf:"bytes,1,opt,name=in_ports,json=inPorts,proto3" json:"in_ports,omitempty"`
	// Output ports for the Sqrt component.
	OutPorts *Sqrt_Outs `protobuf:"bytes,2,opt,name=out_ports,json=outPorts,proto3" json:"out_ports,omitempty"`
	// Scaling factor to be multiplied with the square root of the input signal.
	Scale float64 `protobuf:"fixed64,3,opt,name=scale,proto3" json:"scale,omitempty"` // @gotags default:"1.0"
	// contains filtered or unexported fields
}

Takes an input signal and emits the square root of it multiplied by scale as an output

$$ \text{output} = \text{scale} \sqrt{\text{input}} $$

func (*Sqrt) DeepCopy added in v0.1.2

func (in *Sqrt) DeepCopy() *Sqrt

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

func (*Sqrt) DeepCopyInterface added in v0.1.2

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

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

func (*Sqrt) DeepCopyInto added in v0.1.2

func (in *Sqrt) DeepCopyInto(out *Sqrt)

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

func (*Sqrt) Descriptor deprecated

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

Deprecated: Use Sqrt.ProtoReflect.Descriptor instead.

func (*Sqrt) GetInPorts

func (x *Sqrt) GetInPorts() *Sqrt_Ins

func (*Sqrt) GetOutPorts

func (x *Sqrt) GetOutPorts() *Sqrt_Outs

func (*Sqrt) GetScale

func (x *Sqrt) GetScale() float64

func (*Sqrt) MarshalJSON

func (msg *Sqrt) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Sqrt) ProtoMessage

func (*Sqrt) ProtoMessage()

func (*Sqrt) ProtoReflect

func (x *Sqrt) ProtoReflect() protoreflect.Message

func (*Sqrt) Reset

func (x *Sqrt) Reset()

func (*Sqrt) String

func (x *Sqrt) String() string

func (*Sqrt) UnmarshalJSON

func (msg *Sqrt) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Sqrt_Ins

type Sqrt_Ins struct {

	// Input signal.
	Input *InPort `protobuf:"bytes,1,opt,name=input,proto3" json:"input,omitempty"`
	// contains filtered or unexported fields
}

Inputs for the Sqrt component.

func (*Sqrt_Ins) DeepCopy added in v0.1.2

func (in *Sqrt_Ins) DeepCopy() *Sqrt_Ins

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

func (*Sqrt_Ins) DeepCopyInterface added in v0.1.2

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

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

func (*Sqrt_Ins) DeepCopyInto added in v0.1.2

func (in *Sqrt_Ins) DeepCopyInto(out *Sqrt_Ins)

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

func (*Sqrt_Ins) Descriptor deprecated

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

Deprecated: Use Sqrt_Ins.ProtoReflect.Descriptor instead.

func (*Sqrt_Ins) GetInput

func (x *Sqrt_Ins) GetInput() *InPort

func (*Sqrt_Ins) MarshalJSON

func (msg *Sqrt_Ins) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Sqrt_Ins) ProtoMessage

func (*Sqrt_Ins) ProtoMessage()

func (*Sqrt_Ins) ProtoReflect

func (x *Sqrt_Ins) ProtoReflect() protoreflect.Message

func (*Sqrt_Ins) Reset

func (x *Sqrt_Ins) Reset()

func (*Sqrt_Ins) String

func (x *Sqrt_Ins) String() string

func (*Sqrt_Ins) UnmarshalJSON

func (msg *Sqrt_Ins) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Sqrt_Outs

type Sqrt_Outs struct {

	// Output signal.
	Output *OutPort `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

Outputs for the Sqrt component.

func (*Sqrt_Outs) DeepCopy added in v0.1.2

func (in *Sqrt_Outs) DeepCopy() *Sqrt_Outs

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

func (*Sqrt_Outs) DeepCopyInterface added in v0.1.2

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

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

func (*Sqrt_Outs) DeepCopyInto added in v0.1.2

func (in *Sqrt_Outs) DeepCopyInto(out *Sqrt_Outs)

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

func (*Sqrt_Outs) Descriptor deprecated

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

Deprecated: Use Sqrt_Outs.ProtoReflect.Descriptor instead.

func (*Sqrt_Outs) GetOutput

func (x *Sqrt_Outs) GetOutput() *OutPort

func (*Sqrt_Outs) MarshalJSON

func (msg *Sqrt_Outs) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Sqrt_Outs) ProtoMessage

func (*Sqrt_Outs) ProtoMessage()

func (*Sqrt_Outs) ProtoReflect

func (x *Sqrt_Outs) ProtoReflect() protoreflect.Message

func (*Sqrt_Outs) Reset

func (x *Sqrt_Outs) Reset()

func (*Sqrt_Outs) String

func (x *Sqrt_Outs) String() string

func (*Sqrt_Outs) UnmarshalJSON

func (msg *Sqrt_Outs) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Switcher added in v0.3.0

type Switcher struct {

	// Input ports for the Switcher component.
	InPorts *Switcher_Ins `protobuf:"bytes,1,opt,name=in_ports,json=inPorts,proto3" json:"in_ports,omitempty"`
	// Output ports for the Switcher component.
	OutPorts *Switcher_Outs `protobuf:"bytes,2,opt,name=out_ports,json=outPorts,proto3" json:"out_ports,omitempty"`
	// contains filtered or unexported fields
}

Type of combinator that switches between `on_true` and `on_false` signals based on switch input

`on_true` will be returned if switch input is valid and not equal to 0.0 ,

otherwise `on_false` will be returned.

func (*Switcher) DeepCopy added in v0.3.0

func (in *Switcher) DeepCopy() *Switcher

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

func (*Switcher) DeepCopyInterface added in v0.3.0

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

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

func (*Switcher) DeepCopyInto added in v0.3.0

func (in *Switcher) DeepCopyInto(out *Switcher)

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

func (*Switcher) Descriptor deprecated added in v0.3.0

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

Deprecated: Use Switcher.ProtoReflect.Descriptor instead.

func (*Switcher) GetInPorts added in v0.3.0

func (x *Switcher) GetInPorts() *Switcher_Ins

func (*Switcher) GetOutPorts added in v0.3.0

func (x *Switcher) GetOutPorts() *Switcher_Outs

func (*Switcher) MarshalJSON added in v0.3.0

func (msg *Switcher) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Switcher) ProtoMessage added in v0.3.0

func (*Switcher) ProtoMessage()

func (*Switcher) ProtoReflect added in v0.3.0

func (x *Switcher) ProtoReflect() protoreflect.Message

func (*Switcher) Reset added in v0.3.0

func (x *Switcher) Reset()

func (*Switcher) String added in v0.3.0

func (x *Switcher) String() string

func (*Switcher) UnmarshalJSON added in v0.3.0

func (msg *Switcher) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Switcher_Ins added in v0.3.0

type Switcher_Ins struct {

	// Output signal when switch is valid and not 0.0.
	OnTrue *InPort `protobuf:"bytes,1,opt,name=on_true,json=onTrue,proto3" json:"on_true,omitempty"`
	// Output signal when switch is invalid or 0.0.
	OnFalse *InPort `protobuf:"bytes,2,opt,name=on_false,json=onFalse,proto3" json:"on_false,omitempty"`
	// Decides whether to return on_true or on_false.
	Switch *InPort `protobuf:"bytes,3,opt,name=switch,proto3" json:"switch,omitempty"`
	// contains filtered or unexported fields
}

Inputs for the Switcher component.

func (*Switcher_Ins) DeepCopy added in v0.3.0

func (in *Switcher_Ins) DeepCopy() *Switcher_Ins

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

func (*Switcher_Ins) DeepCopyInterface added in v0.3.0

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

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

func (*Switcher_Ins) DeepCopyInto added in v0.3.0

func (in *Switcher_Ins) DeepCopyInto(out *Switcher_Ins)

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

func (*Switcher_Ins) Descriptor deprecated added in v0.3.0

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

Deprecated: Use Switcher_Ins.ProtoReflect.Descriptor instead.

func (*Switcher_Ins) GetOnFalse added in v0.3.0

func (x *Switcher_Ins) GetOnFalse() *InPort

func (*Switcher_Ins) GetOnTrue added in v0.3.0

func (x *Switcher_Ins) GetOnTrue() *InPort

func (*Switcher_Ins) GetSwitch added in v0.3.0

func (x *Switcher_Ins) GetSwitch() *InPort

func (*Switcher_Ins) MarshalJSON added in v0.3.0

func (msg *Switcher_Ins) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Switcher_Ins) ProtoMessage added in v0.3.0

func (*Switcher_Ins) ProtoMessage()

func (*Switcher_Ins) ProtoReflect added in v0.3.0

func (x *Switcher_Ins) ProtoReflect() protoreflect.Message

func (*Switcher_Ins) Reset added in v0.3.0

func (x *Switcher_Ins) Reset()

func (*Switcher_Ins) String added in v0.3.0

func (x *Switcher_Ins) String() string

func (*Switcher_Ins) UnmarshalJSON added in v0.3.0

func (msg *Switcher_Ins) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Switcher_Outs added in v0.3.0

type Switcher_Outs struct {

	// Selected signal (on_true or on_false).
	Output *OutPort `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

Outputs for the Switcher component.

func (*Switcher_Outs) DeepCopy added in v0.3.0

func (in *Switcher_Outs) DeepCopy() *Switcher_Outs

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

func (*Switcher_Outs) DeepCopyInterface added in v0.3.0

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

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

func (*Switcher_Outs) DeepCopyInto added in v0.3.0

func (in *Switcher_Outs) DeepCopyInto(out *Switcher_Outs)

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

func (*Switcher_Outs) Descriptor deprecated added in v0.3.0

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

Deprecated: Use Switcher_Outs.ProtoReflect.Descriptor instead.

func (*Switcher_Outs) GetOutput added in v0.3.0

func (x *Switcher_Outs) GetOutput() *OutPort

func (*Switcher_Outs) MarshalJSON added in v0.3.0

func (msg *Switcher_Outs) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Switcher_Outs) ProtoMessage added in v0.3.0

func (*Switcher_Outs) ProtoMessage()

func (*Switcher_Outs) ProtoReflect added in v0.3.0

func (x *Switcher_Outs) ProtoReflect() protoreflect.Message

func (*Switcher_Outs) Reset added in v0.3.0

func (x *Switcher_Outs) Reset()

func (*Switcher_Outs) String added in v0.3.0

func (x *Switcher_Outs) String() string

func (*Switcher_Outs) UnmarshalJSON added in v0.3.0

func (msg *Switcher_Outs) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type UnimplementedPolicyServiceServer

type UnimplementedPolicyServiceServer struct {
}

UnimplementedPolicyServiceServer should be embedded to have forward compatible implementations.

func (UnimplementedPolicyServiceServer) GetPolicies added in v0.5.0

type UnsafePolicyServiceServer

type UnsafePolicyServiceServer interface {
	// contains filtered or unexported methods
}

UnsafePolicyServiceServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to PolicyServiceServer will result in compilation errors.

type Variable added in v0.21.0

type Variable struct {

	// Output ports for the Variable component.
	OutPorts *Variable_Outs `protobuf:"bytes,1,opt,name=out_ports,json=outPorts,proto3" json:"out_ports,omitempty"`
	// Configuration key for DynamicConfig.
	DynamicConfigKey string `protobuf:"bytes,2,opt,name=dynamic_config_key,json=dynamicConfigKey,proto3" json:"dynamic_config_key,omitempty"`
	// Default configuration.
	DefaultConfig *Variable_DynamicConfig `protobuf:"bytes,3,opt,name=default_config,json=defaultConfig,proto3" json:"default_config,omitempty"`
	// contains filtered or unexported fields
}

Component that emits a variable value as an output signal, can be defined in dynamic configuration.

func (*Variable) DeepCopy added in v0.21.0

func (in *Variable) DeepCopy() *Variable

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

func (*Variable) DeepCopyInterface added in v0.21.0

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

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

func (*Variable) DeepCopyInto added in v0.21.0

func (in *Variable) DeepCopyInto(out *Variable)

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

func (*Variable) Descriptor deprecated added in v0.21.0

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

Deprecated: Use Variable.ProtoReflect.Descriptor instead.

func (*Variable) GetDefaultConfig added in v0.21.0

func (x *Variable) GetDefaultConfig() *Variable_DynamicConfig

func (*Variable) GetDynamicConfigKey added in v0.21.0

func (x *Variable) GetDynamicConfigKey() string

func (*Variable) GetOutPorts added in v0.21.0

func (x *Variable) GetOutPorts() *Variable_Outs

func (*Variable) MarshalJSON added in v0.21.0

func (msg *Variable) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Variable) ProtoMessage added in v0.21.0

func (*Variable) ProtoMessage()

func (*Variable) ProtoReflect added in v0.21.0

func (x *Variable) ProtoReflect() protoreflect.Message

func (*Variable) Reset added in v0.21.0

func (x *Variable) Reset()

func (*Variable) String added in v0.21.0

func (x *Variable) String() string

func (*Variable) UnmarshalJSON added in v0.21.0

func (msg *Variable) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Variable_DynamicConfig added in v0.21.0

type Variable_DynamicConfig struct {
	ConstantSignal *ConstantSignal `protobuf:"bytes,1,opt,name=constant_signal,json=constantSignal,proto3" json:"constant_signal,omitempty"`
	// contains filtered or unexported fields
}

func (*Variable_DynamicConfig) DeepCopy added in v0.21.0

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

func (*Variable_DynamicConfig) DeepCopyInterface added in v0.21.0

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

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

func (*Variable_DynamicConfig) DeepCopyInto added in v0.21.0

func (in *Variable_DynamicConfig) DeepCopyInto(out *Variable_DynamicConfig)

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

func (*Variable_DynamicConfig) Descriptor deprecated added in v0.21.0

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

Deprecated: Use Variable_DynamicConfig.ProtoReflect.Descriptor instead.

func (*Variable_DynamicConfig) GetConstantSignal added in v0.21.0

func (x *Variable_DynamicConfig) GetConstantSignal() *ConstantSignal

func (*Variable_DynamicConfig) MarshalJSON added in v0.21.0

func (msg *Variable_DynamicConfig) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Variable_DynamicConfig) ProtoMessage added in v0.21.0

func (*Variable_DynamicConfig) ProtoMessage()

func (*Variable_DynamicConfig) ProtoReflect added in v0.21.0

func (x *Variable_DynamicConfig) ProtoReflect() protoreflect.Message

func (*Variable_DynamicConfig) Reset added in v0.21.0

func (x *Variable_DynamicConfig) Reset()

func (*Variable_DynamicConfig) String added in v0.21.0

func (x *Variable_DynamicConfig) String() string

func (*Variable_DynamicConfig) UnmarshalJSON added in v0.21.0

func (msg *Variable_DynamicConfig) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

type Variable_Outs added in v0.21.0

type Variable_Outs struct {

	// The value is emitted to the output port.
	Output *OutPort `protobuf:"bytes,1,opt,name=output,proto3" json:"output,omitempty"`
	// contains filtered or unexported fields
}

Outputs for the Variable component.

func (*Variable_Outs) DeepCopy added in v0.21.0

func (in *Variable_Outs) DeepCopy() *Variable_Outs

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

func (*Variable_Outs) DeepCopyInterface added in v0.21.0

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

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

func (*Variable_Outs) DeepCopyInto added in v0.21.0

func (in *Variable_Outs) DeepCopyInto(out *Variable_Outs)

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

func (*Variable_Outs) Descriptor deprecated added in v0.21.0

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

Deprecated: Use Variable_Outs.ProtoReflect.Descriptor instead.

func (*Variable_Outs) GetOutput added in v0.21.0

func (x *Variable_Outs) GetOutput() *OutPort

func (*Variable_Outs) MarshalJSON added in v0.21.0

func (msg *Variable_Outs) MarshalJSON() ([]byte, error)

MarshalJSON implements json.Marshaler

func (*Variable_Outs) ProtoMessage added in v0.21.0

func (*Variable_Outs) ProtoMessage()

func (*Variable_Outs) ProtoReflect added in v0.21.0

func (x *Variable_Outs) ProtoReflect() protoreflect.Message

func (*Variable_Outs) Reset added in v0.21.0

func (x *Variable_Outs) Reset()

func (*Variable_Outs) String added in v0.21.0

func (x *Variable_Outs) String() string

func (*Variable_Outs) UnmarshalJSON added in v0.21.0

func (msg *Variable_Outs) UnmarshalJSON(b []byte) error

UnmarshalJSON implements json.Unmarshaler

Jump to

Keyboard shortcuts

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