mesh

package
v1.8.1 Latest Latest
Warning

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

Go to latest
Published: Oct 5, 2022 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Overview

nolint:whitespace

Index

Constants

View Source
const (
	ProtocolUnknown = "<unknown>"
	ProtocolTCP     = "tcp"
	ProtocolHTTP    = "http"
	ProtocolHTTP2   = "http2"
	ProtocolGRPC    = "grpc"
	ProtocolKafka   = "kafka"
)
View Source
const (
	Online            = Status("Online")
	Offline           = Status("Offline")
	PartiallyDegraded = Status("Partially degraded")
)
View Source
const (
	EmptyFieldViolation                     = "field cannot be empty"
	HasToBeDefinedViolation                 = "has to be defined"
	HasToBeGreaterThan0Violation            = "has to be greater than 0"
	WhenDefinedHasToBeGreaterThan0Violation = "has to be greater than 0" +
		" when defined"
	StatusCodesNotDefinedViolation = "retriableStatusCodes cannot" +
		" be empty when this option is specified"
)
View Source
const (
	CircuitBreakerType model.ResourceType = "CircuitBreaker"
)
View Source
const (
	DataplaneInsightType model.ResourceType = "DataplaneInsight"
)
View Source
const (
	DataplaneOverviewType model.ResourceType = "DataplaneOverview"
)
View Source
const (
	DataplaneType model.ResourceType = "Dataplane"
)
View Source
const (
	ExternalServiceType model.ResourceType = "ExternalService"
)
View Source
const (
	FaultInjectionType model.ResourceType = "FaultInjection"
)
View Source
const (
	HealthCheckType model.ResourceType = "HealthCheck"
)
View Source
const (
	MeshGatewayRouteType model.ResourceType = "MeshGatewayRoute"
)
View Source
const (
	MeshGatewayType model.ResourceType = "MeshGateway"
)
View Source
const (
	MeshInsightType model.ResourceType = "MeshInsight"
)
View Source
const (
	MeshType model.ResourceType = "Mesh"
)
View Source
const PassThroughService = "pass_through"

Service that indicates L4 pass through cluster

View Source
const (
	ProfileDefaultProxy = "default-proxy"
)
View Source
const (
	ProxyTemplateType model.ResourceType = "ProxyTemplate"
)
View Source
const (
	RateLimitType model.ResourceType = "RateLimit"
)
View Source
const (
	RetryType model.ResourceType = "Retry"
)
View Source
const (
	ServiceInsightType model.ResourceType = "ServiceInsight"
)
View Source
const (
	ServiceOverviewType model.ResourceType = "ServiceOverview"
)
View Source
const (
	TimeoutType model.ResourceType = "Timeout"
)
View Source
const (
	TrafficLogType model.ResourceType = "TrafficLog"
)
View Source
const (
	TrafficPermissionType model.ResourceType = "TrafficPermission"
)
View Source
const (
	TrafficRouteType model.ResourceType = "TrafficRoute"
)
View Source
const (
	TrafficTraceType model.ResourceType = "TrafficTrace"
)
View Source
const (
	VirtualOutboundType model.ResourceType = "VirtualOutbound"
)
View Source
const (
	ZoneEgressInsightType model.ResourceType = "ZoneEgressInsight"
)
View Source
const (
	ZoneEgressOverviewType model.ResourceType = "ZoneEgressOverview"
)
View Source
const (
	ZoneEgressType model.ResourceType = "ZoneEgress"
)
View Source
const (
	ZoneIngressInsightType model.ResourceType = "ZoneIngressInsight"
)
View Source
const (
	ZoneIngressOverviewType model.ResourceType = "ZoneIngressOverview"
)
View Source
const (
	ZoneIngressType model.ResourceType = "ZoneIngress"
)

Variables

View Source
var AllowedMTLSBackends = 1
View Source
var AvailableProfiles map[string]struct{}
View Source
var CircuitBreakerResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                CircuitBreakerType,
	Resource:            NewCircuitBreakerResource(),
	ResourceList:        &CircuitBreakerResourceList{},
	ReadOnly:            false,
	AdminOnly:           false,
	Scope:               model.ScopeMesh,
	KDSFlags:            model.FromGlobalToZone,
	WsPath:              "circuit-breakers",
	KumactlArg:          "circuit-breaker",
	KumactlListArg:      "circuit-breakers",
	AllowToInspect:      true,
	IsPolicy:            true,
	SingularDisplayName: "Circuit Breaker",
	PluralDisplayName:   "Circuit Breakers",
	IsExperimental:      false,
}
View Source
var DataplaneInsightResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                DataplaneInsightType,
	Resource:            NewDataplaneInsightResource(),
	ResourceList:        &DataplaneInsightResourceList{},
	ReadOnly:            true,
	AdminOnly:           false,
	Scope:               model.ScopeMesh,
	KDSFlags:            model.FromZoneToGlobal,
	WsPath:              "dataplane-insights",
	KumactlArg:          "",
	KumactlListArg:      "",
	AllowToInspect:      false,
	IsPolicy:            false,
	SingularDisplayName: "Dataplane Insight",
	PluralDisplayName:   "Dataplane Insights",
	IsExperimental:      false,
}
View Source
var DataplaneOverviewResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                DataplaneOverviewType,
	Resource:            NewDataplaneOverviewResource(),
	ResourceList:        &DataplaneOverviewResourceList{},
	ReadOnly:            false,
	AdminOnly:           false,
	Scope:               model.ScopeMesh,
	WsPath:              "",
	KumactlArg:          "",
	KumactlListArg:      "",
	AllowToInspect:      false,
	IsPolicy:            false,
	SingularDisplayName: "Dataplane Overview",
	PluralDisplayName:   "Dataplane Overviews",
	IsExperimental:      false,
}
View Source
var DataplaneResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                DataplaneType,
	Resource:            NewDataplaneResource(),
	ResourceList:        &DataplaneResourceList{},
	ReadOnly:            false,
	AdminOnly:           false,
	Scope:               model.ScopeMesh,
	KDSFlags:            model.FromZoneToGlobal,
	WsPath:              "dataplanes",
	KumactlArg:          "dataplane",
	KumactlListArg:      "dataplanes",
	AllowToInspect:      false,
	IsPolicy:            false,
	SingularDisplayName: "Dataplane",
	PluralDisplayName:   "Dataplanes",
	IsExperimental:      false,
}
View Source
var ExternalServiceResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                ExternalServiceType,
	Resource:            NewExternalServiceResource(),
	ResourceList:        &ExternalServiceResourceList{},
	ReadOnly:            false,
	AdminOnly:           false,
	Scope:               model.ScopeMesh,
	KDSFlags:            model.FromGlobalToZone,
	WsPath:              "external-services",
	KumactlArg:          "external-service",
	KumactlListArg:      "external-services",
	AllowToInspect:      false,
	IsPolicy:            false,
	SingularDisplayName: "External Service",
	PluralDisplayName:   "External Services",
	IsExperimental:      false,
}
View Source
var FaultInjectionResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                FaultInjectionType,
	Resource:            NewFaultInjectionResource(),
	ResourceList:        &FaultInjectionResourceList{},
	ReadOnly:            false,
	AdminOnly:           false,
	Scope:               model.ScopeMesh,
	KDSFlags:            model.FromGlobalToZone,
	WsPath:              "fault-injections",
	KumactlArg:          "fault-injection",
	KumactlListArg:      "fault-injections",
	AllowToInspect:      true,
	IsPolicy:            true,
	SingularDisplayName: "Fault Injection",
	PluralDisplayName:   "Fault Injections",
	IsExperimental:      false,
}
View Source
var HealthCheckResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                HealthCheckType,
	Resource:            NewHealthCheckResource(),
	ResourceList:        &HealthCheckResourceList{},
	ReadOnly:            false,
	AdminOnly:           false,
	Scope:               model.ScopeMesh,
	KDSFlags:            model.FromGlobalToZone,
	WsPath:              "health-checks",
	KumactlArg:          "healthcheck",
	KumactlListArg:      "healthchecks",
	AllowToInspect:      true,
	IsPolicy:            true,
	SingularDisplayName: "Health Check",
	PluralDisplayName:   "Health Checks",
	IsExperimental:      false,
}
View Source
var IPv4Loopback = net.IPv4(127, 0, 0, 1)
View Source
var IPv6Loopback = net.IPv6loopback
View Source
var MeshGatewayResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                MeshGatewayType,
	Resource:            NewMeshGatewayResource(),
	ResourceList:        &MeshGatewayResourceList{},
	ReadOnly:            false,
	AdminOnly:           false,
	Scope:               model.ScopeMesh,
	KDSFlags:            model.FromGlobalToZone,
	WsPath:              "meshgateways",
	KumactlArg:          "meshgateway",
	KumactlListArg:      "meshgateways",
	AllowToInspect:      false,
	IsPolicy:            true,
	SingularDisplayName: "Mesh Gateway",
	PluralDisplayName:   "Mesh Gateways",
	IsExperimental:      true,
}
View Source
var MeshGatewayRouteResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                MeshGatewayRouteType,
	Resource:            NewMeshGatewayRouteResource(),
	ResourceList:        &MeshGatewayRouteResourceList{},
	ReadOnly:            false,
	AdminOnly:           false,
	Scope:               model.ScopeMesh,
	KDSFlags:            model.FromGlobalToZone,
	WsPath:              "meshgatewayroutes",
	KumactlArg:          "meshgatewayroute",
	KumactlListArg:      "meshgatewayroutes",
	AllowToInspect:      false,
	IsPolicy:            true,
	SingularDisplayName: "Mesh Gateway Route",
	PluralDisplayName:   "Mesh Gateway Routes",
	IsExperimental:      true,
}
View Source
var MeshInsightResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                MeshInsightType,
	Resource:            NewMeshInsightResource(),
	ResourceList:        &MeshInsightResourceList{},
	ReadOnly:            true,
	AdminOnly:           false,
	Scope:               model.ScopeGlobal,
	WsPath:              "mesh-insights",
	KumactlArg:          "",
	KumactlListArg:      "",
	AllowToInspect:      false,
	IsPolicy:            false,
	SingularDisplayName: "Mesh Insight",
	PluralDisplayName:   "Mesh Insights",
	IsExperimental:      false,
}
View Source
var MeshResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                MeshType,
	Resource:            NewMeshResource(),
	ResourceList:        &MeshResourceList{},
	ReadOnly:            false,
	AdminOnly:           false,
	Scope:               model.ScopeGlobal,
	KDSFlags:            model.FromGlobalToZone,
	WsPath:              "meshes",
	KumactlArg:          "mesh",
	KumactlListArg:      "meshes",
	AllowToInspect:      false,
	IsPolicy:            false,
	SingularDisplayName: "Mesh",
	PluralDisplayName:   "Meshes",
	IsExperimental:      false,
}
View Source
var OnlyServiceTagAllowed = ValidateSelectorsOpts{
	RequireAtLeastOneSelector: true,
	ValidateTagsOpts: ValidateTagsOpts{
		RequireService: true,
		ExtraTagsValidators: []TagsValidatorFunc{
			func(path validators.PathBuilder, selector map[string]string) (err validators.ValidationError) {
				_, defined := selector[mesh_proto.ServiceTag]
				if len(selector) != 1 || !defined {
					err.AddViolationAt(path, fmt.Sprintf("must consist of exactly one tag %q", mesh_proto.ServiceTag))
				}
				return
			},
		},
		ExtraTagKeyValidators: []TagKeyValidatorFunc{
			func(path validators.PathBuilder, key string) (err validators.ValidationError) {
				if key != mesh_proto.ServiceTag {
					err.AddViolationAt(path.Key(key), fmt.Sprintf("tag %q is not allowed", key))
				}
				return
			},
		},
	},
}
View Source
var ProxyTemplateResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                ProxyTemplateType,
	Resource:            NewProxyTemplateResource(),
	ResourceList:        &ProxyTemplateResourceList{},
	ReadOnly:            false,
	AdminOnly:           false,
	Scope:               model.ScopeMesh,
	KDSFlags:            model.FromGlobalToZone,
	WsPath:              "proxytemplates",
	KumactlArg:          "proxytemplate",
	KumactlListArg:      "proxytemplates",
	AllowToInspect:      true,
	IsPolicy:            true,
	SingularDisplayName: "Proxy Template",
	PluralDisplayName:   "Proxy Templates",
	IsExperimental:      false,
}
View Source
var RateLimitResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                RateLimitType,
	Resource:            NewRateLimitResource(),
	ResourceList:        &RateLimitResourceList{},
	ReadOnly:            false,
	AdminOnly:           false,
	Scope:               model.ScopeMesh,
	KDSFlags:            model.FromGlobalToZone,
	WsPath:              "rate-limits",
	KumactlArg:          "rate-limit",
	KumactlListArg:      "rate-limits",
	AllowToInspect:      true,
	IsPolicy:            true,
	SingularDisplayName: "Rate Limit",
	PluralDisplayName:   "Rate Limits",
	IsExperimental:      false,
}
View Source
var RetryResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                RetryType,
	Resource:            NewRetryResource(),
	ResourceList:        &RetryResourceList{},
	ReadOnly:            false,
	AdminOnly:           false,
	Scope:               model.ScopeMesh,
	KDSFlags:            model.FromGlobalToZone,
	WsPath:              "retries",
	KumactlArg:          "retry",
	KumactlListArg:      "retries",
	AllowToInspect:      true,
	IsPolicy:            true,
	SingularDisplayName: "Retry",
	PluralDisplayName:   "Retries",
	IsExperimental:      false,
}
View Source
var ServiceInsightResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                ServiceInsightType,
	Resource:            NewServiceInsightResource(),
	ResourceList:        &ServiceInsightResourceList{},
	ReadOnly:            true,
	AdminOnly:           false,
	Scope:               model.ScopeMesh,
	KDSFlags:            model.FromGlobalToZone,
	WsPath:              "service-insights",
	KumactlArg:          "",
	KumactlListArg:      "",
	AllowToInspect:      false,
	IsPolicy:            false,
	SingularDisplayName: "Service Insight",
	PluralDisplayName:   "Service Insights",
	IsExperimental:      false,
}
View Source
var ServiceOverviewResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                ServiceOverviewType,
	Resource:            NewServiceOverviewResource(),
	ResourceList:        &ServiceOverviewResourceList{},
	ReadOnly:            false,
	AdminOnly:           false,
	Scope:               model.ScopeMesh,
	WsPath:              "",
	KumactlArg:          "",
	KumactlListArg:      "",
	AllowToInspect:      false,
	IsPolicy:            false,
	SingularDisplayName: "Service Overview",
	PluralDisplayName:   "Service Overviews",
	IsExperimental:      false,
}

SupportedProtocols is a list of supported protocols that will be communicated to a user.

View Source
var TimeoutResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                TimeoutType,
	Resource:            NewTimeoutResource(),
	ResourceList:        &TimeoutResourceList{},
	ReadOnly:            false,
	AdminOnly:           false,
	Scope:               model.ScopeMesh,
	KDSFlags:            model.FromGlobalToZone,
	WsPath:              "timeouts",
	KumactlArg:          "timeout",
	KumactlListArg:      "timeouts",
	AllowToInspect:      true,
	IsPolicy:            true,
	SingularDisplayName: "Timeout",
	PluralDisplayName:   "Timeouts",
	IsExperimental:      false,
}
View Source
var TrafficLogResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                TrafficLogType,
	Resource:            NewTrafficLogResource(),
	ResourceList:        &TrafficLogResourceList{},
	ReadOnly:            false,
	AdminOnly:           false,
	Scope:               model.ScopeMesh,
	KDSFlags:            model.FromGlobalToZone,
	WsPath:              "traffic-logs",
	KumactlArg:          "traffic-log",
	KumactlListArg:      "traffic-logs",
	AllowToInspect:      true,
	IsPolicy:            true,
	SingularDisplayName: "Traffic Log",
	PluralDisplayName:   "Traffic Logs",
	IsExperimental:      false,
}
View Source
var TrafficPermissionResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                TrafficPermissionType,
	Resource:            NewTrafficPermissionResource(),
	ResourceList:        &TrafficPermissionResourceList{},
	ReadOnly:            false,
	AdminOnly:           false,
	Scope:               model.ScopeMesh,
	KDSFlags:            model.FromGlobalToZone,
	WsPath:              "traffic-permissions",
	KumactlArg:          "traffic-permission",
	KumactlListArg:      "traffic-permissions",
	AllowToInspect:      true,
	IsPolicy:            true,
	SingularDisplayName: "Traffic Permission",
	PluralDisplayName:   "Traffic Permissions",
	IsExperimental:      false,
}
View Source
var TrafficRouteResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                TrafficRouteType,
	Resource:            NewTrafficRouteResource(),
	ResourceList:        &TrafficRouteResourceList{},
	ReadOnly:            false,
	AdminOnly:           false,
	Scope:               model.ScopeMesh,
	KDSFlags:            model.FromGlobalToZone,
	WsPath:              "traffic-routes",
	KumactlArg:          "traffic-route",
	KumactlListArg:      "traffic-routes",
	AllowToInspect:      true,
	IsPolicy:            true,
	SingularDisplayName: "Traffic Route",
	PluralDisplayName:   "Traffic Routes",
	IsExperimental:      false,
}
View Source
var TrafficTraceResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                TrafficTraceType,
	Resource:            NewTrafficTraceResource(),
	ResourceList:        &TrafficTraceResourceList{},
	ReadOnly:            false,
	AdminOnly:           false,
	Scope:               model.ScopeMesh,
	KDSFlags:            model.FromGlobalToZone,
	WsPath:              "traffic-traces",
	KumactlArg:          "traffic-trace",
	KumactlListArg:      "traffic-traces",
	AllowToInspect:      true,
	IsPolicy:            true,
	SingularDisplayName: "Traffic Trace",
	PluralDisplayName:   "Traffic Traces",
	IsExperimental:      false,
}
View Source
var VirtualOutboundResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                VirtualOutboundType,
	Resource:            NewVirtualOutboundResource(),
	ResourceList:        &VirtualOutboundResourceList{},
	ReadOnly:            false,
	AdminOnly:           false,
	Scope:               model.ScopeMesh,
	KDSFlags:            model.FromGlobalToZone,
	WsPath:              "virtual-outbounds",
	KumactlArg:          "virtual-outbound",
	KumactlListArg:      "virtual-outbounds",
	AllowToInspect:      false,
	IsPolicy:            true,
	SingularDisplayName: "Virtual Outbound",
	PluralDisplayName:   "Virtual Outbounds",
	IsExperimental:      false,
}
View Source
var ZoneEgressInsightResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                ZoneEgressInsightType,
	Resource:            NewZoneEgressInsightResource(),
	ResourceList:        &ZoneEgressInsightResourceList{},
	ReadOnly:            true,
	AdminOnly:           false,
	Scope:               model.ScopeGlobal,
	KDSFlags:            model.FromZoneToGlobal,
	WsPath:              "zoneegressinsights",
	KumactlArg:          "",
	KumactlListArg:      "",
	AllowToInspect:      false,
	IsPolicy:            false,
	SingularDisplayName: "Zone Egress Insight",
	PluralDisplayName:   "Zone Egress Insights",
	IsExperimental:      false,
}
View Source
var ZoneEgressOverviewResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                ZoneEgressOverviewType,
	Resource:            NewZoneEgressOverviewResource(),
	ResourceList:        &ZoneEgressOverviewResourceList{},
	ReadOnly:            false,
	AdminOnly:           false,
	Scope:               model.ScopeGlobal,
	WsPath:              "",
	KumactlArg:          "",
	KumactlListArg:      "",
	AllowToInspect:      false,
	IsPolicy:            false,
	SingularDisplayName: "Zone Egress Overview",
	PluralDisplayName:   "Zone Egress Overviews",
	IsExperimental:      false,
}
View Source
var ZoneEgressResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                ZoneEgressType,
	Resource:            NewZoneEgressResource(),
	ResourceList:        &ZoneEgressResourceList{},
	ReadOnly:            false,
	AdminOnly:           false,
	Scope:               model.ScopeGlobal,
	KDSFlags:            model.FromZoneToGlobal,
	WsPath:              "zoneegresses",
	KumactlArg:          "zoneegress",
	KumactlListArg:      "zoneegresses",
	AllowToInspect:      false,
	IsPolicy:            false,
	SingularDisplayName: "Zone Egress",
	PluralDisplayName:   "Zone Egresses",
	IsExperimental:      false,
}
View Source
var ZoneIngressInsightResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                ZoneIngressInsightType,
	Resource:            NewZoneIngressInsightResource(),
	ResourceList:        &ZoneIngressInsightResourceList{},
	ReadOnly:            true,
	AdminOnly:           false,
	Scope:               model.ScopeGlobal,
	KDSFlags:            model.FromZoneToGlobal,
	WsPath:              "zone-ingress-insights",
	KumactlArg:          "",
	KumactlListArg:      "",
	AllowToInspect:      false,
	IsPolicy:            false,
	SingularDisplayName: "Zone Ingress Insight",
	PluralDisplayName:   "Zone Ingress Insights",
	IsExperimental:      false,
}
View Source
var ZoneIngressOverviewResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                ZoneIngressOverviewType,
	Resource:            NewZoneIngressOverviewResource(),
	ResourceList:        &ZoneIngressOverviewResourceList{},
	ReadOnly:            false,
	AdminOnly:           false,
	Scope:               model.ScopeGlobal,
	WsPath:              "",
	KumactlArg:          "",
	KumactlListArg:      "",
	AllowToInspect:      false,
	IsPolicy:            false,
	SingularDisplayName: "Zone Ingress Overview",
	PluralDisplayName:   "Zone Ingress Overviews",
	IsExperimental:      false,
}
View Source
var ZoneIngressResourceTypeDescriptor = model.ResourceTypeDescriptor{
	Name:                ZoneIngressType,
	Resource:            NewZoneIngressResource(),
	ResourceList:        &ZoneIngressResourceList{},
	ReadOnly:            false,
	AdminOnly:           false,
	Scope:               model.ScopeGlobal,
	KDSFlags:            model.FromZoneToGlobal | model.FromGlobalToZone,
	WsPath:              "zone-ingresses",
	KumactlArg:          "zone-ingress",
	KumactlListArg:      "zone-ingresses",
	AllowToInspect:      false,
	IsPolicy:            false,
	SingularDisplayName: "Zone Ingress",
	PluralDisplayName:   "Zone Ingresses",
	IsExperimental:      false,
}

Functions

func AllowedValuesHint

func AllowedValuesHint(values ...string) string

func Keys

func Keys(tags map[string]string) []string

func ParseDuration

func ParseDuration(durationStr string) (time.Duration, error)

ParseDuration parses a string into a time.Duration

func ValidateAnyResourceYAML

func ValidateAnyResourceYAML(resYAML string, msgs ...proto.Message) error

Resource is considered valid if it pass validation of any message

func ValidateAnyResourceYAMLPatch

func ValidateAnyResourceYAMLPatch(resYAML string, msgs ...proto.Message) error

Resource is considered valid if it pass validation of any message

func ValidateDuration

func ValidateDuration(path validators.PathBuilder, duration *durationpb.Duration) (errs validators.ValidationError)

func ValidateHostname added in v1.8.1

func ValidateHostname(path validators.PathBuilder, hostname string) validators.ValidationError

ValidateHostname validates a gateway hostname field. A hostname may be one of

  • '*'
  • '*.domain.name'
  • 'domain.name'

func ValidateMesh

func ValidateMesh(mesh string, scope model.ResourceScope) validators.ValidationError

func ValidateMeta

func ValidateMeta(name, mesh string, scope model.ResourceScope) validators.ValidationError

func ValidatePort added in v1.8.1

func ValidatePort(path validators.PathBuilder, port uint32) validators.ValidationError

ValidatePort validates that port is a valid TCP or UDP port number.

func ValidateResourceYAML

func ValidateResourceYAML(msg proto.Message, resYAML string) error

func ValidateResourceYAMLPatch

func ValidateResourceYAMLPatch(msg proto.Message, resYAML string) error

func ValidateSelector

func ValidateSelector(path validators.PathBuilder, tags map[string]string, opts ValidateTagsOpts) (err validators.ValidationError)

func ValidateTags added in v1.8.1

func ValidateTags(path validators.PathBuilder, tags map[string]string, opts ValidateTagsOpts) (err validators.ValidationError)

func ValidateThreshold

func ValidateThreshold(path validators.PathBuilder, threshold uint32) (err validators.ValidationError)

Types

type CircuitBreakerResource

type CircuitBreakerResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.CircuitBreaker
}

func NewCircuitBreakerResource

func NewCircuitBreakerResource() *CircuitBreakerResource

func (*CircuitBreakerResource) Descriptor added in v1.8.1

func (*CircuitBreakerResource) Destinations

func (t *CircuitBreakerResource) Destinations() []*mesh_proto.Selector

func (*CircuitBreakerResource) GetMeta

func (*CircuitBreakerResource) GetSpec

func (*CircuitBreakerResource) HasDetectors

func (c *CircuitBreakerResource) HasDetectors() bool

func (*CircuitBreakerResource) HasThresholds

func (c *CircuitBreakerResource) HasThresholds() bool

func (*CircuitBreakerResource) SetMeta

func (*CircuitBreakerResource) SetSpec

func (*CircuitBreakerResource) Sources

func (t *CircuitBreakerResource) Sources() []*mesh_proto.Selector

func (*CircuitBreakerResource) Validate

func (c *CircuitBreakerResource) Validate() error

type CircuitBreakerResourceList

type CircuitBreakerResourceList struct {
	Items      []*CircuitBreakerResource
	Pagination model.Pagination
}

func (*CircuitBreakerResourceList) AddItem

func (*CircuitBreakerResourceList) GetItemType

func (*CircuitBreakerResourceList) GetItems

func (l *CircuitBreakerResourceList) GetItems() []model.Resource

func (*CircuitBreakerResourceList) GetPagination

func (l *CircuitBreakerResourceList) GetPagination() *model.Pagination

func (*CircuitBreakerResourceList) NewItem

type DataplaneInsightResource

type DataplaneInsightResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.DataplaneInsight
}

func NewDataplaneInsightResource

func NewDataplaneInsightResource() *DataplaneInsightResource

func (*DataplaneInsightResource) Descriptor added in v1.8.1

func (*DataplaneInsightResource) GetMeta

func (*DataplaneInsightResource) GetSpec

func (*DataplaneInsightResource) SetMeta

func (*DataplaneInsightResource) SetSpec

type DataplaneInsightResourceList

type DataplaneInsightResourceList struct {
	Items      []*DataplaneInsightResource
	Pagination model.Pagination
}

func (*DataplaneInsightResourceList) AddItem

func (*DataplaneInsightResourceList) GetItemType

func (*DataplaneInsightResourceList) GetItems

func (*DataplaneInsightResourceList) GetPagination

func (l *DataplaneInsightResourceList) GetPagination() *model.Pagination

func (*DataplaneInsightResourceList) NewItem

type DataplaneOverviewResource

type DataplaneOverviewResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.DataplaneOverview
}

func NewDataplaneOverviewResource

func NewDataplaneOverviewResource() *DataplaneOverviewResource

func (*DataplaneOverviewResource) Descriptor added in v1.8.1

func (*DataplaneOverviewResource) GetMeta

func (*DataplaneOverviewResource) GetSpec

func (*DataplaneOverviewResource) GetStatus

func (t *DataplaneOverviewResource) GetStatus() (Status, []string)

func (*DataplaneOverviewResource) SetMeta

func (*DataplaneOverviewResource) SetSpec

type DataplaneOverviewResourceList

type DataplaneOverviewResourceList struct {
	Items      []*DataplaneOverviewResource
	Pagination model.Pagination
}

func (*DataplaneOverviewResourceList) AddItem

func (*DataplaneOverviewResourceList) GetItemType

func (*DataplaneOverviewResourceList) GetItems

func (*DataplaneOverviewResourceList) GetPagination

func (l *DataplaneOverviewResourceList) GetPagination() *model.Pagination

func (*DataplaneOverviewResourceList) NewItem

type DataplaneResource

type DataplaneResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.Dataplane
}

func NewDataplaneResource

func NewDataplaneResource() *DataplaneResource

func (*DataplaneResource) AdminAddress added in v1.8.1

func (d *DataplaneResource) AdminAddress(defaultAdminPort uint32) string

func (*DataplaneResource) AdminPort added in v1.8.1

func (d *DataplaneResource) AdminPort(defaultAdminPort uint32) uint32

func (*DataplaneResource) Descriptor added in v1.8.1

func (*DataplaneResource) GetIP

func (d *DataplaneResource) GetIP() string

func (*DataplaneResource) GetMeta

func (t *DataplaneResource) GetMeta() model.ResourceMeta

func (*DataplaneResource) GetPrometheusConfig added in v1.8.1

func (*DataplaneResource) GetSpec

func (t *DataplaneResource) GetSpec() model.ResourceSpec

func (*DataplaneResource) IsIPv6

func (d *DataplaneResource) IsIPv6() bool

func (*DataplaneResource) IsUsingTransparentProxy added in v1.8.1

func (d *DataplaneResource) IsUsingTransparentProxy() bool

func (*DataplaneResource) SetMeta

func (t *DataplaneResource) SetMeta(m model.ResourceMeta)

func (*DataplaneResource) SetSpec

func (t *DataplaneResource) SetSpec(spec model.ResourceSpec) error

func (*DataplaneResource) UsesInboundInterface

func (d *DataplaneResource) UsesInboundInterface(address net.IP, port uint32) bool

func (*DataplaneResource) UsesInterface

func (d *DataplaneResource) UsesInterface(address net.IP, port uint32) bool

func (*DataplaneResource) UsesOutboundInterface

func (d *DataplaneResource) UsesOutboundInterface(address net.IP, port uint32) bool

func (*DataplaneResource) Validate

func (d *DataplaneResource) Validate() error

type DataplaneResourceList

type DataplaneResourceList struct {
	Items      []*DataplaneResource
	Pagination model.Pagination
}

func (*DataplaneResourceList) AddItem

func (l *DataplaneResourceList) AddItem(r model.Resource) error

func (*DataplaneResourceList) GetItemType

func (l *DataplaneResourceList) GetItemType() model.ResourceType

func (*DataplaneResourceList) GetItems

func (l *DataplaneResourceList) GetItems() []model.Resource

func (*DataplaneResourceList) GetPagination

func (l *DataplaneResourceList) GetPagination() *model.Pagination

func (*DataplaneResourceList) NewItem

func (l *DataplaneResourceList) NewItem() model.Resource

type ExternalServiceResource

type ExternalServiceResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.ExternalService
}

func NewExternalServiceResource

func NewExternalServiceResource() *ExternalServiceResource

func (*ExternalServiceResource) Descriptor added in v1.8.1

func (*ExternalServiceResource) GetMeta

func (*ExternalServiceResource) GetSpec

func (*ExternalServiceResource) IsReachableFromZone added in v1.8.1

func (es *ExternalServiceResource) IsReachableFromZone(zone string) bool

func (*ExternalServiceResource) SetMeta

func (*ExternalServiceResource) SetSpec

func (*ExternalServiceResource) Validate

func (es *ExternalServiceResource) Validate() error

type ExternalServiceResourceList

type ExternalServiceResourceList struct {
	Items      []*ExternalServiceResource
	Pagination model.Pagination
}

func (*ExternalServiceResourceList) AddItem

func (*ExternalServiceResourceList) GetItemType

func (*ExternalServiceResourceList) GetItems

func (l *ExternalServiceResourceList) GetItems() []model.Resource

func (*ExternalServiceResourceList) GetPagination

func (l *ExternalServiceResourceList) GetPagination() *model.Pagination

func (*ExternalServiceResourceList) NewItem

type FaultInjectionResource

type FaultInjectionResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.FaultInjection
}

func NewFaultInjectionResource

func NewFaultInjectionResource() *FaultInjectionResource

func (*FaultInjectionResource) Descriptor added in v1.8.1

func (*FaultInjectionResource) Destinations

func (t *FaultInjectionResource) Destinations() []*mesh_proto.Selector

func (*FaultInjectionResource) GetMeta

func (*FaultInjectionResource) GetSpec

func (*FaultInjectionResource) HasFaultAbort

func (f *FaultInjectionResource) HasFaultAbort() bool

func (*FaultInjectionResource) HasFaultDelay

func (f *FaultInjectionResource) HasFaultDelay() bool

func (*FaultInjectionResource) HasFaultResponseBandwidth

func (f *FaultInjectionResource) HasFaultResponseBandwidth() bool

func (*FaultInjectionResource) SetMeta

func (*FaultInjectionResource) SetSpec

func (*FaultInjectionResource) Sources

func (t *FaultInjectionResource) Sources() []*mesh_proto.Selector

func (*FaultInjectionResource) Validate

func (f *FaultInjectionResource) Validate() error

type FaultInjectionResourceList

type FaultInjectionResourceList struct {
	Items      []*FaultInjectionResource
	Pagination model.Pagination
}

func (*FaultInjectionResourceList) AddItem

func (*FaultInjectionResourceList) GetItemType

func (*FaultInjectionResourceList) GetItems

func (l *FaultInjectionResourceList) GetItems() []model.Resource

func (*FaultInjectionResourceList) GetPagination

func (l *FaultInjectionResourceList) GetPagination() *model.Pagination

func (*FaultInjectionResourceList) NewItem

type HealthCheckResource

type HealthCheckResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.HealthCheck
}

func NewHealthCheckResource

func NewHealthCheckResource() *HealthCheckResource

func (*HealthCheckResource) Descriptor added in v1.8.1

func (*HealthCheckResource) Destinations

func (t *HealthCheckResource) Destinations() []*mesh_proto.Selector

func (*HealthCheckResource) GetMeta

func (t *HealthCheckResource) GetMeta() model.ResourceMeta

func (*HealthCheckResource) GetSpec

func (t *HealthCheckResource) GetSpec() model.ResourceSpec

func (*HealthCheckResource) SetMeta

func (t *HealthCheckResource) SetMeta(m model.ResourceMeta)

func (*HealthCheckResource) SetSpec

func (t *HealthCheckResource) SetSpec(spec model.ResourceSpec) error

func (*HealthCheckResource) Sources

func (t *HealthCheckResource) Sources() []*mesh_proto.Selector

func (*HealthCheckResource) Validate

func (d *HealthCheckResource) Validate() error

type HealthCheckResourceList

type HealthCheckResourceList struct {
	Items      []*HealthCheckResource
	Pagination model.Pagination
}

func (*HealthCheckResourceList) AddItem

func (*HealthCheckResourceList) GetItemType

func (l *HealthCheckResourceList) GetItemType() model.ResourceType

func (*HealthCheckResourceList) GetItems

func (l *HealthCheckResourceList) GetItems() []model.Resource

func (*HealthCheckResourceList) GetPagination

func (l *HealthCheckResourceList) GetPagination() *model.Pagination

func (*HealthCheckResourceList) NewItem

func (l *HealthCheckResourceList) NewItem() model.Resource

type MeshGatewayResource added in v1.8.1

type MeshGatewayResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.MeshGateway
}

func NewMeshGatewayResource added in v1.8.1

func NewMeshGatewayResource() *MeshGatewayResource

func (*MeshGatewayResource) Descriptor added in v1.8.1

func (*MeshGatewayResource) GetMeta added in v1.8.1

func (t *MeshGatewayResource) GetMeta() model.ResourceMeta

func (*MeshGatewayResource) GetSpec added in v1.8.1

func (t *MeshGatewayResource) GetSpec() model.ResourceSpec

func (*MeshGatewayResource) Selectors added in v1.8.1

func (t *MeshGatewayResource) Selectors() []*mesh_proto.Selector

func (*MeshGatewayResource) SetMeta added in v1.8.1

func (t *MeshGatewayResource) SetMeta(m model.ResourceMeta)

func (*MeshGatewayResource) SetSpec added in v1.8.1

func (t *MeshGatewayResource) SetSpec(spec model.ResourceSpec) error

func (*MeshGatewayResource) Validate added in v1.8.1

func (g *MeshGatewayResource) Validate() error

Validate checks MeshGatewayResource semantic constraints.

type MeshGatewayResourceList added in v1.8.1

type MeshGatewayResourceList struct {
	Items      []*MeshGatewayResource
	Pagination model.Pagination
}

func (*MeshGatewayResourceList) AddItem added in v1.8.1

func (*MeshGatewayResourceList) GetItemType added in v1.8.1

func (l *MeshGatewayResourceList) GetItemType() model.ResourceType

func (*MeshGatewayResourceList) GetItems added in v1.8.1

func (l *MeshGatewayResourceList) GetItems() []model.Resource

func (*MeshGatewayResourceList) GetPagination added in v1.8.1

func (l *MeshGatewayResourceList) GetPagination() *model.Pagination

func (*MeshGatewayResourceList) NewItem added in v1.8.1

func (l *MeshGatewayResourceList) NewItem() model.Resource

type MeshGatewayRouteResource added in v1.8.1

type MeshGatewayRouteResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.MeshGatewayRoute
}

func NewMeshGatewayRouteResource added in v1.8.1

func NewMeshGatewayRouteResource() *MeshGatewayRouteResource

func (*MeshGatewayRouteResource) Descriptor added in v1.8.1

func (*MeshGatewayRouteResource) GetMeta added in v1.8.1

func (*MeshGatewayRouteResource) GetSpec added in v1.8.1

func (*MeshGatewayRouteResource) Selectors added in v1.8.1

func (t *MeshGatewayRouteResource) Selectors() []*mesh_proto.Selector

func (*MeshGatewayRouteResource) SetMeta added in v1.8.1

func (*MeshGatewayRouteResource) SetSpec added in v1.8.1

func (*MeshGatewayRouteResource) Validate added in v1.8.1

func (g *MeshGatewayRouteResource) Validate() error

Validate checks MeshGatewayRouteResource semantic constraints.

type MeshGatewayRouteResourceList added in v1.8.1

type MeshGatewayRouteResourceList struct {
	Items      []*MeshGatewayRouteResource
	Pagination model.Pagination
}

func (*MeshGatewayRouteResourceList) AddItem added in v1.8.1

func (*MeshGatewayRouteResourceList) GetItemType added in v1.8.1

func (*MeshGatewayRouteResourceList) GetItems added in v1.8.1

func (*MeshGatewayRouteResourceList) GetPagination added in v1.8.1

func (l *MeshGatewayRouteResourceList) GetPagination() *model.Pagination

func (*MeshGatewayRouteResourceList) NewItem added in v1.8.1

type MeshInsightResource

type MeshInsightResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.MeshInsight
}

func NewMeshInsightResource

func NewMeshInsightResource() *MeshInsightResource

func (*MeshInsightResource) Descriptor added in v1.8.1

func (*MeshInsightResource) GetMeta

func (t *MeshInsightResource) GetMeta() model.ResourceMeta

func (*MeshInsightResource) GetSpec

func (t *MeshInsightResource) GetSpec() model.ResourceSpec

func (*MeshInsightResource) SetMeta

func (t *MeshInsightResource) SetMeta(m model.ResourceMeta)

func (*MeshInsightResource) SetSpec

func (t *MeshInsightResource) SetSpec(spec model.ResourceSpec) error

type MeshInsightResourceList

type MeshInsightResourceList struct {
	Items      []*MeshInsightResource
	Pagination model.Pagination
}

func (*MeshInsightResourceList) AddItem

func (*MeshInsightResourceList) GetItemType

func (l *MeshInsightResourceList) GetItemType() model.ResourceType

func (*MeshInsightResourceList) GetItems

func (l *MeshInsightResourceList) GetItems() []model.Resource

func (*MeshInsightResourceList) GetPagination

func (l *MeshInsightResourceList) GetPagination() *model.Pagination

func (*MeshInsightResourceList) NewItem

func (l *MeshInsightResourceList) NewItem() model.Resource

type MeshResource

type MeshResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.Mesh
}

func NewMeshResource

func NewMeshResource() *MeshResource

func (*MeshResource) Default

func (mesh *MeshResource) Default() error

func (*MeshResource) Descriptor added in v1.8.1

func (t *MeshResource) Descriptor() model.ResourceTypeDescriptor

func (*MeshResource) GetCertificateAuthorityBackend

func (m *MeshResource) GetCertificateAuthorityBackend(name string) *mesh_proto.CertificateAuthorityBackend

func (*MeshResource) GetEnabledCertificateAuthorityBackend

func (m *MeshResource) GetEnabledCertificateAuthorityBackend() *mesh_proto.CertificateAuthorityBackend

func (*MeshResource) GetEnabledMetricsBackend

func (m *MeshResource) GetEnabledMetricsBackend() *mesh_proto.MetricsBackend

func (*MeshResource) GetLoggingBackend added in v1.8.1

func (m *MeshResource) GetLoggingBackend(name string) *mesh_proto.LoggingBackend

func (*MeshResource) GetLoggingBackends

func (m *MeshResource) GetLoggingBackends() string

GetLoggingBackends will return logging backends as comma separated strings if empty return empty string

func (*MeshResource) GetMeta

func (t *MeshResource) GetMeta() model.ResourceMeta

func (*MeshResource) GetMetricsBackend

func (m *MeshResource) GetMetricsBackend(name string) *mesh_proto.MetricsBackend

func (*MeshResource) GetSpec

func (t *MeshResource) GetSpec() model.ResourceSpec

func (*MeshResource) GetTracingBackend

func (m *MeshResource) GetTracingBackend(name string) *mesh_proto.TracingBackend

func (*MeshResource) GetTracingBackends

func (m *MeshResource) GetTracingBackends() string

GetTracingBackends will return tracing backends as comma separated strings if empty return empty string

func (*MeshResource) HasPrometheusMetricsEnabled

func (m *MeshResource) HasPrometheusMetricsEnabled() bool

func (*MeshResource) LocalityAwareLbEnabled added in v1.8.1

func (m *MeshResource) LocalityAwareLbEnabled() bool

func (*MeshResource) MTLSEnabled

func (m *MeshResource) MTLSEnabled() bool

func (*MeshResource) SetMeta

func (t *MeshResource) SetMeta(m model.ResourceMeta)

func (*MeshResource) SetSpec

func (t *MeshResource) SetSpec(spec model.ResourceSpec) error

func (*MeshResource) Validate

func (m *MeshResource) Validate() error

func (*MeshResource) ZoneEgressEnabled added in v1.8.1

func (m *MeshResource) ZoneEgressEnabled() bool

ZoneEgress works only when mTLS is enabled. Configuration of mTLS is validated on Mesh configuration change and when zoneEgress is enabled.

type MeshResourceList

type MeshResourceList struct {
	Items      []*MeshResource
	Pagination model.Pagination
}

func (*MeshResourceList) AddItem

func (l *MeshResourceList) AddItem(r model.Resource) error

func (*MeshResourceList) GetItemType

func (l *MeshResourceList) GetItemType() model.ResourceType

func (*MeshResourceList) GetItems

func (l *MeshResourceList) GetItems() []model.Resource

func (*MeshResourceList) GetPagination

func (l *MeshResourceList) GetPagination() *model.Pagination

func (*MeshResourceList) NewItem

func (l *MeshResourceList) NewItem() model.Resource

type Protocol

type Protocol string

Protocol identifies a protocol supported by a service.

func ParseProtocol

func ParseProtocol(tag string) Protocol

type ProtocolList

type ProtocolList []Protocol

ProtocolList represents a list of Protocols.

func (ProtocolList) Strings

func (l ProtocolList) Strings() []string

type ProxyTemplateResource

type ProxyTemplateResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.ProxyTemplate
}

func NewProxyTemplateResource

func NewProxyTemplateResource() *ProxyTemplateResource

func (*ProxyTemplateResource) Descriptor added in v1.8.1

func (*ProxyTemplateResource) GetMeta

func (*ProxyTemplateResource) GetSpec

func (*ProxyTemplateResource) Selectors

func (t *ProxyTemplateResource) Selectors() []*mesh_proto.Selector

func (*ProxyTemplateResource) SetMeta

func (*ProxyTemplateResource) SetSpec

func (t *ProxyTemplateResource) SetSpec(spec model.ResourceSpec) error

func (*ProxyTemplateResource) Validate

func (t *ProxyTemplateResource) Validate() error

func (*ProxyTemplateResource) ValidateWithProfiles added in v1.8.1

func (t *ProxyTemplateResource) ValidateWithProfiles(profiles map[string]struct{}) error

type ProxyTemplateResourceList

type ProxyTemplateResourceList struct {
	Items      []*ProxyTemplateResource
	Pagination model.Pagination
}

func (*ProxyTemplateResourceList) AddItem

func (*ProxyTemplateResourceList) GetItemType

func (l *ProxyTemplateResourceList) GetItemType() model.ResourceType

func (*ProxyTemplateResourceList) GetItems

func (l *ProxyTemplateResourceList) GetItems() []model.Resource

func (*ProxyTemplateResourceList) GetPagination

func (l *ProxyTemplateResourceList) GetPagination() *model.Pagination

func (*ProxyTemplateResourceList) NewItem

type RateLimitResource

type RateLimitResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.RateLimit
}

func NewRateLimitResource

func NewRateLimitResource() *RateLimitResource

func (*RateLimitResource) Descriptor added in v1.8.1

func (*RateLimitResource) Destinations

func (t *RateLimitResource) Destinations() []*mesh_proto.Selector

func (*RateLimitResource) GetMeta

func (t *RateLimitResource) GetMeta() model.ResourceMeta

func (*RateLimitResource) GetSpec

func (t *RateLimitResource) GetSpec() model.ResourceSpec

func (*RateLimitResource) SetMeta

func (t *RateLimitResource) SetMeta(m model.ResourceMeta)

func (*RateLimitResource) SetSpec

func (t *RateLimitResource) SetSpec(spec model.ResourceSpec) error

func (*RateLimitResource) Sources

func (t *RateLimitResource) Sources() []*mesh_proto.Selector

func (*RateLimitResource) Validate

func (d *RateLimitResource) Validate() error

type RateLimitResourceList

type RateLimitResourceList struct {
	Items      []*RateLimitResource
	Pagination model.Pagination
}

func (*RateLimitResourceList) AddItem

func (l *RateLimitResourceList) AddItem(r model.Resource) error

func (*RateLimitResourceList) GetItemType

func (l *RateLimitResourceList) GetItemType() model.ResourceType

func (*RateLimitResourceList) GetItems

func (l *RateLimitResourceList) GetItems() []model.Resource

func (*RateLimitResourceList) GetPagination

func (l *RateLimitResourceList) GetPagination() *model.Pagination

func (*RateLimitResourceList) NewItem

func (l *RateLimitResourceList) NewItem() model.Resource

type RetryResource

type RetryResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.Retry
}

func NewRetryResource

func NewRetryResource() *RetryResource

func (*RetryResource) Descriptor added in v1.8.1

func (t *RetryResource) Descriptor() model.ResourceTypeDescriptor

func (*RetryResource) Destinations

func (t *RetryResource) Destinations() []*mesh_proto.Selector

func (*RetryResource) GetMeta

func (t *RetryResource) GetMeta() model.ResourceMeta

func (*RetryResource) GetSpec

func (t *RetryResource) GetSpec() model.ResourceSpec

func (*RetryResource) SetMeta

func (t *RetryResource) SetMeta(m model.ResourceMeta)

func (*RetryResource) SetSpec

func (t *RetryResource) SetSpec(spec model.ResourceSpec) error

func (*RetryResource) Sources

func (t *RetryResource) Sources() []*mesh_proto.Selector

func (*RetryResource) Validate

func (r *RetryResource) Validate() error

type RetryResourceList

type RetryResourceList struct {
	Items      []*RetryResource
	Pagination model.Pagination
}

func (*RetryResourceList) AddItem

func (l *RetryResourceList) AddItem(r model.Resource) error

func (*RetryResourceList) GetItemType

func (l *RetryResourceList) GetItemType() model.ResourceType

func (*RetryResourceList) GetItems

func (l *RetryResourceList) GetItems() []model.Resource

func (*RetryResourceList) GetPagination

func (l *RetryResourceList) GetPagination() *model.Pagination

func (*RetryResourceList) NewItem

func (l *RetryResourceList) NewItem() model.Resource

type ServiceInsightResource

type ServiceInsightResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.ServiceInsight
}

func NewServiceInsightResource

func NewServiceInsightResource() *ServiceInsightResource

func (*ServiceInsightResource) Descriptor added in v1.8.1

func (*ServiceInsightResource) GetMeta

func (*ServiceInsightResource) GetSpec

func (*ServiceInsightResource) SetMeta

func (*ServiceInsightResource) SetSpec

type ServiceInsightResourceList

type ServiceInsightResourceList struct {
	Items      []*ServiceInsightResource
	Pagination model.Pagination
}

func (*ServiceInsightResourceList) AddItem

func (*ServiceInsightResourceList) GetItemType

func (*ServiceInsightResourceList) GetItems

func (l *ServiceInsightResourceList) GetItems() []model.Resource

func (*ServiceInsightResourceList) GetPagination

func (l *ServiceInsightResourceList) GetPagination() *model.Pagination

func (*ServiceInsightResourceList) NewItem

type ServiceOverviewResource

type ServiceOverviewResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.ServiceInsight_Service
}

func NewServiceOverviewResource

func NewServiceOverviewResource() *ServiceOverviewResource

func (*ServiceOverviewResource) Descriptor added in v1.8.1

func (*ServiceOverviewResource) GetMeta

func (*ServiceOverviewResource) GetSpec

func (*ServiceOverviewResource) GetStatus

func (t *ServiceOverviewResource) GetStatus() Status

func (*ServiceOverviewResource) SetMeta

func (*ServiceOverviewResource) SetSpec

type ServiceOverviewResourceList

type ServiceOverviewResourceList struct {
	Items      []*ServiceOverviewResource
	Pagination model.Pagination
}

func (*ServiceOverviewResourceList) AddItem

func (*ServiceOverviewResourceList) GetItemType

func (*ServiceOverviewResourceList) GetItems

func (l *ServiceOverviewResourceList) GetItems() []model.Resource

func (*ServiceOverviewResourceList) GetPagination

func (l *ServiceOverviewResourceList) GetPagination() *model.Pagination

func (*ServiceOverviewResourceList) NewItem

type Status

type Status string

func (Status) String

func (s Status) String() string

type TagKeyValidatorFunc

type TagKeyValidatorFunc func(path validators.PathBuilder, key string) validators.ValidationError

func SelectorKeyNotInSet added in v1.8.1

func SelectorKeyNotInSet(keyName ...string) TagKeyValidatorFunc

SelectorKeyNotInSet returns a TagKeyValidatorFunc that checks the tag key is not any one of the given names.

type TagValueValidatorFunc

type TagValueValidatorFunc func(path validators.PathBuilder, key, value string) validators.ValidationError

type TagsValidatorFunc added in v1.8.1

type TagsValidatorFunc func(path validators.PathBuilder, selector map[string]string) validators.ValidationError

func ProtocolValidator

func ProtocolValidator(protocols ...string) TagsValidatorFunc

type TimeoutResource

type TimeoutResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.Timeout
}

func NewTimeoutResource

func NewTimeoutResource() *TimeoutResource

func (*TimeoutResource) Descriptor added in v1.8.1

func (*TimeoutResource) Destinations

func (t *TimeoutResource) Destinations() []*mesh_proto.Selector

func (*TimeoutResource) GetMeta

func (t *TimeoutResource) GetMeta() model.ResourceMeta

func (*TimeoutResource) GetSpec

func (t *TimeoutResource) GetSpec() model.ResourceSpec

func (*TimeoutResource) SetMeta

func (t *TimeoutResource) SetMeta(m model.ResourceMeta)

func (*TimeoutResource) SetSpec

func (t *TimeoutResource) SetSpec(spec model.ResourceSpec) error

func (*TimeoutResource) Sources

func (t *TimeoutResource) Sources() []*mesh_proto.Selector

func (*TimeoutResource) Validate

func (t *TimeoutResource) Validate() error

type TimeoutResourceList

type TimeoutResourceList struct {
	Items      []*TimeoutResource
	Pagination model.Pagination
}

func (*TimeoutResourceList) AddItem

func (l *TimeoutResourceList) AddItem(r model.Resource) error

func (*TimeoutResourceList) GetItemType

func (l *TimeoutResourceList) GetItemType() model.ResourceType

func (*TimeoutResourceList) GetItems

func (l *TimeoutResourceList) GetItems() []model.Resource

func (*TimeoutResourceList) GetPagination

func (l *TimeoutResourceList) GetPagination() *model.Pagination

func (*TimeoutResourceList) NewItem

func (l *TimeoutResourceList) NewItem() model.Resource

type TrafficLogResource

type TrafficLogResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.TrafficLog
}

func NewTrafficLogResource

func NewTrafficLogResource() *TrafficLogResource

func (*TrafficLogResource) Descriptor added in v1.8.1

func (*TrafficLogResource) Destinations

func (t *TrafficLogResource) Destinations() []*mesh_proto.Selector

func (*TrafficLogResource) GetMeta

func (t *TrafficLogResource) GetMeta() model.ResourceMeta

func (*TrafficLogResource) GetSpec

func (t *TrafficLogResource) GetSpec() model.ResourceSpec

func (*TrafficLogResource) SetMeta

func (t *TrafficLogResource) SetMeta(m model.ResourceMeta)

func (*TrafficLogResource) SetSpec

func (t *TrafficLogResource) SetSpec(spec model.ResourceSpec) error

func (*TrafficLogResource) Sources

func (t *TrafficLogResource) Sources() []*mesh_proto.Selector

func (*TrafficLogResource) Validate

func (d *TrafficLogResource) Validate() error

type TrafficLogResourceList

type TrafficLogResourceList struct {
	Items      []*TrafficLogResource
	Pagination model.Pagination
}

func (*TrafficLogResourceList) AddItem

func (*TrafficLogResourceList) GetItemType

func (l *TrafficLogResourceList) GetItemType() model.ResourceType

func (*TrafficLogResourceList) GetItems

func (l *TrafficLogResourceList) GetItems() []model.Resource

func (*TrafficLogResourceList) GetPagination

func (l *TrafficLogResourceList) GetPagination() *model.Pagination

func (*TrafficLogResourceList) NewItem

func (l *TrafficLogResourceList) NewItem() model.Resource

type TrafficPermissionResource

type TrafficPermissionResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.TrafficPermission
}

func NewTrafficPermissionResource

func NewTrafficPermissionResource() *TrafficPermissionResource

func (*TrafficPermissionResource) Descriptor added in v1.8.1

func (*TrafficPermissionResource) Destinations

func (t *TrafficPermissionResource) Destinations() []*mesh_proto.Selector

func (*TrafficPermissionResource) GetMeta

func (*TrafficPermissionResource) GetSpec

func (*TrafficPermissionResource) SetMeta

func (*TrafficPermissionResource) SetSpec

func (*TrafficPermissionResource) Sources

func (*TrafficPermissionResource) Validate

func (d *TrafficPermissionResource) Validate() error

type TrafficPermissionResourceList

type TrafficPermissionResourceList struct {
	Items      []*TrafficPermissionResource
	Pagination model.Pagination
}

func (*TrafficPermissionResourceList) AddItem

func (*TrafficPermissionResourceList) GetItemType

func (*TrafficPermissionResourceList) GetItems

func (*TrafficPermissionResourceList) GetPagination

func (l *TrafficPermissionResourceList) GetPagination() *model.Pagination

func (*TrafficPermissionResourceList) NewItem

type TrafficRouteResource

type TrafficRouteResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.TrafficRoute
}

func NewTrafficRouteResource

func NewTrafficRouteResource() *TrafficRouteResource

func (*TrafficRouteResource) Descriptor added in v1.8.1

func (*TrafficRouteResource) Destinations

func (t *TrafficRouteResource) Destinations() []*mesh_proto.Selector

func (*TrafficRouteResource) GetMeta

func (*TrafficRouteResource) GetSpec

func (*TrafficRouteResource) SetMeta

func (t *TrafficRouteResource) SetMeta(m model.ResourceMeta)

func (*TrafficRouteResource) SetSpec

func (t *TrafficRouteResource) SetSpec(spec model.ResourceSpec) error

func (*TrafficRouteResource) Sources

func (t *TrafficRouteResource) Sources() []*mesh_proto.Selector

func (*TrafficRouteResource) Validate

func (d *TrafficRouteResource) Validate() error

type TrafficRouteResourceList

type TrafficRouteResourceList struct {
	Items      []*TrafficRouteResource
	Pagination model.Pagination
}

func (*TrafficRouteResourceList) AddItem

func (*TrafficRouteResourceList) GetItemType

func (l *TrafficRouteResourceList) GetItemType() model.ResourceType

func (*TrafficRouteResourceList) GetItems

func (l *TrafficRouteResourceList) GetItems() []model.Resource

func (*TrafficRouteResourceList) GetPagination

func (l *TrafficRouteResourceList) GetPagination() *model.Pagination

func (*TrafficRouteResourceList) NewItem

type TrafficTraceResource

type TrafficTraceResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.TrafficTrace
}

func NewTrafficTraceResource

func NewTrafficTraceResource() *TrafficTraceResource

func (*TrafficTraceResource) Descriptor added in v1.8.1

func (*TrafficTraceResource) GetMeta

func (*TrafficTraceResource) GetSpec

func (*TrafficTraceResource) Selectors

func (t *TrafficTraceResource) Selectors() []*mesh_proto.Selector

func (*TrafficTraceResource) SetMeta

func (t *TrafficTraceResource) SetMeta(m model.ResourceMeta)

func (*TrafficTraceResource) SetSpec

func (t *TrafficTraceResource) SetSpec(spec model.ResourceSpec) error

func (*TrafficTraceResource) Validate

func (d *TrafficTraceResource) Validate() error

type TrafficTraceResourceList

type TrafficTraceResourceList struct {
	Items      []*TrafficTraceResource
	Pagination model.Pagination
}

func (*TrafficTraceResourceList) AddItem

func (*TrafficTraceResourceList) GetItemType

func (l *TrafficTraceResourceList) GetItemType() model.ResourceType

func (*TrafficTraceResourceList) GetItems

func (l *TrafficTraceResourceList) GetItems() []model.Resource

func (*TrafficTraceResourceList) GetPagination

func (l *TrafficTraceResourceList) GetPagination() *model.Pagination

func (*TrafficTraceResourceList) NewItem

type ValidateSelectorsOpts

type ValidateSelectorsOpts struct {
	ValidateTagsOpts
	RequireAtMostOneSelector  bool
	RequireAtLeastOneSelector bool
}

type ValidateTagsOpts added in v1.8.1

type ValidateTagsOpts struct {
	RequireAtLeastOneTag    bool
	RequireService          bool
	ExtraTagsValidators     []TagsValidatorFunc
	ExtraTagKeyValidators   []TagKeyValidatorFunc
	ExtraTagValueValidators []TagValueValidatorFunc
}

type VirtualOutboundResource added in v1.8.1

type VirtualOutboundResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.VirtualOutbound
}

func NewVirtualOutboundResource added in v1.8.1

func NewVirtualOutboundResource() *VirtualOutboundResource

func (*VirtualOutboundResource) Descriptor added in v1.8.1

func (*VirtualOutboundResource) EvalHost added in v1.8.1

func (t *VirtualOutboundResource) EvalHost(tags map[string]string) (string, error)

func (*VirtualOutboundResource) EvalPort added in v1.8.1

func (t *VirtualOutboundResource) EvalPort(tags map[string]string) (uint32, error)

func (*VirtualOutboundResource) FilterTags added in v1.8.1

func (t *VirtualOutboundResource) FilterTags(tags map[string]string) map[string]string

func (*VirtualOutboundResource) GetMeta added in v1.8.1

func (*VirtualOutboundResource) GetSpec added in v1.8.1

func (*VirtualOutboundResource) Selectors added in v1.8.1

func (t *VirtualOutboundResource) Selectors() []*mesh_proto.Selector

func (*VirtualOutboundResource) SetMeta added in v1.8.1

func (*VirtualOutboundResource) SetSpec added in v1.8.1

func (*VirtualOutboundResource) Validate added in v1.8.1

func (t *VirtualOutboundResource) Validate() error

func (*VirtualOutboundResource) ValidateConf added in v1.8.1

func (t *VirtualOutboundResource) ValidateConf() (err validators.ValidationError)

type VirtualOutboundResourceList added in v1.8.1

type VirtualOutboundResourceList struct {
	Items      []*VirtualOutboundResource
	Pagination model.Pagination
}

func (*VirtualOutboundResourceList) AddItem added in v1.8.1

func (*VirtualOutboundResourceList) GetItemType added in v1.8.1

func (*VirtualOutboundResourceList) GetItems added in v1.8.1

func (l *VirtualOutboundResourceList) GetItems() []model.Resource

func (*VirtualOutboundResourceList) GetPagination added in v1.8.1

func (l *VirtualOutboundResourceList) GetPagination() *model.Pagination

func (*VirtualOutboundResourceList) NewItem added in v1.8.1

type ZoneEgressInsightResource added in v1.8.1

type ZoneEgressInsightResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.ZoneEgressInsight
}

func NewZoneEgressInsightResource added in v1.8.1

func NewZoneEgressInsightResource() *ZoneEgressInsightResource

func (*ZoneEgressInsightResource) Descriptor added in v1.8.1

func (*ZoneEgressInsightResource) GetMeta added in v1.8.1

func (*ZoneEgressInsightResource) GetSpec added in v1.8.1

func (*ZoneEgressInsightResource) SetMeta added in v1.8.1

func (*ZoneEgressInsightResource) SetSpec added in v1.8.1

type ZoneEgressInsightResourceList added in v1.8.1

type ZoneEgressInsightResourceList struct {
	Items      []*ZoneEgressInsightResource
	Pagination model.Pagination
}

func (*ZoneEgressInsightResourceList) AddItem added in v1.8.1

func (*ZoneEgressInsightResourceList) GetItemType added in v1.8.1

func (*ZoneEgressInsightResourceList) GetItems added in v1.8.1

func (*ZoneEgressInsightResourceList) GetPagination added in v1.8.1

func (l *ZoneEgressInsightResourceList) GetPagination() *model.Pagination

func (*ZoneEgressInsightResourceList) NewItem added in v1.8.1

type ZoneEgressOverviewResource added in v1.8.1

type ZoneEgressOverviewResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.ZoneEgressOverview
}

func NewZoneEgressOverviewResource added in v1.8.1

func NewZoneEgressOverviewResource() *ZoneEgressOverviewResource

func (*ZoneEgressOverviewResource) Descriptor added in v1.8.1

func (*ZoneEgressOverviewResource) GetMeta added in v1.8.1

func (*ZoneEgressOverviewResource) GetSpec added in v1.8.1

func (*ZoneEgressOverviewResource) SetMeta added in v1.8.1

func (*ZoneEgressOverviewResource) SetSpec added in v1.8.1

type ZoneEgressOverviewResourceList added in v1.8.1

type ZoneEgressOverviewResourceList struct {
	Items      []*ZoneEgressOverviewResource
	Pagination model.Pagination
}

func NewZoneEgressOverviews added in v1.8.1

func NewZoneEgressOverviews(zoneEgresses ZoneEgressResourceList, insights ZoneEgressInsightResourceList) ZoneEgressOverviewResourceList

func (*ZoneEgressOverviewResourceList) AddItem added in v1.8.1

func (*ZoneEgressOverviewResourceList) GetItemType added in v1.8.1

func (*ZoneEgressOverviewResourceList) GetItems added in v1.8.1

func (*ZoneEgressOverviewResourceList) GetPagination added in v1.8.1

func (l *ZoneEgressOverviewResourceList) GetPagination() *model.Pagination

func (*ZoneEgressOverviewResourceList) NewItem added in v1.8.1

type ZoneEgressResource added in v1.8.1

type ZoneEgressResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.ZoneEgress
}

func NewZoneEgressResource added in v1.8.1

func NewZoneEgressResource() *ZoneEgressResource

func (*ZoneEgressResource) AdminAddress added in v1.8.1

func (r *ZoneEgressResource) AdminAddress(defaultAdminPort uint32) string

func (*ZoneEgressResource) Descriptor added in v1.8.1

func (*ZoneEgressResource) GetMeta added in v1.8.1

func (t *ZoneEgressResource) GetMeta() model.ResourceMeta

func (*ZoneEgressResource) GetSpec added in v1.8.1

func (t *ZoneEgressResource) GetSpec() model.ResourceSpec

func (*ZoneEgressResource) IsIPv6 added in v1.8.1

func (r *ZoneEgressResource) IsIPv6() bool

func (*ZoneEgressResource) SetMeta added in v1.8.1

func (t *ZoneEgressResource) SetMeta(m model.ResourceMeta)

func (*ZoneEgressResource) SetSpec added in v1.8.1

func (t *ZoneEgressResource) SetSpec(spec model.ResourceSpec) error

func (*ZoneEgressResource) UsesInboundInterface added in v1.8.1

func (r *ZoneEgressResource) UsesInboundInterface(address net.IP, port uint32) bool

func (*ZoneEgressResource) Validate added in v1.8.1

func (r *ZoneEgressResource) Validate() error

type ZoneEgressResourceList added in v1.8.1

type ZoneEgressResourceList struct {
	Items      []*ZoneEgressResource
	Pagination model.Pagination
}

func (*ZoneEgressResourceList) AddItem added in v1.8.1

func (*ZoneEgressResourceList) GetItemType added in v1.8.1

func (l *ZoneEgressResourceList) GetItemType() model.ResourceType

func (*ZoneEgressResourceList) GetItems added in v1.8.1

func (l *ZoneEgressResourceList) GetItems() []model.Resource

func (*ZoneEgressResourceList) GetPagination added in v1.8.1

func (l *ZoneEgressResourceList) GetPagination() *model.Pagination

func (*ZoneEgressResourceList) NewItem added in v1.8.1

func (l *ZoneEgressResourceList) NewItem() model.Resource

type ZoneIngressInsightResource

type ZoneIngressInsightResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.ZoneIngressInsight
}

func NewZoneIngressInsightResource

func NewZoneIngressInsightResource() *ZoneIngressInsightResource

func (*ZoneIngressInsightResource) Descriptor added in v1.8.1

func (*ZoneIngressInsightResource) GetMeta

func (*ZoneIngressInsightResource) GetSpec

func (*ZoneIngressInsightResource) SetMeta

func (*ZoneIngressInsightResource) SetSpec

type ZoneIngressInsightResourceList

type ZoneIngressInsightResourceList struct {
	Items      []*ZoneIngressInsightResource
	Pagination model.Pagination
}

func (*ZoneIngressInsightResourceList) AddItem

func (*ZoneIngressInsightResourceList) GetItemType

func (*ZoneIngressInsightResourceList) GetItems

func (*ZoneIngressInsightResourceList) GetPagination

func (l *ZoneIngressInsightResourceList) GetPagination() *model.Pagination

func (*ZoneIngressInsightResourceList) NewItem

type ZoneIngressOverviewResource

type ZoneIngressOverviewResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.ZoneIngressOverview
}

func NewZoneIngressOverviewResource

func NewZoneIngressOverviewResource() *ZoneIngressOverviewResource

func (*ZoneIngressOverviewResource) Descriptor added in v1.8.1

func (*ZoneIngressOverviewResource) GetMeta

func (*ZoneIngressOverviewResource) GetSpec

func (*ZoneIngressOverviewResource) SetMeta

func (*ZoneIngressOverviewResource) SetSpec

type ZoneIngressOverviewResourceList

type ZoneIngressOverviewResourceList struct {
	Items      []*ZoneIngressOverviewResource
	Pagination model.Pagination
}

func (*ZoneIngressOverviewResourceList) AddItem

func (*ZoneIngressOverviewResourceList) GetItemType

func (*ZoneIngressOverviewResourceList) GetItems

func (*ZoneIngressOverviewResourceList) GetPagination

func (l *ZoneIngressOverviewResourceList) GetPagination() *model.Pagination

func (*ZoneIngressOverviewResourceList) NewItem

type ZoneIngressResource

type ZoneIngressResource struct {
	Meta model.ResourceMeta
	Spec *mesh_proto.ZoneIngress
}

func NewZoneIngressResource

func NewZoneIngressResource() *ZoneIngressResource

func (*ZoneIngressResource) AdminAddress added in v1.8.1

func (r *ZoneIngressResource) AdminAddress(defaultAdminPort uint32) string

func (*ZoneIngressResource) Descriptor added in v1.8.1

func (*ZoneIngressResource) GetMeta

func (t *ZoneIngressResource) GetMeta() model.ResourceMeta

func (*ZoneIngressResource) GetSpec

func (t *ZoneIngressResource) GetSpec() model.ResourceSpec

func (*ZoneIngressResource) HasPublicAddress

func (r *ZoneIngressResource) HasPublicAddress() bool

func (*ZoneIngressResource) IsRemoteIngress

func (r *ZoneIngressResource) IsRemoteIngress(localZone string) bool

func (*ZoneIngressResource) SetMeta

func (t *ZoneIngressResource) SetMeta(m model.ResourceMeta)

func (*ZoneIngressResource) SetSpec

func (t *ZoneIngressResource) SetSpec(spec model.ResourceSpec) error

func (*ZoneIngressResource) UsesInboundInterface

func (r *ZoneIngressResource) UsesInboundInterface(address net.IP, port uint32) bool

func (*ZoneIngressResource) Validate

func (r *ZoneIngressResource) Validate() error

type ZoneIngressResourceList

type ZoneIngressResourceList struct {
	Items      []*ZoneIngressResource
	Pagination model.Pagination
}

func (*ZoneIngressResourceList) AddItem

func (*ZoneIngressResourceList) GetItemType

func (l *ZoneIngressResourceList) GetItemType() model.ResourceType

func (*ZoneIngressResourceList) GetItems

func (l *ZoneIngressResourceList) GetItems() []model.Resource

func (*ZoneIngressResourceList) GetPagination

func (l *ZoneIngressResourceList) GetPagination() *model.Pagination

func (*ZoneIngressResourceList) NewItem

func (l *ZoneIngressResourceList) NewItem() model.Resource

Jump to

Keyboard shortcuts

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