v1beta1

package
v0.2.1 Latest Latest
Warning

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

Go to latest
Published: Jan 21, 2022 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package v1beta1 contains API Schema definitions for the networking v1beta1 API group +kubebuilder:object:generate=true +groupName=networking.kuadrant.io

Index

Constants

View Source
const (
	APIKind = "API"
)
View Source
const (
	APIProductKind = "APIProduct"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "networking.kuadrant.io", Version: "v1beta1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func APIObjectName

func APIObjectName(base, tag string) string

Types

type API

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

	Spec   APISpec   `json:"spec,omitempty"`
	Status APIStatus `json:"status,omitempty"`
}

API is the Schema for the apis API

func (*API) DeepCopy

func (in *API) DeepCopy() *API

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new API.

func (*API) DeepCopyInto

func (in *API) DeepCopyInto(out *API)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*API) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type APIKeyAuth

type APIKeyAuth struct {
	Location         string                `json:"location"`
	Name             string                `json:"name"`
	CredentialSource APIKeyAuthCredentials `json:"credential_source"`
}

func (*APIKeyAuth) DeepCopy

func (in *APIKeyAuth) DeepCopy() *APIKeyAuth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIKeyAuth.

func (*APIKeyAuth) DeepCopyInto

func (in *APIKeyAuth) DeepCopyInto(out *APIKeyAuth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type APIKeyAuthCredentials

type APIKeyAuthCredentials struct {
	LabelSelectors map[string]string `json:"labelSelectors"`
}

func (*APIKeyAuthCredentials) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIKeyAuthCredentials.

func (*APIKeyAuthCredentials) DeepCopyInto

func (in *APIKeyAuthCredentials) DeepCopyInto(out *APIKeyAuthCredentials)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type APIList

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

APIList contains a list of API

func (*APIList) DeepCopy

func (in *APIList) DeepCopy() *APIList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIList.

func (*APIList) DeepCopyInto

func (in *APIList) DeepCopyInto(out *APIList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*APIList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type APIMappings

type APIMappings struct {
	// Inline OAS
	// +optional
	OAS *string `json:"OAS,omitempty"`

	// Select a HTTP route by matching the HTTP request path.
	// +optional
	HTTPPathMatch *gatewayapiv1alpha1.HTTPPathMatch `json:"HTTPPathMatch,omitempty"`
}

func (*APIMappings) DeepCopy

func (in *APIMappings) DeepCopy() *APIMappings

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIMappings.

func (*APIMappings) DeepCopyInto

func (in *APIMappings) DeepCopyInto(out *APIMappings)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type APIProduct

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

	Spec   APIProductSpec   `json:"spec,omitempty"`
	Status APIProductStatus `json:"status,omitempty"`
}

APIProduct is the Schema for the apiproducts API

func (*APIProduct) AuthRateLimit

func (a *APIProduct) AuthRateLimit() *RateLimitDefinitionSpec

func (*APIProduct) DeepCopy

func (in *APIProduct) DeepCopy() *APIProduct

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIProduct.

func (*APIProduct) DeepCopyInto

func (in *APIProduct) DeepCopyInto(out *APIProduct)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*APIProduct) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*APIProduct) GlobalRateLimit

func (a *APIProduct) GlobalRateLimit() *RateLimitDefinitionSpec

func (*APIProduct) HasAPIKeyAuth

func (a *APIProduct) HasAPIKeyAuth() bool

func (*APIProduct) HasOIDCAuth

func (a *APIProduct) HasOIDCAuth() bool

func (*APIProduct) HasSecurity added in v0.1.2

func (a *APIProduct) HasSecurity() bool

func (*APIProduct) IsPreAuthRateLimitEnabled

func (a *APIProduct) IsPreAuthRateLimitEnabled() bool

func (*APIProduct) IsRateLimitEnabled

func (a *APIProduct) IsRateLimitEnabled() bool

func (*APIProduct) PerRemoteIPRateLimit

func (a *APIProduct) PerRemoteIPRateLimit() *RateLimitDefinitionSpec

func (*APIProduct) RateLimitDomainName

func (a *APIProduct) RateLimitDomainName() string

func (*APIProduct) Validate

func (a *APIProduct) Validate() error

type APIProductList

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

APIProductList contains a list of APIProduct

func (*APIProductList) DeepCopy

func (in *APIProductList) DeepCopy() *APIProductList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIProductList.

func (*APIProductList) DeepCopyInto

func (in *APIProductList) DeepCopyInto(out *APIProductList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*APIProductList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type APIProductSpec

type APIProductSpec struct {
	// The destination hosts to which traffic is being sent. Could
	// be a DNS name with wildcard prefix or an IP address.  Depending on the
	// platform, short-names can also be used instead of a FQDN (i.e. has no
	// dots in the name). In such a scenario, the FQDN of the host would be
	// derived based on the underlying platform.
	Hosts []string `json:"hosts"`

	// Configure authentication mechanisms
	// +optional
	SecurityScheme []SecurityScheme `json:"securityScheme,omitempty"`

	// The list of kuadrant API to be protected
	// +kubebuilder:validation:MinItems=1
	APIs []APIReference `json:"APIs"`

	// RateLimit configures global rate limit parameters
	// +optional
	RateLimit *RateLimitSpec `json:"rateLimit,omitempty"`
}

APIProductSpec defines the desired state of APIProduct

func (*APIProductSpec) DeepCopy

func (in *APIProductSpec) DeepCopy() *APIProductSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIProductSpec.

func (*APIProductSpec) DeepCopyInto

func (in *APIProductSpec) DeepCopyInto(out *APIProductSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type APIProductStatus

type APIProductStatus struct {

	// Conditions represent the latest available observations of an object's state
	// Known .status.conditions.type are: "Ready"
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=map
	// +listMapKey=type
	Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,1,rep,name=conditions"`

	ObservedGen int64 `json:"observedgen"`
}

APIProductStatus defines the observed state of APIProduct

func (*APIProductStatus) DeepCopy

func (in *APIProductStatus) DeepCopy() *APIProductStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIProductStatus.

func (*APIProductStatus) DeepCopyInto

func (in *APIProductStatus) DeepCopyInto(out *APIProductStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*APIProductStatus) Equals

func (a *APIProductStatus) Equals(other *APIProductStatus, logger logr.Logger) bool

type APIReference added in v0.1.2

type APIReference struct {
	// Kuadrant API object name
	Name string `json:"name"`

	// Kuadrant API object namespace
	Namespace string `json:"namespace"`

	// +optional
	Tag *string `json:"tag,omitempty"`

	// Public prefix path to be added to all paths exposed by the API
	// +optional
	Prefix *string `json:"prefix,omitempty"`
}

func (*APIReference) APINamespacedName added in v0.1.2

func (a *APIReference) APINamespacedName() types.NamespacedName

func (*APIReference) DeepCopy added in v0.1.2

func (in *APIReference) DeepCopy() *APIReference

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIReference.

func (*APIReference) DeepCopyInto added in v0.1.2

func (in *APIReference) DeepCopyInto(out *APIReference)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type APISpec

type APISpec struct {
	Destination Destination `json:"destination"`
	Mappings    APIMappings `json:"mappings"`
}

APISpec defines the desired state of API

func (*APISpec) DeepCopy

func (in *APISpec) DeepCopy() *APISpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APISpec.

func (*APISpec) DeepCopyInto

func (in *APISpec) DeepCopyInto(out *APISpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type APIStatus

type APIStatus struct {
	Ready              bool  `json:"ready"`
	ObservedGeneration int64 `json:"observedGeneration"`
}

APIStatus defines the observed state of API

func (*APIStatus) DeepCopy

func (in *APIStatus) DeepCopy() *APIStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIStatus.

func (*APIStatus) DeepCopyInto

func (in *APIStatus) DeepCopyInto(out *APIStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Destination

type Destination struct {
	Schema                           string `json:"schema,omitempty"`
	apiextentionsv1.ServiceReference `json:"serviceReference"`
}

func (*Destination) DeepCopy

func (in *Destination) DeepCopy() *Destination

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Destination.

func (*Destination) DeepCopyInto

func (in *Destination) DeepCopyInto(out *Destination)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Destination) NamespacedName

func (d Destination) NamespacedName() types.NamespacedName

type OpenIDConnectAuth

type OpenIDConnectAuth struct {
	URL string `json:"url"`
}

func (*OpenIDConnectAuth) DeepCopy

func (in *OpenIDConnectAuth) DeepCopy() *OpenIDConnectAuth

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OpenIDConnectAuth.

func (*OpenIDConnectAuth) DeepCopyInto

func (in *OpenIDConnectAuth) DeepCopyInto(out *OpenIDConnectAuth)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RateLimitDefinitionSpec

type RateLimitDefinitionSpec struct {
	// MaxValue represents the number of requests allowed per defined period of time.
	MaxValue int32 `json:"maxValue"`
	// Period represents the period of time in seconds.
	Period int32 `json:"period"`
}

func (*RateLimitDefinitionSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitDefinitionSpec.

func (*RateLimitDefinitionSpec) DeepCopyInto

func (in *RateLimitDefinitionSpec) DeepCopyInto(out *RateLimitDefinitionSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RateLimitSpec

type RateLimitSpec struct {
	// Global configures a single global rate limit for all requests.
	// +optional
	GlobalRateLimit *RateLimitDefinitionSpec `json:"global,omitempty"`

	// PerRemoteIPRateLimit configures the same rate limit parameters per each remote address
	// +optional
	PerRemoteIPRateLimit *RateLimitDefinitionSpec `json:"perRemoteIP,omitempty"`

	// AuthRateLimit configures the same rate limit parameters per each authenticated client
	// +optional
	AuthRateLimit *RateLimitDefinitionSpec `json:"authenticated,omitempty"`
}

func (*RateLimitSpec) DeepCopy

func (in *RateLimitSpec) DeepCopy() *RateLimitSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitSpec.

func (*RateLimitSpec) DeepCopyInto

func (in *RateLimitSpec) DeepCopyInto(out *RateLimitSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecurityScheme

type SecurityScheme struct {
	Name              string             `json:"name"`
	APIKeyAuth        *APIKeyAuth        `json:"apiKeyAuth,omitempty"`
	OpenIDConnectAuth *OpenIDConnectAuth `json:"openIDConnectAuth,omitempty"`
}

func (*SecurityScheme) DeepCopy

func (in *SecurityScheme) DeepCopy() *SecurityScheme

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityScheme.

func (*SecurityScheme) DeepCopyInto

func (in *SecurityScheme) DeepCopyInto(out *SecurityScheme)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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