Documentation ¶
Overview ¶
Package v1beta1 contains API Schema definitions for the networking v1beta1 API group +kubebuilder:object:generate=true +groupName=networking.kuadrant.io
Index ¶
- Constants
- Variables
- func APIObjectName(base, tag string) string
- type API
- type APIKeyAuth
- type APIKeyAuthCredentials
- type APIList
- type APIMappings
- type APIProduct
- func (a *APIProduct) AuthRateLimit() *RateLimitDefinitionSpec
- func (in *APIProduct) DeepCopy() *APIProduct
- func (in *APIProduct) DeepCopyInto(out *APIProduct)
- func (in *APIProduct) DeepCopyObject() runtime.Object
- func (a *APIProduct) GlobalRateLimit() *RateLimitDefinitionSpec
- func (a *APIProduct) HasAPIKeyAuth() bool
- func (a *APIProduct) HasOIDCAuth() bool
- func (a *APIProduct) HasSecurity() bool
- func (a *APIProduct) IsPreAuthRateLimitEnabled() bool
- func (a *APIProduct) IsRateLimitEnabled() bool
- func (a *APIProduct) PerRemoteIPRateLimit() *RateLimitDefinitionSpec
- func (a *APIProduct) RateLimitDomainName() string
- func (a *APIProduct) Validate() error
- type APIProductList
- type APIProductSpec
- type APIProductStatus
- type APIReference
- type APISpec
- type APIStatus
- type Destination
- type OpenIDConnectAuth
- type RateLimitDefinitionSpec
- type RateLimitSpec
- type SecurityScheme
Constants ¶
const (
APIKind = "API"
)
const (
APIProductKind = "APIProduct"
)
Variables ¶
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 ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new API.
func (*API) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*API) DeepCopyObject ¶
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 ¶
func (*APIKeyAuthCredentials) DeepCopy ¶
func (in *APIKeyAuthCredentials) DeepCopy() *APIKeyAuthCredentials
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIList.
func (*APIList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*APIList) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APISpec.
func (*APISpec) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIStatus.
func (*APIStatus) DeepCopyInto ¶
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 ¶
func (in *RateLimitDefinitionSpec) DeepCopy() *RateLimitDefinitionSpec
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.