v1

package
v1.1.0-beta2 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2021 License: Apache-2.0 Imports: 31 Imported by: 1

Documentation

Overview

Package v1 contains API Schema definitions for the networking.mesh.gloo.solo.io v1 API group +k8s:deepcopy-gen=package,register +groupName=networking.mesh.gloo.solo.io

NOTE: Boilerplate only. Ignore this file. Used to register the Go types with the Kubernetes internal scheme

Definitions for the Kubernetes types

Definitions for the Kubernetes types

Index

Constants

This section is empty.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "networking.mesh.gloo.solo.io", Version: "v1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}
)
View Source
var (
	TrafficPolicySpec_Policy_MTLS_Istio_TLSmode_name = map[int32]string{
		0: "DISABLE",
		1: "SIMPLE",
		2: "ISTIO_MUTUAL",
	}
	TrafficPolicySpec_Policy_MTLS_Istio_TLSmode_value = map[string]int32{
		"DISABLE":      0,
		"SIMPLE":       1,
		"ISTIO_MUTUAL": 2,
	}
)

Enum value maps for TrafficPolicySpec_Policy_MTLS_Istio_TLSmode.

View Source
var (
	VirtualMeshSpec_GlobalAccessPolicy_name = map[int32]string{
		0: "MESH_DEFAULT",
		1: "ENABLED",
		2: "DISABLED",
	}
	VirtualMeshSpec_GlobalAccessPolicy_value = map[string]int32{
		"MESH_DEFAULT": 0,
		"ENABLED":      1,
		"DISABLED":     2,
	}
)

Enum value maps for VirtualMeshSpec_GlobalAccessPolicy.

View Source
var AccessPolicyGVK = schema.GroupVersionKind{
	Group:   "networking.mesh.gloo.solo.io",
	Version: "v1",
	Kind:    "AccessPolicy",
}

GroupVersionKind for AccessPolicy

View Source
var File_github_com_solo_io_gloo_mesh_api_networking_v1_access_policy_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_mesh_api_networking_v1_status_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_mesh_api_networking_v1_traffic_policy_proto protoreflect.FileDescriptor
View Source
var File_github_com_solo_io_gloo_mesh_api_networking_v1_virtual_mesh_proto protoreflect.FileDescriptor
View Source
var TrafficPolicyGVK = schema.GroupVersionKind{
	Group:   "networking.mesh.gloo.solo.io",
	Version: "v1",
	Kind:    "TrafficPolicy",
}

GroupVersionKind for TrafficPolicy

View Source
var VirtualMeshGVK = schema.GroupVersionKind{
	Group:   "networking.mesh.gloo.solo.io",
	Version: "v1",
	Kind:    "VirtualMesh",
}

GroupVersionKind for VirtualMesh

Functions

func AddToScheme

func AddToScheme(s *runtime.Scheme) error

func NewAccessPolicyClient

func NewAccessPolicyClient(client client.Client) *accessPolicyClient

func NewTrafficPolicyClient

func NewTrafficPolicyClient(client client.Client) *trafficPolicyClient

func NewVirtualMeshClient

func NewVirtualMeshClient(client client.Client) *virtualMeshClient

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AccessPolicy

type AccessPolicy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   AccessPolicySpec   `json:"spec,omitempty"`
	Status AccessPolicyStatus `json:"status,omitempty"`
}

AccessPolicy is the Schema for the accessPolicy API

func (*AccessPolicy) DeepCopy

func (in *AccessPolicy) DeepCopy() *AccessPolicy

func (*AccessPolicy) DeepCopyInto

func (in *AccessPolicy) DeepCopyInto(out *AccessPolicy)

func (*AccessPolicy) DeepCopyObject

func (in *AccessPolicy) DeepCopyObject() runtime.Object

func (AccessPolicy) GVK

GVK returns the GroupVersionKind associated with the resource type.

type AccessPolicyClient

type AccessPolicyClient interface {
	AccessPolicyReader
	AccessPolicyWriter
	AccessPolicyStatusWriter
}

Client knows how to perform CRUD operations on AccessPolicys.

type AccessPolicyList

type AccessPolicyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []AccessPolicy `json:"items"`
}

AccessPolicyList contains a list of AccessPolicy

func (*AccessPolicyList) DeepCopy

func (in *AccessPolicyList) DeepCopy() *AccessPolicyList

func (*AccessPolicyList) DeepCopyInto

func (in *AccessPolicyList) DeepCopyInto(out *AccessPolicyList)

func (*AccessPolicyList) DeepCopyObject

func (in *AccessPolicyList) DeepCopyObject() runtime.Object

type AccessPolicyReader

type AccessPolicyReader interface {
	// Get retrieves a AccessPolicy for the given object key
	GetAccessPolicy(ctx context.Context, key client.ObjectKey) (*AccessPolicy, error)

	// List retrieves list of AccessPolicys for a given namespace and list options.
	ListAccessPolicy(ctx context.Context, opts ...client.ListOption) (*AccessPolicyList, error)
}

Reader knows how to read and list AccessPolicys.

type AccessPolicySlice

type AccessPolicySlice []*AccessPolicy

AccessPolicySlice represents a slice of *AccessPolicy

type AccessPolicySpec

type AccessPolicySpec struct {

	// Specify the identities of Workloads (i.e. traffic sources) for which to apply this AccessPolicy.
	// Leave empty to apply the AccessPolicy to all Workloads colocated in the destination's Mesh.
	SourceSelector []*v1.IdentitySelector `protobuf:"bytes,1,rep,name=source_selector,json=sourceSelector,proto3" json:"source_selector,omitempty"`
	// Specify the Destinations for which to apply this AccessPolicy.
	// Leave empty to apply the AccessPolicy to all Destinations.
	DestinationSelector []*v1.DestinationSelector `protobuf:"bytes,2,rep,name=destination_selector,json=destinationSelector,proto3" json:"destination_selector,omitempty"`
	//
	//Optional. A list of HTTP paths or gRPC methods to allow.
	//gRPC methods must be presented as fully-qualified name in the form of
	//"/packageName.serviceName/methodName" and are case sensitive.
	//Exact match, prefix match, and suffix match are supported for paths.
	//For example, the path "/books/review" matches
	//"/books/review" (exact match), "*books/" (suffix match), or "/books*" (prefix match).
	//
	//If not specified, allow any path.
	AllowedPaths []string `protobuf:"bytes,3,rep,name=allowed_paths,json=allowedPaths,proto3" json:"allowed_paths,omitempty"`
	//
	//Optional. A list of HTTP methods to allow (e.g., "GET", "POST").
	//It is ignored in gRPC case because the value is always "POST".
	//If not specified, allows any method.
	AllowedMethods []string `protobuf:"bytes,4,rep,name=allowed_methods,json=allowedMethods,proto3" json:"allowed_methods,omitempty"`
	//
	//Optional. A list of ports which to allow.
	//If not set any port is allowed.
	AllowedPorts []uint32 `protobuf:"varint,5,rep,packed,name=allowed_ports,json=allowedPorts,proto3" json:"allowed_ports,omitempty"`
	// contains filtered or unexported fields
}

Grants communication permission between selected identities (i.e. traffic sources) and Destinations (i.e. destinations). Explicitly granted access permission is required if a [VirtualMesh's GlobalAccessPolicy]({{% versioned_link_path fromRoot="/reference/api/virtual_mesh/#networking.mesh.gloo.solo.io.VirtualMeshSpec.GlobalAccessPolicy" %}}) is set to `ENABLED`.

func (*AccessPolicySpec) DeepCopyInto

func (in *AccessPolicySpec) DeepCopyInto(out *AccessPolicySpec)

DeepCopyInto for the AccessPolicy.Spec

func (*AccessPolicySpec) Descriptor deprecated

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

Deprecated: Use AccessPolicySpec.ProtoReflect.Descriptor instead.

func (*AccessPolicySpec) Equal

func (m *AccessPolicySpec) Equal(that interface{}) bool

Equal function

func (*AccessPolicySpec) GetAllowedMethods

func (x *AccessPolicySpec) GetAllowedMethods() []string

func (*AccessPolicySpec) GetAllowedPaths

func (x *AccessPolicySpec) GetAllowedPaths() []string

func (*AccessPolicySpec) GetAllowedPorts

func (x *AccessPolicySpec) GetAllowedPorts() []uint32

func (*AccessPolicySpec) GetDestinationSelector

func (x *AccessPolicySpec) GetDestinationSelector() []*v1.DestinationSelector

func (*AccessPolicySpec) GetSourceSelector

func (x *AccessPolicySpec) GetSourceSelector() []*v1.IdentitySelector

func (*AccessPolicySpec) MarshalJSON

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

MarshalJSON is a custom marshaler for AccessPolicySpec

func (*AccessPolicySpec) ProtoMessage

func (*AccessPolicySpec) ProtoMessage()

func (*AccessPolicySpec) ProtoReflect

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

func (*AccessPolicySpec) Reset

func (x *AccessPolicySpec) Reset()

func (*AccessPolicySpec) String

func (x *AccessPolicySpec) String() string

func (*AccessPolicySpec) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for AccessPolicySpec

type AccessPolicyStatus

type AccessPolicyStatus struct {

	// The most recent generation observed in the the AccessPolicy metadata.
	// If the `observedGeneration` does not match `metadata.generation`, Gloo Mesh has not processed the most
	// recent version of this resource.
	ObservedGeneration int64 `protobuf:"varint,1,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"`
	// The state of the overall resource.
	// It will only show accepted if it has been successfully applied to selected Destinations.
	State v1.ApprovalState `protobuf:"varint,2,opt,name=state,proto3,enum=common.mesh.gloo.solo.io.ApprovalState" json:"state,omitempty"`
	// The status of the AccessPolicy for each Destination to which it has been applied.
	// An AccessPolicy may be accepted for some Destinations and rejected for others.
	Destinations map[string]*ApprovalStatus `` /* 165-byte string literal not displayed */
	// The list of Workloads to which this policy has been applied.
	Workloads []string `protobuf:"bytes,4,rep,name=workloads,proto3" json:"workloads,omitempty"`
	// Any errors found while processing this generation of the resource.
	Errors []string `protobuf:"bytes,5,rep,name=errors,proto3" json:"errors,omitempty"`
	// contains filtered or unexported fields
}

func (*AccessPolicyStatus) DeepCopyInto

func (in *AccessPolicyStatus) DeepCopyInto(out *AccessPolicyStatus)

DeepCopyInto for the AccessPolicy.Status

func (*AccessPolicyStatus) Descriptor deprecated

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

Deprecated: Use AccessPolicyStatus.ProtoReflect.Descriptor instead.

func (*AccessPolicyStatus) Equal

func (m *AccessPolicyStatus) Equal(that interface{}) bool

Equal function

func (*AccessPolicyStatus) GetDestinations

func (x *AccessPolicyStatus) GetDestinations() map[string]*ApprovalStatus

func (*AccessPolicyStatus) GetErrors

func (x *AccessPolicyStatus) GetErrors() []string

func (*AccessPolicyStatus) GetObservedGeneration

func (x *AccessPolicyStatus) GetObservedGeneration() int64

func (*AccessPolicyStatus) GetState

func (x *AccessPolicyStatus) GetState() v1.ApprovalState

func (*AccessPolicyStatus) GetWorkloads

func (x *AccessPolicyStatus) GetWorkloads() []string

func (*AccessPolicyStatus) MarshalJSON

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

MarshalJSON is a custom marshaler for AccessPolicyStatus

func (*AccessPolicyStatus) ProtoMessage

func (*AccessPolicyStatus) ProtoMessage()

func (*AccessPolicyStatus) ProtoReflect

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

func (*AccessPolicyStatus) Reset

func (x *AccessPolicyStatus) Reset()

func (*AccessPolicyStatus) String

func (x *AccessPolicyStatus) String() string

func (*AccessPolicyStatus) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for AccessPolicyStatus

type AccessPolicyStatusWriter

type AccessPolicyStatusWriter interface {
	// Update updates the fields corresponding to the status subresource for the
	// given AccessPolicy object.
	UpdateAccessPolicyStatus(ctx context.Context, obj *AccessPolicy, opts ...client.UpdateOption) error

	// Patch patches the given AccessPolicy object's subresource.
	PatchAccessPolicyStatus(ctx context.Context, obj *AccessPolicy, patch client.Patch, opts ...client.PatchOption) error
}

StatusWriter knows how to update status subresource of a AccessPolicy object.

type AccessPolicyTransitionFunction

type AccessPolicyTransitionFunction func(existing, desired *AccessPolicy) error

AccessPolicyTransitionFunction instructs the AccessPolicyWriter how to transition between an existing AccessPolicy object and a desired on an Upsert

type AccessPolicyWriter

type AccessPolicyWriter interface {
	// Create saves the AccessPolicy object.
	CreateAccessPolicy(ctx context.Context, obj *AccessPolicy, opts ...client.CreateOption) error

	// Delete deletes the AccessPolicy object.
	DeleteAccessPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error

	// Update updates the given AccessPolicy object.
	UpdateAccessPolicy(ctx context.Context, obj *AccessPolicy, opts ...client.UpdateOption) error

	// Patch patches the given AccessPolicy object.
	PatchAccessPolicy(ctx context.Context, obj *AccessPolicy, patch client.Patch, opts ...client.PatchOption) error

	// DeleteAllOf deletes all AccessPolicy objects matching the given options.
	DeleteAllOfAccessPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error

	// Create or Update the AccessPolicy object.
	UpsertAccessPolicy(ctx context.Context, obj *AccessPolicy, transitionFuncs ...AccessPolicyTransitionFunction) error
}

Writer knows how to create, delete, and update AccessPolicys.

type ApprovalStatus

type ApprovalStatus struct {

	// Represents the order in which the policy
	// was accepted and applied to a discovery resource. The first accepted policy
	// will have an acceptance_order of 0, the second 1, etc.
	// When conflicts are detected in the system,
	// the Policy with the lowest acceptance_order
	// will be chosen and all other conflicting policies will be rejected.
	AcceptanceOrder uint32 `protobuf:"varint,1,opt,name=acceptance_order,json=acceptanceOrder,proto3" json:"acceptance_order,omitempty"`
	// The result of attempting to apply the policy to the discovery resource.
	State v1.ApprovalState `protobuf:"varint,2,opt,name=state,proto3,enum=common.mesh.gloo.solo.io.ApprovalState" json:"state,omitempty"`
	// Any errors observed which prevented the resource from being Accepted.
	Errors []string `protobuf:"bytes,3,rep,name=errors,proto3" json:"errors,omitempty"`
	// contains filtered or unexported fields
}

The approval status of a policy that has been applied to a discovery resource.

func (*ApprovalStatus) Descriptor deprecated

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

Deprecated: Use ApprovalStatus.ProtoReflect.Descriptor instead.

func (*ApprovalStatus) Equal

func (m *ApprovalStatus) Equal(that interface{}) bool

Equal function

func (*ApprovalStatus) GetAcceptanceOrder

func (x *ApprovalStatus) GetAcceptanceOrder() uint32

func (*ApprovalStatus) GetErrors

func (x *ApprovalStatus) GetErrors() []string

func (*ApprovalStatus) GetState

func (x *ApprovalStatus) GetState() v1.ApprovalState

func (*ApprovalStatus) ProtoMessage

func (*ApprovalStatus) ProtoMessage()

func (*ApprovalStatus) ProtoReflect

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

func (*ApprovalStatus) Reset

func (x *ApprovalStatus) Reset()

func (*ApprovalStatus) String

func (x *ApprovalStatus) String() string

type Clientset

type Clientset interface {
	// clienset for the networking.mesh.gloo.solo.io/v1/v1 APIs
	TrafficPolicies() TrafficPolicyClient
	// clienset for the networking.mesh.gloo.solo.io/v1/v1 APIs
	AccessPolicies() AccessPolicyClient
	// clienset for the networking.mesh.gloo.solo.io/v1/v1 APIs
	VirtualMeshes() VirtualMeshClient
}

clienset for the networking.mesh.gloo.solo.io/v1 APIs

func NewClientset

func NewClientset(client client.Client) Clientset

func NewClientsetFromConfig

func NewClientsetFromConfig(cfg *rest.Config) (Clientset, error)

type MulticlusterAccessPolicyClient

type MulticlusterAccessPolicyClient interface {
	// Cluster returns a AccessPolicyClient for the given cluster
	Cluster(cluster string) (AccessPolicyClient, error)
}

Provides AccessPolicyClients for multiple clusters.

func NewMulticlusterAccessPolicyClient

func NewMulticlusterAccessPolicyClient(client multicluster.Client) MulticlusterAccessPolicyClient

type MulticlusterClientset

type MulticlusterClientset interface {
	// Cluster returns a Clientset for the given cluster
	Cluster(cluster string) (Clientset, error)
}

MulticlusterClientset for the networking.mesh.gloo.solo.io/v1 APIs

func NewMulticlusterClientset

func NewMulticlusterClientset(client multicluster.Client) MulticlusterClientset

type MulticlusterTrafficPolicyClient

type MulticlusterTrafficPolicyClient interface {
	// Cluster returns a TrafficPolicyClient for the given cluster
	Cluster(cluster string) (TrafficPolicyClient, error)
}

Provides TrafficPolicyClients for multiple clusters.

func NewMulticlusterTrafficPolicyClient

func NewMulticlusterTrafficPolicyClient(client multicluster.Client) MulticlusterTrafficPolicyClient

type MulticlusterVirtualMeshClient

type MulticlusterVirtualMeshClient interface {
	// Cluster returns a VirtualMeshClient for the given cluster
	Cluster(cluster string) (VirtualMeshClient, error)
}

Provides VirtualMeshClients for multiple clusters.

func NewMulticlusterVirtualMeshClient

func NewMulticlusterVirtualMeshClient(client multicluster.Client) MulticlusterVirtualMeshClient

type TrafficPolicy

type TrafficPolicy struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TrafficPolicySpec   `json:"spec,omitempty"`
	Status TrafficPolicyStatus `json:"status,omitempty"`
}

TrafficPolicy is the Schema for the trafficPolicy API

func (*TrafficPolicy) DeepCopy

func (in *TrafficPolicy) DeepCopy() *TrafficPolicy

func (*TrafficPolicy) DeepCopyInto

func (in *TrafficPolicy) DeepCopyInto(out *TrafficPolicy)

func (*TrafficPolicy) DeepCopyObject

func (in *TrafficPolicy) DeepCopyObject() runtime.Object

func (TrafficPolicy) GVK

GVK returns the GroupVersionKind associated with the resource type.

type TrafficPolicyClient

type TrafficPolicyClient interface {
	TrafficPolicyReader
	TrafficPolicyWriter
	TrafficPolicyStatusWriter
}

Client knows how to perform CRUD operations on TrafficPolicys.

type TrafficPolicyList

type TrafficPolicyList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []TrafficPolicy `json:"items"`
}

TrafficPolicyList contains a list of TrafficPolicy

func (*TrafficPolicyList) DeepCopy

func (in *TrafficPolicyList) DeepCopy() *TrafficPolicyList

func (*TrafficPolicyList) DeepCopyInto

func (in *TrafficPolicyList) DeepCopyInto(out *TrafficPolicyList)

func (*TrafficPolicyList) DeepCopyObject

func (in *TrafficPolicyList) DeepCopyObject() runtime.Object

type TrafficPolicyReader

type TrafficPolicyReader interface {
	// Get retrieves a TrafficPolicy for the given object key
	GetTrafficPolicy(ctx context.Context, key client.ObjectKey) (*TrafficPolicy, error)

	// List retrieves list of TrafficPolicys for a given namespace and list options.
	ListTrafficPolicy(ctx context.Context, opts ...client.ListOption) (*TrafficPolicyList, error)
}

Reader knows how to read and list TrafficPolicys.

type TrafficPolicySlice

type TrafficPolicySlice []*TrafficPolicy

TrafficPolicySlice represents a slice of *TrafficPolicy

type TrafficPolicySpec

type TrafficPolicySpec struct {

	// Specify the Workloads (traffic sources) this TrafficPolicy applies to.
	// Omit to apply to all Workloads.
	SourceSelector []*v1.WorkloadSelector `protobuf:"bytes,1,rep,name=source_selector,json=sourceSelector,proto3" json:"source_selector,omitempty"`
	// Specify the Destinations (destinations) this TrafficPolicy applies to.
	// Omit to apply to all Destinations.
	DestinationSelector []*v1.DestinationSelector `protobuf:"bytes,2,rep,name=destination_selector,json=destinationSelector,proto3" json:"destination_selector,omitempty"`
	// Specify criteria that HTTP requests must satisfy for the TrafficPolicy to apply.
	// Conditions defined within a single matcher are conjunctive, i.e. all conditions must be satisfied for a match to occur.
	// Conditions defined between different matchers are disjunctive, i.e. at least one matcher must be satisfied for the TrafficPolicy to apply.
	// Omit to apply to any HTTP request.
	HttpRequestMatchers []*TrafficPolicySpec_HttpMatcher `protobuf:"bytes,3,rep,name=http_request_matchers,json=httpRequestMatchers,proto3" json:"http_request_matchers,omitempty"`
	// Specify L7 routing and post-routing configuration.
	Policy *TrafficPolicySpec_Policy `protobuf:"bytes,4,opt,name=policy,proto3" json:"policy,omitempty"`
	// contains filtered or unexported fields
}

Applies L7 routing and post-routing configuration on selected network edges.

func (*TrafficPolicySpec) DeepCopyInto

func (in *TrafficPolicySpec) DeepCopyInto(out *TrafficPolicySpec)

DeepCopyInto for the TrafficPolicy.Spec

func (*TrafficPolicySpec) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec) Equal

func (m *TrafficPolicySpec) Equal(that interface{}) bool

Equal function

func (*TrafficPolicySpec) GetDestinationSelector

func (x *TrafficPolicySpec) GetDestinationSelector() []*v1.DestinationSelector

func (*TrafficPolicySpec) GetHttpRequestMatchers

func (x *TrafficPolicySpec) GetHttpRequestMatchers() []*TrafficPolicySpec_HttpMatcher

func (*TrafficPolicySpec) GetPolicy

func (*TrafficPolicySpec) GetSourceSelector

func (x *TrafficPolicySpec) GetSourceSelector() []*v1.WorkloadSelector

func (*TrafficPolicySpec) MarshalJSON

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

MarshalJSON is a custom marshaler for TrafficPolicySpec

func (*TrafficPolicySpec) ProtoMessage

func (*TrafficPolicySpec) ProtoMessage()

func (*TrafficPolicySpec) ProtoReflect

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

func (*TrafficPolicySpec) Reset

func (x *TrafficPolicySpec) Reset()

func (*TrafficPolicySpec) String

func (x *TrafficPolicySpec) String() string

func (*TrafficPolicySpec) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for TrafficPolicySpec

type TrafficPolicySpec_HttpMatcher

type TrafficPolicySpec_HttpMatcher struct {

	// Specify match criteria against the targeted path.
	//
	// Types that are assignable to PathSpecifier:
	//	*TrafficPolicySpec_HttpMatcher_Prefix
	//	*TrafficPolicySpec_HttpMatcher_Exact
	//	*TrafficPolicySpec_HttpMatcher_Regex
	PathSpecifier isTrafficPolicySpec_HttpMatcher_PathSpecifier `protobuf_oneof:"path_specifier"`
	// Specify a set of headers which requests must match in entirety (all headers must match).
	Headers []*v1.HeaderMatcher `protobuf:"bytes,4,rep,name=headers,proto3" json:"headers,omitempty"`
	// Specify a set of URL query parameters which requests must match in entirety (all query params must match).
	QueryParameters []*TrafficPolicySpec_HttpMatcher_QueryParameterMatcher `protobuf:"bytes,5,rep,name=query_parameters,json=queryParameters,proto3" json:"query_parameters,omitempty"`
	// Specify an HTTP method to match against.
	Method string `protobuf:"bytes,6,opt,name=method,proto3" json:"method,omitempty"`
	// contains filtered or unexported fields
}

Specify HTTP request level match criteria. All specified conditions must be satisfied for a match to occur.

func (*TrafficPolicySpec_HttpMatcher) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_HttpMatcher.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_HttpMatcher) Equal

func (m *TrafficPolicySpec_HttpMatcher) Equal(that interface{}) bool

Equal function

func (*TrafficPolicySpec_HttpMatcher) GetExact

func (x *TrafficPolicySpec_HttpMatcher) GetExact() string

func (*TrafficPolicySpec_HttpMatcher) GetHeaders

func (x *TrafficPolicySpec_HttpMatcher) GetHeaders() []*v1.HeaderMatcher

func (*TrafficPolicySpec_HttpMatcher) GetMethod

func (x *TrafficPolicySpec_HttpMatcher) GetMethod() string

func (*TrafficPolicySpec_HttpMatcher) GetPathSpecifier

func (m *TrafficPolicySpec_HttpMatcher) GetPathSpecifier() isTrafficPolicySpec_HttpMatcher_PathSpecifier

func (*TrafficPolicySpec_HttpMatcher) GetPrefix

func (x *TrafficPolicySpec_HttpMatcher) GetPrefix() string

func (*TrafficPolicySpec_HttpMatcher) GetQueryParameters

func (*TrafficPolicySpec_HttpMatcher) GetRegex

func (x *TrafficPolicySpec_HttpMatcher) GetRegex() string

func (*TrafficPolicySpec_HttpMatcher) ProtoMessage

func (*TrafficPolicySpec_HttpMatcher) ProtoMessage()

func (*TrafficPolicySpec_HttpMatcher) ProtoReflect

func (*TrafficPolicySpec_HttpMatcher) Reset

func (x *TrafficPolicySpec_HttpMatcher) Reset()

func (*TrafficPolicySpec_HttpMatcher) String

type TrafficPolicySpec_HttpMatcher_Exact

type TrafficPolicySpec_HttpMatcher_Exact struct {
	// If specified, the targeted path must exactly match the value.
	Exact string `protobuf:"bytes,2,opt,name=exact,proto3,oneof"`
}

type TrafficPolicySpec_HttpMatcher_Prefix

type TrafficPolicySpec_HttpMatcher_Prefix struct {
	// If specified, the targeted path must begin with the prefix.
	Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3,oneof"`
}

type TrafficPolicySpec_HttpMatcher_QueryParameterMatcher

type TrafficPolicySpec_HttpMatcher_QueryParameterMatcher struct {

	// Specify the name of a key that must be present in the requested path's query string.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Specify the value of the query parameter keyed on `name`.
	Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	// If true, treat `value` as a regular expression.
	Regex bool `protobuf:"varint,3,opt,name=regex,proto3" json:"regex,omitempty"`
	// contains filtered or unexported fields
}

Specify match criteria against the target URL's query parameters.

func (*TrafficPolicySpec_HttpMatcher_QueryParameterMatcher) Descriptor deprecated

Deprecated: Use TrafficPolicySpec_HttpMatcher_QueryParameterMatcher.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_HttpMatcher_QueryParameterMatcher) Equal

func (m *TrafficPolicySpec_HttpMatcher_QueryParameterMatcher) Equal(that interface{}) bool

Equal function

func (*TrafficPolicySpec_HttpMatcher_QueryParameterMatcher) GetName

func (*TrafficPolicySpec_HttpMatcher_QueryParameterMatcher) GetRegex

func (*TrafficPolicySpec_HttpMatcher_QueryParameterMatcher) GetValue

func (*TrafficPolicySpec_HttpMatcher_QueryParameterMatcher) ProtoMessage

func (*TrafficPolicySpec_HttpMatcher_QueryParameterMatcher) ProtoReflect

func (*TrafficPolicySpec_HttpMatcher_QueryParameterMatcher) Reset

func (*TrafficPolicySpec_HttpMatcher_QueryParameterMatcher) String

type TrafficPolicySpec_HttpMatcher_Regex

type TrafficPolicySpec_HttpMatcher_Regex struct {
	// If specified, the targeted path must match the regex.
	Regex string `protobuf:"bytes,3,opt,name=regex,proto3,oneof"`
}

type TrafficPolicySpec_Policy

type TrafficPolicySpec_Policy struct {

	// Shift traffic to a different destination.
	TrafficShift *TrafficPolicySpec_Policy_MultiDestination `protobuf:"bytes,4,opt,name=traffic_shift,json=trafficShift,proto3" json:"traffic_shift,omitempty"`
	// Inject faulty responses.
	FaultInjection *TrafficPolicySpec_Policy_FaultInjection `protobuf:"bytes,5,opt,name=fault_injection,json=faultInjection,proto3" json:"fault_injection,omitempty"`
	// Set a timeout on requests.
	RequestTimeout *duration.Duration `protobuf:"bytes,6,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"`
	// Set a retry policy on requests.
	Retries *TrafficPolicySpec_Policy_RetryPolicy `protobuf:"bytes,7,opt,name=retries,proto3" json:"retries,omitempty"`
	// Set a Cross-Origin Resource Sharing policy (CORS) for requests. Refer to [this link](https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS)
	// for further details about cross origin resource sharing.
	CorsPolicy *TrafficPolicySpec_Policy_CorsPolicy `protobuf:"bytes,8,opt,name=cors_policy,json=corsPolicy,proto3" json:"cors_policy,omitempty"`
	// Mirror traffic to a another destination (traffic will be sent to its original destination in addition to the mirrored destinations).
	Mirror *TrafficPolicySpec_Policy_Mirror `protobuf:"bytes,9,opt,name=mirror,proto3" json:"mirror,omitempty"`
	// Manipulate request and response headers.
	HeaderManipulation *TrafficPolicySpec_Policy_HeaderManipulation `protobuf:"bytes,10,opt,name=header_manipulation,json=headerManipulation,proto3" json:"header_manipulation,omitempty"`
	// Configure [outlier detection](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/outlier) on the selected destinations.
	// Specifying this field requires an empty `source_selector` because it must apply to all traffic.
	OutlierDetection *TrafficPolicySpec_Policy_OutlierDetection `protobuf:"bytes,11,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"`
	// Configure mTLS settings. If specified will override global default defined in Settings.
	Mtls *TrafficPolicySpec_Policy_MTLS `protobuf:"bytes,12,opt,name=mtls,proto3" json:"mtls,omitempty"`
	// contains filtered or unexported fields
}

Specify L7 routing and post-routing configuration.

func (*TrafficPolicySpec_Policy) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_Policy.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_Policy) Equal

func (m *TrafficPolicySpec_Policy) Equal(that interface{}) bool

Equal function

func (*TrafficPolicySpec_Policy) GetCorsPolicy

func (*TrafficPolicySpec_Policy) GetFaultInjection

func (*TrafficPolicySpec_Policy) GetHeaderManipulation

func (*TrafficPolicySpec_Policy) GetMirror

func (*TrafficPolicySpec_Policy) GetMtls

func (*TrafficPolicySpec_Policy) GetOutlierDetection

func (*TrafficPolicySpec_Policy) GetRequestTimeout

func (x *TrafficPolicySpec_Policy) GetRequestTimeout() *duration.Duration

func (*TrafficPolicySpec_Policy) GetRetries

func (*TrafficPolicySpec_Policy) GetTrafficShift

func (*TrafficPolicySpec_Policy) ProtoMessage

func (*TrafficPolicySpec_Policy) ProtoMessage()

func (*TrafficPolicySpec_Policy) ProtoReflect

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

func (*TrafficPolicySpec_Policy) Reset

func (x *TrafficPolicySpec_Policy) Reset()

func (*TrafficPolicySpec_Policy) String

func (x *TrafficPolicySpec_Policy) String() string

type TrafficPolicySpec_Policy_CorsPolicy

type TrafficPolicySpec_Policy_CorsPolicy struct {

	// String patterns that match allowed origins. An origin is allowed if any of the string matchers match.
	AllowOrigins []*TrafficPolicySpec_Policy_CorsPolicy_StringMatch `protobuf:"bytes,7,rep,name=allow_origins,json=allowOrigins,proto3" json:"allow_origins,omitempty"`
	// List of HTTP methods allowed to access the resource. The content will
	// be serialized to the `Access-Control-Allow-Methods` header.
	AllowMethods []string `protobuf:"bytes,2,rep,name=allow_methods,json=allowMethods,proto3" json:"allow_methods,omitempty"`
	// List of HTTP headers that can be used when requesting the
	// resource. Serialized to the `Access-Control-Allow-Headers` header.
	AllowHeaders []string `protobuf:"bytes,3,rep,name=allow_headers,json=allowHeaders,proto3" json:"allow_headers,omitempty"`
	// A list of HTTP headers that browsers are allowed to
	// access. Serialized to the `Access-Control-Expose-Headers` header.
	ExposeHeaders []string `protobuf:"bytes,4,rep,name=expose_headers,json=exposeHeaders,proto3" json:"expose_headers,omitempty"`
	// Specify how long the results of a preflight request can be
	// cached. Serialized to the `Access-Control-Max-Age` header.
	MaxAge *duration.Duration `protobuf:"bytes,5,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty"`
	// Indicates whether the caller is allowed to send the actual request
	// (not the preflight) using credentials. Translates to the
	// `Access-Control-Allow-Credentials` header.
	AllowCredentials *wrappers.BoolValue `protobuf:"bytes,6,opt,name=allow_credentials,json=allowCredentials,proto3" json:"allow_credentials,omitempty"`
	// contains filtered or unexported fields
}

Specify Cross-Origin Resource Sharing policy (CORS) for requests. Refer to [this link](https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS) for further details about cross origin resource sharing.

func (*TrafficPolicySpec_Policy_CorsPolicy) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_Policy_CorsPolicy.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_Policy_CorsPolicy) Equal

func (m *TrafficPolicySpec_Policy_CorsPolicy) Equal(that interface{}) bool

Equal function

func (*TrafficPolicySpec_Policy_CorsPolicy) GetAllowCredentials

func (x *TrafficPolicySpec_Policy_CorsPolicy) GetAllowCredentials() *wrappers.BoolValue

func (*TrafficPolicySpec_Policy_CorsPolicy) GetAllowHeaders

func (x *TrafficPolicySpec_Policy_CorsPolicy) GetAllowHeaders() []string

func (*TrafficPolicySpec_Policy_CorsPolicy) GetAllowMethods

func (x *TrafficPolicySpec_Policy_CorsPolicy) GetAllowMethods() []string

func (*TrafficPolicySpec_Policy_CorsPolicy) GetAllowOrigins

func (*TrafficPolicySpec_Policy_CorsPolicy) GetExposeHeaders

func (x *TrafficPolicySpec_Policy_CorsPolicy) GetExposeHeaders() []string

func (*TrafficPolicySpec_Policy_CorsPolicy) GetMaxAge

func (*TrafficPolicySpec_Policy_CorsPolicy) ProtoMessage

func (*TrafficPolicySpec_Policy_CorsPolicy) ProtoMessage()

func (*TrafficPolicySpec_Policy_CorsPolicy) ProtoReflect

func (*TrafficPolicySpec_Policy_CorsPolicy) Reset

func (*TrafficPolicySpec_Policy_CorsPolicy) String

type TrafficPolicySpec_Policy_CorsPolicy_StringMatch

type TrafficPolicySpec_Policy_CorsPolicy_StringMatch struct {

	// The string match type.
	//
	// Types that are assignable to MatchType:
	//	*TrafficPolicySpec_Policy_CorsPolicy_StringMatch_Exact
	//	*TrafficPolicySpec_Policy_CorsPolicy_StringMatch_Prefix
	//	*TrafficPolicySpec_Policy_CorsPolicy_StringMatch_Regex
	MatchType isTrafficPolicySpec_Policy_CorsPolicy_StringMatch_MatchType `protobuf_oneof:"match_type"`
	// contains filtered or unexported fields
}

Describes how to match a given string in HTTP headers. Match is case-sensitive.

func (*TrafficPolicySpec_Policy_CorsPolicy_StringMatch) Descriptor deprecated

Deprecated: Use TrafficPolicySpec_Policy_CorsPolicy_StringMatch.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_Policy_CorsPolicy_StringMatch) Equal

func (m *TrafficPolicySpec_Policy_CorsPolicy_StringMatch) Equal(that interface{}) bool

Equal function

func (*TrafficPolicySpec_Policy_CorsPolicy_StringMatch) GetExact

func (*TrafficPolicySpec_Policy_CorsPolicy_StringMatch) GetMatchType

func (m *TrafficPolicySpec_Policy_CorsPolicy_StringMatch) GetMatchType() isTrafficPolicySpec_Policy_CorsPolicy_StringMatch_MatchType

func (*TrafficPolicySpec_Policy_CorsPolicy_StringMatch) GetPrefix

func (*TrafficPolicySpec_Policy_CorsPolicy_StringMatch) GetRegex

func (*TrafficPolicySpec_Policy_CorsPolicy_StringMatch) ProtoMessage

func (*TrafficPolicySpec_Policy_CorsPolicy_StringMatch) ProtoReflect

func (*TrafficPolicySpec_Policy_CorsPolicy_StringMatch) Reset

func (*TrafficPolicySpec_Policy_CorsPolicy_StringMatch) String

type TrafficPolicySpec_Policy_CorsPolicy_StringMatch_Exact

type TrafficPolicySpec_Policy_CorsPolicy_StringMatch_Exact struct {
	// Exact string match.
	Exact string `protobuf:"bytes,1,opt,name=exact,proto3,oneof"`
}

type TrafficPolicySpec_Policy_CorsPolicy_StringMatch_Prefix

type TrafficPolicySpec_Policy_CorsPolicy_StringMatch_Prefix struct {
	// Prefix-based match.
	Prefix string `protobuf:"bytes,2,opt,name=prefix,proto3,oneof"`
}

type TrafficPolicySpec_Policy_CorsPolicy_StringMatch_Regex

type TrafficPolicySpec_Policy_CorsPolicy_StringMatch_Regex struct {
	// ECMAscript style regex-based match.
	Regex string `protobuf:"bytes,3,opt,name=regex,proto3,oneof"`
}

type TrafficPolicySpec_Policy_FaultInjection

type TrafficPolicySpec_Policy_FaultInjection struct {

	// Specify the type of fault to inject.
	//
	// Types that are assignable to FaultInjectionType:
	//	*TrafficPolicySpec_Policy_FaultInjection_FixedDelay
	//	*TrafficPolicySpec_Policy_FaultInjection_Abort_
	FaultInjectionType isTrafficPolicySpec_Policy_FaultInjection_FaultInjectionType `protobuf_oneof:"fault_injection_type"`
	// Percentage of requests to be faulted. Values range between 0 and 100. If omitted all requests will be faulted.
	Percentage float64 `protobuf:"fixed64,4,opt,name=percentage,proto3" json:"percentage,omitempty"`
	// contains filtered or unexported fields
}

Specify one or more faults to inject for the selected network edge.

func (*TrafficPolicySpec_Policy_FaultInjection) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_Policy_FaultInjection.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_Policy_FaultInjection) Equal

func (m *TrafficPolicySpec_Policy_FaultInjection) Equal(that interface{}) bool

Equal function

func (*TrafficPolicySpec_Policy_FaultInjection) GetAbort

func (*TrafficPolicySpec_Policy_FaultInjection) GetFaultInjectionType

func (m *TrafficPolicySpec_Policy_FaultInjection) GetFaultInjectionType() isTrafficPolicySpec_Policy_FaultInjection_FaultInjectionType

func (*TrafficPolicySpec_Policy_FaultInjection) GetFixedDelay

func (*TrafficPolicySpec_Policy_FaultInjection) GetPercentage

func (*TrafficPolicySpec_Policy_FaultInjection) ProtoMessage

func (*TrafficPolicySpec_Policy_FaultInjection) ProtoReflect

func (*TrafficPolicySpec_Policy_FaultInjection) Reset

func (*TrafficPolicySpec_Policy_FaultInjection) String

type TrafficPolicySpec_Policy_FaultInjection_Abort

type TrafficPolicySpec_Policy_FaultInjection_Abort struct {

	// Required. HTTP status code to use to abort the request.
	HttpStatus int32 `protobuf:"varint,1,opt,name=http_status,json=httpStatus,proto3" json:"http_status,omitempty"`
	// contains filtered or unexported fields
}

Abort the request and return the specified error code back to traffic source.

func (*TrafficPolicySpec_Policy_FaultInjection_Abort) Descriptor deprecated

Deprecated: Use TrafficPolicySpec_Policy_FaultInjection_Abort.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_Policy_FaultInjection_Abort) Equal

func (m *TrafficPolicySpec_Policy_FaultInjection_Abort) Equal(that interface{}) bool

Equal function

func (*TrafficPolicySpec_Policy_FaultInjection_Abort) GetHttpStatus

func (*TrafficPolicySpec_Policy_FaultInjection_Abort) ProtoMessage

func (*TrafficPolicySpec_Policy_FaultInjection_Abort) ProtoReflect

func (*TrafficPolicySpec_Policy_FaultInjection_Abort) Reset

func (*TrafficPolicySpec_Policy_FaultInjection_Abort) String

type TrafficPolicySpec_Policy_FaultInjection_Abort_

type TrafficPolicySpec_Policy_FaultInjection_Abort_ struct {
	// Abort the request and return the specified error code back to traffic source.
	Abort *TrafficPolicySpec_Policy_FaultInjection_Abort `protobuf:"bytes,2,opt,name=abort,proto3,oneof"`
}

type TrafficPolicySpec_Policy_FaultInjection_FixedDelay

type TrafficPolicySpec_Policy_FaultInjection_FixedDelay struct {
	// Add a delay of a fixed duration before sending the request. Format: `1h`/`1m`/`1s`/`1ms`. MUST be >=1ms.
	FixedDelay *duration.Duration `protobuf:"bytes,1,opt,name=fixed_delay,json=fixedDelay,proto3,oneof"`
}

type TrafficPolicySpec_Policy_HeaderManipulation

type TrafficPolicySpec_Policy_HeaderManipulation struct {

	// HTTP headers to remove before returning a response to the caller.
	RemoveResponseHeaders []string `` /* 126-byte string literal not displayed */
	// Additional HTTP headers to add before returning a response to the caller.
	AppendResponseHeaders map[string]string `` /* 214-byte string literal not displayed */
	// HTTP headers to remove before forwarding a request to the destination service.
	RemoveRequestHeaders []string `protobuf:"bytes,3,rep,name=remove_request_headers,json=removeRequestHeaders,proto3" json:"remove_request_headers,omitempty"`
	// Additional HTTP headers to add before forwarding a request to the destination service.
	AppendRequestHeaders map[string]string `` /* 211-byte string literal not displayed */
	// contains filtered or unexported fields
}

Specify modifications to request and response headers.

func (*TrafficPolicySpec_Policy_HeaderManipulation) Descriptor deprecated

Deprecated: Use TrafficPolicySpec_Policy_HeaderManipulation.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_Policy_HeaderManipulation) Equal

func (m *TrafficPolicySpec_Policy_HeaderManipulation) Equal(that interface{}) bool

Equal function

func (*TrafficPolicySpec_Policy_HeaderManipulation) GetAppendRequestHeaders

func (x *TrafficPolicySpec_Policy_HeaderManipulation) GetAppendRequestHeaders() map[string]string

func (*TrafficPolicySpec_Policy_HeaderManipulation) GetAppendResponseHeaders

func (x *TrafficPolicySpec_Policy_HeaderManipulation) GetAppendResponseHeaders() map[string]string

func (*TrafficPolicySpec_Policy_HeaderManipulation) GetRemoveRequestHeaders

func (x *TrafficPolicySpec_Policy_HeaderManipulation) GetRemoveRequestHeaders() []string

func (*TrafficPolicySpec_Policy_HeaderManipulation) GetRemoveResponseHeaders

func (x *TrafficPolicySpec_Policy_HeaderManipulation) GetRemoveResponseHeaders() []string

func (*TrafficPolicySpec_Policy_HeaderManipulation) ProtoMessage

func (*TrafficPolicySpec_Policy_HeaderManipulation) ProtoReflect

func (*TrafficPolicySpec_Policy_HeaderManipulation) Reset

func (*TrafficPolicySpec_Policy_HeaderManipulation) String

type TrafficPolicySpec_Policy_MTLS

type TrafficPolicySpec_Policy_MTLS struct {

	// Istio TLS settings.
	Istio *TrafficPolicySpec_Policy_MTLS_Istio `protobuf:"bytes,1,opt,name=istio,proto3" json:"istio,omitempty"`
	// contains filtered or unexported fields
}

Configure mTLS settings on destinations. If specified this overrides the global default defined in Settings.

func (*TrafficPolicySpec_Policy_MTLS) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_Policy_MTLS.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_Policy_MTLS) Equal

func (m *TrafficPolicySpec_Policy_MTLS) Equal(that interface{}) bool

Equal function

func (*TrafficPolicySpec_Policy_MTLS) GetIstio

func (*TrafficPolicySpec_Policy_MTLS) ProtoMessage

func (*TrafficPolicySpec_Policy_MTLS) ProtoMessage()

func (*TrafficPolicySpec_Policy_MTLS) ProtoReflect

func (*TrafficPolicySpec_Policy_MTLS) Reset

func (x *TrafficPolicySpec_Policy_MTLS) Reset()

func (*TrafficPolicySpec_Policy_MTLS) String

type TrafficPolicySpec_Policy_MTLS_Istio

type TrafficPolicySpec_Policy_MTLS_Istio struct {

	// TLS connection mode
	TlsMode TrafficPolicySpec_Policy_MTLS_Istio_TLSmode `` /* 161-byte string literal not displayed */
	// contains filtered or unexported fields
}

Istio TLS settings.

func (*TrafficPolicySpec_Policy_MTLS_Istio) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_Policy_MTLS_Istio.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_Policy_MTLS_Istio) Equal

func (m *TrafficPolicySpec_Policy_MTLS_Istio) Equal(that interface{}) bool

Equal function

func (*TrafficPolicySpec_Policy_MTLS_Istio) GetTlsMode

func (*TrafficPolicySpec_Policy_MTLS_Istio) ProtoMessage

func (*TrafficPolicySpec_Policy_MTLS_Istio) ProtoMessage()

func (*TrafficPolicySpec_Policy_MTLS_Istio) ProtoReflect

func (*TrafficPolicySpec_Policy_MTLS_Istio) Reset

func (*TrafficPolicySpec_Policy_MTLS_Istio) String

type TrafficPolicySpec_Policy_MTLS_Istio_TLSmode

type TrafficPolicySpec_Policy_MTLS_Istio_TLSmode int32

TLS connection mode. Enums correspond to those [defined here](https://github.com/istio/api/blob/00636152b9d9254b614828a65723840282a177d3/networking/v1beta1/destination_rule.proto#L886)

const (
	// Do not originate a TLS connection to the upstream endpoint.
	TrafficPolicySpec_Policy_MTLS_Istio_DISABLE TrafficPolicySpec_Policy_MTLS_Istio_TLSmode = 0
	// Originate a TLS connection to the upstream endpoint.
	TrafficPolicySpec_Policy_MTLS_Istio_SIMPLE TrafficPolicySpec_Policy_MTLS_Istio_TLSmode = 1
	// Secure connections to the upstream using mutual TLS by presenting
	// client certificates for authentication.
	// This mode uses certificates generated
	// automatically by Istio for mTLS authentication. When this mode is
	// used, all other fields in `ClientTLSSettings` should be empty.
	TrafficPolicySpec_Policy_MTLS_Istio_ISTIO_MUTUAL TrafficPolicySpec_Policy_MTLS_Istio_TLSmode = 2
)

func (TrafficPolicySpec_Policy_MTLS_Istio_TLSmode) Descriptor

func (TrafficPolicySpec_Policy_MTLS_Istio_TLSmode) Enum

func (TrafficPolicySpec_Policy_MTLS_Istio_TLSmode) EnumDescriptor deprecated

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

Deprecated: Use TrafficPolicySpec_Policy_MTLS_Istio_TLSmode.Descriptor instead.

func (TrafficPolicySpec_Policy_MTLS_Istio_TLSmode) Number

func (TrafficPolicySpec_Policy_MTLS_Istio_TLSmode) String

func (TrafficPolicySpec_Policy_MTLS_Istio_TLSmode) Type

type TrafficPolicySpec_Policy_Mirror

type TrafficPolicySpec_Policy_Mirror struct {

	// Platform specific mirror destinations.
	//
	// Types that are assignable to DestinationType:
	//	*TrafficPolicySpec_Policy_Mirror_KubeService
	DestinationType isTrafficPolicySpec_Policy_Mirror_DestinationType `protobuf_oneof:"destination_type"`
	// Percentage of traffic to mirror. If omitted all traffic will be mirrored. Values must be between 0 and 100.
	Percentage float64 `protobuf:"fixed64,2,opt,name=percentage,proto3" json:"percentage,omitempty"`
	// Port on the destination to receive traffic. Required if the destination exposes multiple ports.
	Port uint32 `protobuf:"varint,3,opt,name=port,proto3" json:"port,omitempty"`
	// contains filtered or unexported fields
}

Mirror traffic to a another destination (traffic will be sent to its original destination in addition to the mirrored destinations).

func (*TrafficPolicySpec_Policy_Mirror) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_Policy_Mirror.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_Policy_Mirror) Equal

func (m *TrafficPolicySpec_Policy_Mirror) Equal(that interface{}) bool

Equal function

func (*TrafficPolicySpec_Policy_Mirror) GetDestinationType

func (m *TrafficPolicySpec_Policy_Mirror) GetDestinationType() isTrafficPolicySpec_Policy_Mirror_DestinationType

func (*TrafficPolicySpec_Policy_Mirror) GetKubeService

func (*TrafficPolicySpec_Policy_Mirror) GetPercentage

func (x *TrafficPolicySpec_Policy_Mirror) GetPercentage() float64

func (*TrafficPolicySpec_Policy_Mirror) GetPort

func (*TrafficPolicySpec_Policy_Mirror) ProtoMessage

func (*TrafficPolicySpec_Policy_Mirror) ProtoMessage()

func (*TrafficPolicySpec_Policy_Mirror) ProtoReflect

func (*TrafficPolicySpec_Policy_Mirror) Reset

func (*TrafficPolicySpec_Policy_Mirror) String

type TrafficPolicySpec_Policy_Mirror_KubeService

type TrafficPolicySpec_Policy_Mirror_KubeService struct {
	// Reference (name, namespace, Gloo Mesh cluster) to a Kubernetes service.
	KubeService *v11.ClusterObjectRef `protobuf:"bytes,1,opt,name=kube_service,json=kubeService,proto3,oneof"`
}

type TrafficPolicySpec_Policy_MultiDestination

type TrafficPolicySpec_Policy_MultiDestination struct {

	// Specify weighted traffic shift destinations.
	Destinations []*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination `protobuf:"bytes,1,rep,name=destinations,proto3" json:"destinations,omitempty"`
	// contains filtered or unexported fields
}

Specify a traffic shift destination.

func (*TrafficPolicySpec_Policy_MultiDestination) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_Policy_MultiDestination.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_Policy_MultiDestination) Equal

func (m *TrafficPolicySpec_Policy_MultiDestination) Equal(that interface{}) bool

Equal function

func (*TrafficPolicySpec_Policy_MultiDestination) GetDestinations

func (*TrafficPolicySpec_Policy_MultiDestination) ProtoMessage

func (*TrafficPolicySpec_Policy_MultiDestination) ProtoReflect

func (*TrafficPolicySpec_Policy_MultiDestination) Reset

func (*TrafficPolicySpec_Policy_MultiDestination) String

type TrafficPolicySpec_Policy_MultiDestination_WeightedDestination

type TrafficPolicySpec_Policy_MultiDestination_WeightedDestination struct {

	// Specify the proportion of traffic to be forwarded to this destination.
	// Weights across all of the `destinations` must sum to 100.
	Weight uint32 `protobuf:"varint,1,opt,name=weight,proto3" json:"weight,omitempty"`
	// Platform specific destinations.
	//
	// Types that are assignable to DestinationType:
	//	*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_KubeService
	//	*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_VirtualDestination
	DestinationType isTrafficPolicySpec_Policy_MultiDestination_WeightedDestination_DestinationType `protobuf_oneof:"destination_type"`
	// contains filtered or unexported fields
}

Specify a traffic shift destination along with a weight.

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination) Descriptor deprecated

Deprecated: Use TrafficPolicySpec_Policy_MultiDestination_WeightedDestination.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination) Equal

Equal function

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination) GetDestinationType

func (m *TrafficPolicySpec_Policy_MultiDestination_WeightedDestination) GetDestinationType() isTrafficPolicySpec_Policy_MultiDestination_WeightedDestination_DestinationType

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination) GetKubeService

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination) GetWeight

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination) ProtoMessage

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination) ProtoReflect

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination) Reset

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination) String

type TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_KubeDestination

type TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_KubeDestination struct {

	// The name of the service.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The namespace of the service.
	Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
	// The Gloo Mesh cluster name (registration name) of the service.
	ClusterName string `protobuf:"bytes,3,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"`
	// Specify, by labels, a subset of service instances to route to.
	Subset map[string]string `` /* 153-byte string literal not displayed */
	// Port on the service to receive traffic. Required if the service exposes more than one port.
	Port uint32 `protobuf:"varint,5,opt,name=port,proto3" json:"port,omitempty"`
	// contains filtered or unexported fields
}

A Kubernetes destination.

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_KubeDestination) Descriptor deprecated

Deprecated: Use TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_KubeDestination.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_KubeDestination) Equal

Equal function

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_KubeDestination) GetClusterName

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_KubeDestination) GetName

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_KubeDestination) GetNamespace

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_KubeDestination) GetPort

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_KubeDestination) GetSubset

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_KubeDestination) ProtoMessage

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_KubeDestination) ProtoReflect

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_KubeDestination) Reset

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_KubeDestination) String

type TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_KubeService

type TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_KubeService struct {
	// Specify a Kubernetes Service.
	KubeService *TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_KubeDestination `protobuf:"bytes,2,opt,name=kube_service,json=kubeService,proto3,oneof"`
}

type TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_VirtualDestination

type TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_VirtualDestination struct {
	// Specify a VirtualDestination.
	VirtualDestination *TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_VirtualDestinationReference `protobuf:"bytes,3,opt,name=virtual_destination,json=virtualDestination,proto3,oneof"`
}

type TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_VirtualDestinationReference

type TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_VirtualDestinationReference struct {

	// The name of the VirtualDestination object.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The namespace of the VirtualDestination object.
	Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"`
	// Specify, by labels, a subset of service instances backing the VirtualDestination to route to.
	Subset map[string]string `` /* 153-byte string literal not displayed */
	// contains filtered or unexported fields
}

Specify a VirtualDestination traffic shift destination.

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_VirtualDestinationReference) Descriptor deprecated

Deprecated: Use TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_VirtualDestinationReference.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_VirtualDestinationReference) Equal

Equal function

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_VirtualDestinationReference) GetName

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_VirtualDestinationReference) GetNamespace

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_VirtualDestinationReference) GetSubset

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_VirtualDestinationReference) ProtoMessage

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_VirtualDestinationReference) ProtoReflect

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_VirtualDestinationReference) Reset

func (*TrafficPolicySpec_Policy_MultiDestination_WeightedDestination_VirtualDestinationReference) String

type TrafficPolicySpec_Policy_OutlierDetection

type TrafficPolicySpec_Policy_OutlierDetection struct {

	// The number of errors before a host is ejected from the connection pool. A default will be used if not set.
	ConsecutiveErrors uint32 `protobuf:"varint,1,opt,name=consecutive_errors,json=consecutiveErrors,proto3" json:"consecutive_errors,omitempty"`
	// The time interval between ejection sweep analysis. Format: `1h`/`1m`/`1s`/`1ms`. Must be >= `1ms`. A default will be used if not set.
	Interval *duration.Duration `protobuf:"bytes,2,opt,name=interval,proto3" json:"interval,omitempty"`
	// The minimum ejection duration. Format: `1h`/`1m`/`1s`/`1ms`. Must be >= `1ms`. A default will be used if not set.
	BaseEjectionTime *duration.Duration `protobuf:"bytes,3,opt,name=base_ejection_time,json=baseEjectionTime,proto3" json:"base_ejection_time,omitempty"`
	// The maximum percentage of hosts that can be ejected from the load balancing pool.
	// At least one host will be ejected regardless of the value. Must be between 0 and 100. A default will be used if not set.
	MaxEjectionPercent uint32 `protobuf:"varint,4,opt,name=max_ejection_percent,json=maxEjectionPercent,proto3" json:"max_ejection_percent,omitempty"`
	// contains filtered or unexported fields
}

Configure [outlier detection](https://www.envoyproxy.io/docs/envoy/latest/intro/arch_overview/upstream/outlier) on the selected destinations. Specifying this field requires an empty `source_selector` because it must apply to all traffic.

func (*TrafficPolicySpec_Policy_OutlierDetection) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_Policy_OutlierDetection.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_Policy_OutlierDetection) Equal

func (m *TrafficPolicySpec_Policy_OutlierDetection) Equal(that interface{}) bool

Equal function

func (*TrafficPolicySpec_Policy_OutlierDetection) GetBaseEjectionTime

func (*TrafficPolicySpec_Policy_OutlierDetection) GetConsecutiveErrors

func (x *TrafficPolicySpec_Policy_OutlierDetection) GetConsecutiveErrors() uint32

func (*TrafficPolicySpec_Policy_OutlierDetection) GetInterval

func (*TrafficPolicySpec_Policy_OutlierDetection) GetMaxEjectionPercent

func (x *TrafficPolicySpec_Policy_OutlierDetection) GetMaxEjectionPercent() uint32

func (*TrafficPolicySpec_Policy_OutlierDetection) ProtoMessage

func (*TrafficPolicySpec_Policy_OutlierDetection) ProtoReflect

func (*TrafficPolicySpec_Policy_OutlierDetection) Reset

func (*TrafficPolicySpec_Policy_OutlierDetection) String

type TrafficPolicySpec_Policy_RetryPolicy

type TrafficPolicySpec_Policy_RetryPolicy struct {

	// Number of retries for a given request
	Attempts int32 `protobuf:"varint,1,opt,name=attempts,proto3" json:"attempts,omitempty"`
	// Timeout per retry attempt for a given request. Format: `1h`/`1m`/`1s`/`1ms`. *Must be >= 1ms*.
	PerTryTimeout *duration.Duration `protobuf:"bytes,2,opt,name=per_try_timeout,json=perTryTimeout,proto3" json:"per_try_timeout,omitempty"`
	// contains filtered or unexported fields
}

Specify retries for failed requests.

func (*TrafficPolicySpec_Policy_RetryPolicy) Descriptor deprecated

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

Deprecated: Use TrafficPolicySpec_Policy_RetryPolicy.ProtoReflect.Descriptor instead.

func (*TrafficPolicySpec_Policy_RetryPolicy) Equal

func (m *TrafficPolicySpec_Policy_RetryPolicy) Equal(that interface{}) bool

Equal function

func (*TrafficPolicySpec_Policy_RetryPolicy) GetAttempts

func (*TrafficPolicySpec_Policy_RetryPolicy) GetPerTryTimeout

func (*TrafficPolicySpec_Policy_RetryPolicy) ProtoMessage

func (*TrafficPolicySpec_Policy_RetryPolicy) ProtoMessage()

func (*TrafficPolicySpec_Policy_RetryPolicy) ProtoReflect

func (*TrafficPolicySpec_Policy_RetryPolicy) Reset

func (*TrafficPolicySpec_Policy_RetryPolicy) String

type TrafficPolicyStatus

type TrafficPolicyStatus struct {

	// The most recent generation observed in the the TrafficPolicy metadata.
	// If the `observedGeneration` does not match `metadata.generation`, Gloo Mesh has not processed the most
	// recent version of this resource.
	ObservedGeneration int64 `protobuf:"varint,1,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"`
	// The state of the overall resource.
	// It will only show accepted if it has been successfully applied to all selected Destinations.
	State v1.ApprovalState `protobuf:"varint,2,opt,name=state,proto3,enum=common.mesh.gloo.solo.io.ApprovalState" json:"state,omitempty"`
	// The status of the TrafficPolicy for each selected Destination.
	// A TrafficPolicy may be Accepted for some Destinations and rejected for others.
	Destinations map[string]*ApprovalStatus `` /* 165-byte string literal not displayed */
	// The list of selected Workloads for which this policy has been applied.
	Workloads []string `protobuf:"bytes,4,rep,name=workloads,proto3" json:"workloads,omitempty"`
	// Any errors found while processing this generation of the resource.
	Errors []string `protobuf:"bytes,5,rep,name=errors,proto3" json:"errors,omitempty"`
	// contains filtered or unexported fields
}

func (*TrafficPolicyStatus) DeepCopyInto

func (in *TrafficPolicyStatus) DeepCopyInto(out *TrafficPolicyStatus)

DeepCopyInto for the TrafficPolicy.Status

func (*TrafficPolicyStatus) Descriptor deprecated

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

Deprecated: Use TrafficPolicyStatus.ProtoReflect.Descriptor instead.

func (*TrafficPolicyStatus) Equal

func (m *TrafficPolicyStatus) Equal(that interface{}) bool

Equal function

func (*TrafficPolicyStatus) GetDestinations

func (x *TrafficPolicyStatus) GetDestinations() map[string]*ApprovalStatus

func (*TrafficPolicyStatus) GetErrors

func (x *TrafficPolicyStatus) GetErrors() []string

func (*TrafficPolicyStatus) GetObservedGeneration

func (x *TrafficPolicyStatus) GetObservedGeneration() int64

func (*TrafficPolicyStatus) GetState

func (x *TrafficPolicyStatus) GetState() v1.ApprovalState

func (*TrafficPolicyStatus) GetWorkloads

func (x *TrafficPolicyStatus) GetWorkloads() []string

func (*TrafficPolicyStatus) MarshalJSON

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

MarshalJSON is a custom marshaler for TrafficPolicyStatus

func (*TrafficPolicyStatus) ProtoMessage

func (*TrafficPolicyStatus) ProtoMessage()

func (*TrafficPolicyStatus) ProtoReflect

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

func (*TrafficPolicyStatus) Reset

func (x *TrafficPolicyStatus) Reset()

func (*TrafficPolicyStatus) String

func (x *TrafficPolicyStatus) String() string

func (*TrafficPolicyStatus) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for TrafficPolicyStatus

type TrafficPolicyStatusWriter

type TrafficPolicyStatusWriter interface {
	// Update updates the fields corresponding to the status subresource for the
	// given TrafficPolicy object.
	UpdateTrafficPolicyStatus(ctx context.Context, obj *TrafficPolicy, opts ...client.UpdateOption) error

	// Patch patches the given TrafficPolicy object's subresource.
	PatchTrafficPolicyStatus(ctx context.Context, obj *TrafficPolicy, patch client.Patch, opts ...client.PatchOption) error
}

StatusWriter knows how to update status subresource of a TrafficPolicy object.

type TrafficPolicyTransitionFunction

type TrafficPolicyTransitionFunction func(existing, desired *TrafficPolicy) error

TrafficPolicyTransitionFunction instructs the TrafficPolicyWriter how to transition between an existing TrafficPolicy object and a desired on an Upsert

type TrafficPolicyWriter

type TrafficPolicyWriter interface {
	// Create saves the TrafficPolicy object.
	CreateTrafficPolicy(ctx context.Context, obj *TrafficPolicy, opts ...client.CreateOption) error

	// Delete deletes the TrafficPolicy object.
	DeleteTrafficPolicy(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error

	// Update updates the given TrafficPolicy object.
	UpdateTrafficPolicy(ctx context.Context, obj *TrafficPolicy, opts ...client.UpdateOption) error

	// Patch patches the given TrafficPolicy object.
	PatchTrafficPolicy(ctx context.Context, obj *TrafficPolicy, patch client.Patch, opts ...client.PatchOption) error

	// DeleteAllOf deletes all TrafficPolicy objects matching the given options.
	DeleteAllOfTrafficPolicy(ctx context.Context, opts ...client.DeleteAllOfOption) error

	// Create or Update the TrafficPolicy object.
	UpsertTrafficPolicy(ctx context.Context, obj *TrafficPolicy, transitionFuncs ...TrafficPolicyTransitionFunction) error
}

Writer knows how to create, delete, and update TrafficPolicys.

type VirtualMesh

type VirtualMesh struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   VirtualMeshSpec   `json:"spec,omitempty"`
	Status VirtualMeshStatus `json:"status,omitempty"`
}

VirtualMesh is the Schema for the virtualMesh API

func (*VirtualMesh) DeepCopy

func (in *VirtualMesh) DeepCopy() *VirtualMesh

func (*VirtualMesh) DeepCopyInto

func (in *VirtualMesh) DeepCopyInto(out *VirtualMesh)

func (*VirtualMesh) DeepCopyObject

func (in *VirtualMesh) DeepCopyObject() runtime.Object

func (VirtualMesh) GVK

GVK returns the GroupVersionKind associated with the resource type.

type VirtualMeshClient

type VirtualMeshClient interface {
	VirtualMeshReader
	VirtualMeshWriter
	VirtualMeshStatusWriter
}

Client knows how to perform CRUD operations on VirtualMeshs.

type VirtualMeshList

type VirtualMeshList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VirtualMesh `json:"items"`
}

VirtualMeshList contains a list of VirtualMesh

func (*VirtualMeshList) DeepCopy

func (in *VirtualMeshList) DeepCopy() *VirtualMeshList

func (*VirtualMeshList) DeepCopyInto

func (in *VirtualMeshList) DeepCopyInto(out *VirtualMeshList)

func (*VirtualMeshList) DeepCopyObject

func (in *VirtualMeshList) DeepCopyObject() runtime.Object

type VirtualMeshReader

type VirtualMeshReader interface {
	// Get retrieves a VirtualMesh for the given object key
	GetVirtualMesh(ctx context.Context, key client.ObjectKey) (*VirtualMesh, error)

	// List retrieves list of VirtualMeshs for a given namespace and list options.
	ListVirtualMesh(ctx context.Context, opts ...client.ListOption) (*VirtualMeshList, error)
}

Reader knows how to read and list VirtualMeshs.

type VirtualMeshSlice

type VirtualMeshSlice []*VirtualMesh

VirtualMeshSlice represents a slice of *VirtualMesh

type VirtualMeshSpec

type VirtualMeshSpec struct {

	// Specify the Meshes configured by this VirtualMesh.
	Meshes []*v1.ObjectRef `protobuf:"bytes,1,rep,name=meshes,proto3" json:"meshes,omitempty"`
	// Specify mTLS options.
	MtlsConfig *VirtualMeshSpec_MTLSConfig `protobuf:"bytes,2,opt,name=mtls_config,json=mtlsConfig,proto3" json:"mtls_config,omitempty"`
	// Specify how to federate Destinations across service mesh boundaries.
	Federation *VirtualMeshSpec_Federation `protobuf:"bytes,3,opt,name=federation,proto3" json:"federation,omitempty"`
	// Specify a global access policy for all Workloads and Destinations associated with this VirtualMesh.
	GlobalAccessPolicy VirtualMeshSpec_GlobalAccessPolicy `` /* 187-byte string literal not displayed */
	// contains filtered or unexported fields
}

Represents a logical grouping of Meshes for shared configuration and cross-mesh interoperability.

func (*VirtualMeshSpec) DeepCopyInto

func (in *VirtualMeshSpec) DeepCopyInto(out *VirtualMeshSpec)

DeepCopyInto for the VirtualMesh.Spec

func (*VirtualMeshSpec) Descriptor deprecated

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

Deprecated: Use VirtualMeshSpec.ProtoReflect.Descriptor instead.

func (*VirtualMeshSpec) Equal

func (m *VirtualMeshSpec) Equal(that interface{}) bool

Equal function

func (*VirtualMeshSpec) GetFederation

func (x *VirtualMeshSpec) GetFederation() *VirtualMeshSpec_Federation

func (*VirtualMeshSpec) GetGlobalAccessPolicy

func (x *VirtualMeshSpec) GetGlobalAccessPolicy() VirtualMeshSpec_GlobalAccessPolicy

func (*VirtualMeshSpec) GetMeshes

func (x *VirtualMeshSpec) GetMeshes() []*v1.ObjectRef

func (*VirtualMeshSpec) GetMtlsConfig

func (x *VirtualMeshSpec) GetMtlsConfig() *VirtualMeshSpec_MTLSConfig

func (*VirtualMeshSpec) MarshalJSON

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

MarshalJSON is a custom marshaler for VirtualMeshSpec

func (*VirtualMeshSpec) ProtoMessage

func (*VirtualMeshSpec) ProtoMessage()

func (*VirtualMeshSpec) ProtoReflect

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

func (*VirtualMeshSpec) Reset

func (x *VirtualMeshSpec) Reset()

func (*VirtualMeshSpec) String

func (x *VirtualMeshSpec) String() string

func (*VirtualMeshSpec) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for VirtualMeshSpec

type VirtualMeshSpec_Federation

type VirtualMeshSpec_Federation struct {

	// The "mode" in which to federate Destinations within this VirtualMesh.
	//
	// Types that are assignable to Mode:
	//	*VirtualMeshSpec_Federation_Permissive
	Mode isVirtualMeshSpec_Federation_Mode `protobuf_oneof:"mode"`
	// If true, all multicluster traffic will be routed directly to the Kubernetes service endpoints of the Destinations,
	// rather than through an ingress gateway. This mode requires a flat network environment.
	// This feature is exclusive to Gloo Mesh Enterprise.
	FlatNetwork bool `protobuf:"varint,2,opt,name=flat_network,json=flatNetwork,proto3" json:"flat_network,omitempty"`
	// Configure the suffix for hostnames of Destinations federated within this VirtualMesh.
	// Currently this is only supported for Istio with [smart DNS proxying enabled](https://istio.io/latest/blog/2020/dns-proxy/),
	// otherwise setting this field results in an error.
	// If omitted, the hostname suffix defaults to "global".
	HostnameSuffix string `protobuf:"bytes,3,opt,name=hostname_suffix,json=hostnameSuffix,proto3" json:"hostname_suffix,omitempty"`
	// contains filtered or unexported fields
}

"Federation" refers to the ability to expose Destinations across service mesh boundaries, i.e. to traffic originating from Workloads external to the Destination's Mesh.

func (*VirtualMeshSpec_Federation) Descriptor deprecated

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

Deprecated: Use VirtualMeshSpec_Federation.ProtoReflect.Descriptor instead.

func (*VirtualMeshSpec_Federation) Equal

func (m *VirtualMeshSpec_Federation) Equal(that interface{}) bool

Equal function

func (*VirtualMeshSpec_Federation) GetFlatNetwork

func (x *VirtualMeshSpec_Federation) GetFlatNetwork() bool

func (*VirtualMeshSpec_Federation) GetHostnameSuffix

func (x *VirtualMeshSpec_Federation) GetHostnameSuffix() string

func (*VirtualMeshSpec_Federation) GetMode

func (m *VirtualMeshSpec_Federation) GetMode() isVirtualMeshSpec_Federation_Mode

func (*VirtualMeshSpec_Federation) GetPermissive

func (x *VirtualMeshSpec_Federation) GetPermissive() *empty.Empty

func (*VirtualMeshSpec_Federation) ProtoMessage

func (*VirtualMeshSpec_Federation) ProtoMessage()

func (*VirtualMeshSpec_Federation) ProtoReflect

func (*VirtualMeshSpec_Federation) Reset

func (x *VirtualMeshSpec_Federation) Reset()

func (*VirtualMeshSpec_Federation) String

func (x *VirtualMeshSpec_Federation) String() string

type VirtualMeshSpec_Federation_Permissive

type VirtualMeshSpec_Federation_Permissive struct {
	// Expose all Destinations to all Workloads in this VirtualMesh.
	Permissive *empty.Empty `protobuf:"bytes,1,opt,name=permissive,proto3,oneof"`
}

type VirtualMeshSpec_GlobalAccessPolicy

type VirtualMeshSpec_GlobalAccessPolicy int32

Specify a global access policy for all Workloads and Destinations associated with this VirtualMesh.

const (
	// Assume the default for the service mesh type. Istio defaults to `false`, App Mesh defaults to `true`.
	VirtualMeshSpec_MESH_DEFAULT VirtualMeshSpec_GlobalAccessPolicy = 0
	// Disallow traffic to all Destinations in the VirtualMesh unless explicitly allowed through [AccessPolicies]({{< versioned_link_path fromRoot="/reference/api/github.com.solo-io.gloo-mesh.api.networking.v1alpha2.access_policy/" >}}).
	VirtualMeshSpec_ENABLED VirtualMeshSpec_GlobalAccessPolicy = 1
	// Allow traffic to all Destinations in the VirtualMesh unless explicitly disallowed through [AccessPolicies]({{< versioned_link_path fromRoot="/reference/api/github.com.solo-io.gloo-mesh.api.networking.v1alpha2.access_policy/" >}}).
	VirtualMeshSpec_DISABLED VirtualMeshSpec_GlobalAccessPolicy = 2
)

func (VirtualMeshSpec_GlobalAccessPolicy) Descriptor

func (VirtualMeshSpec_GlobalAccessPolicy) Enum

func (VirtualMeshSpec_GlobalAccessPolicy) EnumDescriptor deprecated

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

Deprecated: Use VirtualMeshSpec_GlobalAccessPolicy.Descriptor instead.

func (VirtualMeshSpec_GlobalAccessPolicy) Number

func (VirtualMeshSpec_GlobalAccessPolicy) String

func (VirtualMeshSpec_GlobalAccessPolicy) Type

type VirtualMeshSpec_MTLSConfig

type VirtualMeshSpec_MTLSConfig struct {

	// Specify the model for establishing mTLS trust between Meshes.
	//
	// Types that are assignable to TrustModel:
	//	*VirtualMeshSpec_MTLSConfig_Shared
	//	*VirtualMeshSpec_MTLSConfig_Limited
	TrustModel isVirtualMeshSpec_MTLSConfig_TrustModel `protobuf_oneof:"trust_model"`
	// Specify whether to allow Gloo Mesh to restart Kubernetes Pods when certificates are rotated when establishing shared trust.
	// If this option is not explicitly enabled,
	// users must restart Pods manually for the new certificates to be picked up.
	// `meshctl` provides the command `meshctl mesh restart` to simplify this process, see [here]({{< versioned_link_path fromRoot="reference/cli/meshctl_mesh_restart/" >}}) for more info.
	AutoRestartPods bool `protobuf:"varint,3,opt,name=auto_restart_pods,json=autoRestartPods,proto3" json:"auto_restart_pods,omitempty"`
	// contains filtered or unexported fields
}

Specify mTLS options. This includes options for configuring Mutual TLS within an individual mesh, as well as enabling mTLS across Meshes by establishing cross-mesh trust.

func (*VirtualMeshSpec_MTLSConfig) Descriptor deprecated

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

Deprecated: Use VirtualMeshSpec_MTLSConfig.ProtoReflect.Descriptor instead.

func (*VirtualMeshSpec_MTLSConfig) Equal

func (m *VirtualMeshSpec_MTLSConfig) Equal(that interface{}) bool

Equal function

func (*VirtualMeshSpec_MTLSConfig) GetAutoRestartPods

func (x *VirtualMeshSpec_MTLSConfig) GetAutoRestartPods() bool

func (*VirtualMeshSpec_MTLSConfig) GetLimited

func (*VirtualMeshSpec_MTLSConfig) GetShared

func (*VirtualMeshSpec_MTLSConfig) GetTrustModel

func (m *VirtualMeshSpec_MTLSConfig) GetTrustModel() isVirtualMeshSpec_MTLSConfig_TrustModel

func (*VirtualMeshSpec_MTLSConfig) ProtoMessage

func (*VirtualMeshSpec_MTLSConfig) ProtoMessage()

func (*VirtualMeshSpec_MTLSConfig) ProtoReflect

func (*VirtualMeshSpec_MTLSConfig) Reset

func (x *VirtualMeshSpec_MTLSConfig) Reset()

func (*VirtualMeshSpec_MTLSConfig) String

func (x *VirtualMeshSpec_MTLSConfig) String() string

type VirtualMeshSpec_MTLSConfig_Limited

type VirtualMeshSpec_MTLSConfig_Limited struct {
	// Limited trust (selectively allow communication between Workloads and Destinations in the grouped Meshes). *Currently not available.*
	Limited *VirtualMeshSpec_MTLSConfig_LimitedTrust `protobuf:"bytes,2,opt,name=limited,proto3,oneof"`
}

type VirtualMeshSpec_MTLSConfig_LimitedTrust

type VirtualMeshSpec_MTLSConfig_LimitedTrust struct {
	// contains filtered or unexported fields
}

Limited trust is a trust model which does not require trusting Meshes to share the same root certificate or identity. Instead, trust is established between different Meshes by connecting their ingress/egress gateways with a common certificate/identity. In this model all requests between different have the following request path when communicating between clusters ```

cluster 1 MTLS               shared MTLS                  cluster 2 MTLS

client/workload <-----------> egress gateway <----------> ingress gateway <--------------> server ``` This approach has the downside of not maintaining identity from client to server, but allows for ad-hoc addition of additional Meshes into a VirtualMesh.

func (*VirtualMeshSpec_MTLSConfig_LimitedTrust) Descriptor deprecated

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

Deprecated: Use VirtualMeshSpec_MTLSConfig_LimitedTrust.ProtoReflect.Descriptor instead.

func (*VirtualMeshSpec_MTLSConfig_LimitedTrust) Equal

func (m *VirtualMeshSpec_MTLSConfig_LimitedTrust) Equal(that interface{}) bool

Equal function

func (*VirtualMeshSpec_MTLSConfig_LimitedTrust) ProtoMessage

func (*VirtualMeshSpec_MTLSConfig_LimitedTrust) ProtoReflect

func (*VirtualMeshSpec_MTLSConfig_LimitedTrust) Reset

func (*VirtualMeshSpec_MTLSConfig_LimitedTrust) String

type VirtualMeshSpec_MTLSConfig_Shared

type VirtualMeshSpec_MTLSConfig_Shared struct {
	// Shared trust (allow communication between any pair of Workloads and Destinations in the grouped Meshes).
	Shared *VirtualMeshSpec_MTLSConfig_SharedTrust `protobuf:"bytes,1,opt,name=shared,proto3,oneof"`
}

type VirtualMeshSpec_MTLSConfig_SharedTrust

type VirtualMeshSpec_MTLSConfig_SharedTrust struct {

	// Configure a Root Certificate Authority which will be shared by all Meshes associated with this VirtualMesh.
	// If this is not provided, a self-signed certificate will be generated by Gloo Mesh.
	RootCertificateAuthority *VirtualMeshSpec_RootCertificateAuthority `` /* 135-byte string literal not displayed */
	// contains filtered or unexported fields
}

Shared trust is a trust model requiring a common root certificate shared between trusting Meshes, as well as shared identity between all Workloads and Destinations which wish to communicate within the VirtualMesh.

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) Descriptor deprecated

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

Deprecated: Use VirtualMeshSpec_MTLSConfig_SharedTrust.ProtoReflect.Descriptor instead.

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) Equal

func (m *VirtualMeshSpec_MTLSConfig_SharedTrust) Equal(that interface{}) bool

Equal function

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) GetRootCertificateAuthority

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) ProtoMessage

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) ProtoReflect

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) Reset

func (*VirtualMeshSpec_MTLSConfig_SharedTrust) String

type VirtualMeshSpec_RootCertificateAuthority

type VirtualMeshSpec_RootCertificateAuthority struct {

	// Specify the source of the Root CA data which Gloo Mesh will use for the VirtualMesh.
	//
	// Types that are assignable to CaSource:
	//	*VirtualMeshSpec_RootCertificateAuthority_Generated
	//	*VirtualMeshSpec_RootCertificateAuthority_Secret
	CaSource isVirtualMeshSpec_RootCertificateAuthority_CaSource `protobuf_oneof:"ca_source"`
	// contains filtered or unexported fields
}

Specify parameters for configuring the root certificate authority for a VirtualMesh.

func (*VirtualMeshSpec_RootCertificateAuthority) Descriptor deprecated

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

Deprecated: Use VirtualMeshSpec_RootCertificateAuthority.ProtoReflect.Descriptor instead.

func (*VirtualMeshSpec_RootCertificateAuthority) Equal

func (m *VirtualMeshSpec_RootCertificateAuthority) Equal(that interface{}) bool

Equal function

func (*VirtualMeshSpec_RootCertificateAuthority) GetCaSource

func (m *VirtualMeshSpec_RootCertificateAuthority) GetCaSource() isVirtualMeshSpec_RootCertificateAuthority_CaSource

func (*VirtualMeshSpec_RootCertificateAuthority) GetGenerated

func (*VirtualMeshSpec_RootCertificateAuthority) GetSecret

func (*VirtualMeshSpec_RootCertificateAuthority) ProtoMessage

func (*VirtualMeshSpec_RootCertificateAuthority) ProtoReflect

func (*VirtualMeshSpec_RootCertificateAuthority) Reset

func (*VirtualMeshSpec_RootCertificateAuthority) String

type VirtualMeshSpec_RootCertificateAuthority_Generated

type VirtualMeshSpec_RootCertificateAuthority_Generated struct {
	// Generate a self-signed root certificate with the given options.
	Generated *VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert `protobuf:"bytes,1,opt,name=generated,proto3,oneof"`
}

type VirtualMeshSpec_RootCertificateAuthority_Secret

type VirtualMeshSpec_RootCertificateAuthority_Secret struct {
	// Reference to a Kubernetes Secret containing the root certificate authority.
	// Provided secrets must conform to a specified format, [documented here]({{< versioned_link_path fromRoot="/guides/federate_identity/" >}}).
	Secret *v1.ObjectRef `protobuf:"bytes,2,opt,name=secret,proto3,oneof"`
}

type VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert

type VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert struct {

	// Number of days before root cert expires. Defaults to 365.
	TtlDays uint32 `protobuf:"varint,1,opt,name=ttl_days,json=ttlDays,proto3" json:"ttl_days,omitempty"`
	// Size in bytes of the root cert's private key. Defaults to 4096.
	RsaKeySizeBytes uint32 `protobuf:"varint,2,opt,name=rsa_key_size_bytes,json=rsaKeySizeBytes,proto3" json:"rsa_key_size_bytes,omitempty"`
	// Root cert organization name. Defaults to "gloo-mesh".
	OrgName string `protobuf:"bytes,3,opt,name=org_name,json=orgName,proto3" json:"org_name,omitempty"`
	// contains filtered or unexported fields
}

Configuration for generating a self-signed root certificate. Uses the X.509 format, RFC5280.

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) Descriptor deprecated

Deprecated: Use VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert.ProtoReflect.Descriptor instead.

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) Equal

Equal function

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) GetOrgName

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) GetRsaKeySizeBytes

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) GetTtlDays

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) ProtoMessage

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) ProtoReflect

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) Reset

func (*VirtualMeshSpec_RootCertificateAuthority_SelfSignedCert) String

type VirtualMeshStatus

type VirtualMeshStatus struct {

	// The most recent generation observed in the the VirtualMesh metadata.
	// If the `observedGeneration` does not match `metadata.generation`, Gloo Mesh has not processed the most
	// recent version of this resource.
	ObservedGeneration int64 `protobuf:"varint,1,opt,name=observed_generation,json=observedGeneration,proto3" json:"observed_generation,omitempty"`
	// The state of the overall resource. It will only show accepted if it has been successfully
	// applied to all selected Meshes.
	State v11.ApprovalState `protobuf:"varint,2,opt,name=state,proto3,enum=common.mesh.gloo.solo.io.ApprovalState" json:"state,omitempty"`
	// Any errors found while processing this generation of the resource.
	Errors []string `protobuf:"bytes,3,rep,name=errors,proto3" json:"errors,omitempty"`
	// The status of the VirtualMesh for each Mesh to which it has been applied.
	// A VirtualMesh may be Accepted for some Meshes and rejected for others.
	Meshes map[string]*ApprovalStatus `` /* 153-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*VirtualMeshStatus) DeepCopyInto

func (in *VirtualMeshStatus) DeepCopyInto(out *VirtualMeshStatus)

DeepCopyInto for the VirtualMesh.Status

func (*VirtualMeshStatus) Descriptor deprecated

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

Deprecated: Use VirtualMeshStatus.ProtoReflect.Descriptor instead.

func (*VirtualMeshStatus) Equal

func (m *VirtualMeshStatus) Equal(that interface{}) bool

Equal function

func (*VirtualMeshStatus) GetErrors

func (x *VirtualMeshStatus) GetErrors() []string

func (*VirtualMeshStatus) GetMeshes

func (x *VirtualMeshStatus) GetMeshes() map[string]*ApprovalStatus

func (*VirtualMeshStatus) GetObservedGeneration

func (x *VirtualMeshStatus) GetObservedGeneration() int64

func (*VirtualMeshStatus) GetState

func (x *VirtualMeshStatus) GetState() v11.ApprovalState

func (*VirtualMeshStatus) MarshalJSON

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

MarshalJSON is a custom marshaler for VirtualMeshStatus

func (*VirtualMeshStatus) ProtoMessage

func (*VirtualMeshStatus) ProtoMessage()

func (*VirtualMeshStatus) ProtoReflect

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

func (*VirtualMeshStatus) Reset

func (x *VirtualMeshStatus) Reset()

func (*VirtualMeshStatus) String

func (x *VirtualMeshStatus) String() string

func (*VirtualMeshStatus) UnmarshalJSON

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

UnmarshalJSON is a custom unmarshaler for VirtualMeshStatus

type VirtualMeshStatusWriter

type VirtualMeshStatusWriter interface {
	// Update updates the fields corresponding to the status subresource for the
	// given VirtualMesh object.
	UpdateVirtualMeshStatus(ctx context.Context, obj *VirtualMesh, opts ...client.UpdateOption) error

	// Patch patches the given VirtualMesh object's subresource.
	PatchVirtualMeshStatus(ctx context.Context, obj *VirtualMesh, patch client.Patch, opts ...client.PatchOption) error
}

StatusWriter knows how to update status subresource of a VirtualMesh object.

type VirtualMeshTransitionFunction

type VirtualMeshTransitionFunction func(existing, desired *VirtualMesh) error

VirtualMeshTransitionFunction instructs the VirtualMeshWriter how to transition between an existing VirtualMesh object and a desired on an Upsert

type VirtualMeshWriter

type VirtualMeshWriter interface {
	// Create saves the VirtualMesh object.
	CreateVirtualMesh(ctx context.Context, obj *VirtualMesh, opts ...client.CreateOption) error

	// Delete deletes the VirtualMesh object.
	DeleteVirtualMesh(ctx context.Context, key client.ObjectKey, opts ...client.DeleteOption) error

	// Update updates the given VirtualMesh object.
	UpdateVirtualMesh(ctx context.Context, obj *VirtualMesh, opts ...client.UpdateOption) error

	// Patch patches the given VirtualMesh object.
	PatchVirtualMesh(ctx context.Context, obj *VirtualMesh, patch client.Patch, opts ...client.PatchOption) error

	// DeleteAllOf deletes all VirtualMesh objects matching the given options.
	DeleteAllOfVirtualMesh(ctx context.Context, opts ...client.DeleteAllOfOption) error

	// Create or Update the VirtualMesh object.
	UpsertVirtualMesh(ctx context.Context, obj *VirtualMesh, transitionFuncs ...VirtualMeshTransitionFunction) error
}

Writer knows how to create, delete, and update VirtualMeshs.

Directories

Path Synopsis
Definitions for the Kubernetes Controllers Definitions for the multicluster Kubernetes Controllers Definitions for the Kubernetes Controllers
Definitions for the Kubernetes Controllers Definitions for the multicluster Kubernetes Controllers Definitions for the Kubernetes Controllers
mocks
Package mock_controller is a generated GoMock package.
Package mock_controller is a generated GoMock package.
Package mock_v1 is a generated GoMock package.
Package mock_v1 is a generated GoMock package.
mocks
Package mock_v1sets is a generated GoMock package.
Package mock_v1sets is a generated GoMock package.

Jump to

Keyboard shortcuts

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