v1alpha3

package
v0.0.0-...-25a9ee0 Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2025 License: Apache-2.0 Imports: 33 Imported by: 1

Documentation

Overview

Package v1alpha3 contains API Schema definitions for the dp v1alpha3 API group +kubebuilder:object:generate=true +groupName=dp.wso2.com

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "dp.wso2.com", Version: "v1alpha3"}

	// 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

This section is empty.

Types

type AIProvider

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

	Spec   AIProviderSpec   `json:"spec,omitempty"`
	Status AIProviderStatus `json:"status,omitempty"`
}

AIProvider is the Schema for the aiproviders API

func (*AIProvider) DeepCopy

func (in *AIProvider) DeepCopy() *AIProvider

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

func (*AIProvider) DeepCopyInto

func (in *AIProvider) DeepCopyInto(out *AIProvider)

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

func (*AIProvider) DeepCopyObject

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

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

type AIProviderList

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

AIProviderList contains a list of AIProvider

func (*AIProviderList) DeepCopy

func (in *AIProviderList) DeepCopy() *AIProviderList

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

func (*AIProviderList) DeepCopyInto

func (in *AIProviderList) DeepCopyInto(out *AIProviderList)

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

func (*AIProviderList) DeepCopyObject

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

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

type AIProviderReference

type AIProviderReference struct {
	// Name is the referced CR's name of AIProvider resource.
	Name string `json:"name,omitempty"`
}

AIProviderReference holds reference to AIProvider resource

func (*AIProviderReference) DeepCopy

func (in *AIProviderReference) DeepCopy() *AIProviderReference

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

func (*AIProviderReference) DeepCopyInto

func (in *AIProviderReference) DeepCopyInto(out *AIProviderReference)

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

type AIProviderSpec

type AIProviderSpec struct {

	// +kubebuilder:validation:MinLength=1
	ProviderName       string          `json:"providerName"`
	ProviderAPIVersion string          `json:"providerAPIVersion"`
	Organization       string          `json:"organization"`
	Model              ValueDetails    `json:"model"`
	RateLimitFields    RateLimitFields `json:"rateLimitFields"`
}

AIProviderSpec defines the desired state of AIProvider

func (*AIProviderSpec) DeepCopy

func (in *AIProviderSpec) DeepCopy() *AIProviderSpec

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

func (*AIProviderSpec) DeepCopyInto

func (in *AIProviderSpec) DeepCopyInto(out *AIProviderSpec)

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

type AIProviderStatus

type AIProviderStatus struct {
}

AIProviderStatus defines the observed state of AIProvider

func (*AIProviderStatus) DeepCopy

func (in *AIProviderStatus) DeepCopy() *AIProviderStatus

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

func (*AIProviderStatus) DeepCopyInto

func (in *AIProviderStatus) DeepCopyInto(out *AIProviderStatus)

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

type AIRateLimit

type AIRateLimit struct {
	Organization string        `json:"organization,omitempty"`
	TokenCount   *TokenCount   `json:"tokenCount,omitempty"`
	RequestCount *RequestCount `json:"requestCount,omitempty"`
}

AIRateLimit defines the AI ratelimit configuration

func (*AIRateLimit) DeepCopy

func (in *AIRateLimit) DeepCopy() *AIRateLimit

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

func (*AIRateLimit) DeepCopyInto

func (in *AIRateLimit) DeepCopyInto(out *AIRateLimit)

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

type AIRateLimitPolicy

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

	Spec   AIRateLimitPolicySpec   `json:"spec,omitempty"`
	Status AIRateLimitPolicyStatus `json:"status,omitempty"`
}

AIRateLimitPolicy is the Schema for the airatelimitpolicies API

func (*AIRateLimitPolicy) DeepCopy

func (in *AIRateLimitPolicy) DeepCopy() *AIRateLimitPolicy

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

func (*AIRateLimitPolicy) DeepCopyInto

func (in *AIRateLimitPolicy) DeepCopyInto(out *AIRateLimitPolicy)

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

func (*AIRateLimitPolicy) DeepCopyObject

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

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

type AIRateLimitPolicyList

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

AIRateLimitPolicyList contains a list of AIRateLimitPolicy

func (*AIRateLimitPolicyList) DeepCopy

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

func (*AIRateLimitPolicyList) DeepCopyInto

func (in *AIRateLimitPolicyList) DeepCopyInto(out *AIRateLimitPolicyList)

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

func (*AIRateLimitPolicyList) DeepCopyObject

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

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

type AIRateLimitPolicySpec

type AIRateLimitPolicySpec struct {
	Override  *AIRateLimit                              `json:"override,omitempty"`
	Default   *AIRateLimit                              `json:"default,omitempty"`
	TargetRef gwapiv1b1.NamespacedPolicyTargetReference `json:"targetRef,omitempty"`
}

AIRateLimitPolicySpec defines the desired state of AIRateLimitPolicy

func (*AIRateLimitPolicySpec) DeepCopy

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

func (*AIRateLimitPolicySpec) DeepCopyInto

func (in *AIRateLimitPolicySpec) DeepCopyInto(out *AIRateLimitPolicySpec)

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

type AIRateLimitPolicyStatus

type AIRateLimitPolicyStatus struct {
}

AIRateLimitPolicyStatus defines the observed state of AIRateLimitPolicy

func (*AIRateLimitPolicyStatus) DeepCopy

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

func (*AIRateLimitPolicyStatus) DeepCopyInto

func (in *AIRateLimitPolicyStatus) DeepCopyInto(out *AIRateLimitPolicyStatus)

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

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.

func (*API) Default

func (r *API) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*API) Hub

func (*API) Hub()

Hub marks this type as a conversion hub.

func (*API) SetupWebhookWithManager

func (r *API) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager creates a new webhook builder for API

func (*API) ValidateCreate

func (r *API) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*API) ValidateDelete

func (r *API) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*API) ValidateUpdate

func (r *API) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

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 APIPolicy

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

	Spec   APIPolicySpec   `json:"spec,omitempty"`
	Status APIPolicyStatus `json:"status,omitempty"`
}

APIPolicy is the Schema for the apipolicies API

func (*APIPolicy) ConvertFrom

func (src *APIPolicy) ConvertFrom(srcRaw conversion.Hub) error

ConvertFrom converts from the Hub version (v1alpha4) to this version. src is v1alpha2.API and dst is v1alpha4.API.

func (*APIPolicy) ConvertTo

func (src *APIPolicy) ConvertTo(dstRaw conversion.Hub) error

ConvertTo converts this API CR to the Hub version (v1alpha4). src is v1alpha2.API and dst is v1alpha4.API.

func (*APIPolicy) DeepCopy

func (in *APIPolicy) DeepCopy() *APIPolicy

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

func (*APIPolicy) DeepCopyInto

func (in *APIPolicy) DeepCopyInto(out *APIPolicy)

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

func (*APIPolicy) DeepCopyObject

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

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

func (*APIPolicy) Default

func (r *APIPolicy) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*APIPolicy) SetupWebhookWithManager

func (r *APIPolicy) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager creates a new webhook builder for APIPolicy

func (*APIPolicy) ValidateCreate

func (r *APIPolicy) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*APIPolicy) ValidateDelete

func (r *APIPolicy) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*APIPolicy) ValidatePolicy

func (r *APIPolicy) ValidatePolicy() error

ValidatePolicy validates the APIPolicy

func (*APIPolicy) ValidateUpdate

func (r *APIPolicy) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type APIPolicyList

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

APIPolicyList contains a list of APIPolicy

func (*APIPolicyList) DeepCopy

func (in *APIPolicyList) DeepCopy() *APIPolicyList

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

func (*APIPolicyList) DeepCopyInto

func (in *APIPolicyList) DeepCopyInto(out *APIPolicyList)

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

func (*APIPolicyList) DeepCopyObject

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

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

type APIPolicySpec

type APIPolicySpec struct {
	Default   *PolicySpec                               `json:"default,omitempty"`
	Override  *PolicySpec                               `json:"override,omitempty"`
	TargetRef gwapiv1b1.NamespacedPolicyTargetReference `json:"targetRef,omitempty"`
}

APIPolicySpec defines the desired state of APIPolicy

func (*APIPolicySpec) DeepCopy

func (in *APIPolicySpec) DeepCopy() *APIPolicySpec

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

func (*APIPolicySpec) DeepCopyInto

func (in *APIPolicySpec) DeepCopyInto(out *APIPolicySpec)

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

type APIPolicyStatus

type APIPolicyStatus struct {
}

APIPolicyStatus defines the observed state of APIPolicy

func (*APIPolicyStatus) DeepCopy

func (in *APIPolicyStatus) DeepCopy() *APIPolicyStatus

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

func (*APIPolicyStatus) DeepCopyInto

func (in *APIPolicyStatus) DeepCopyInto(out *APIPolicyStatus)

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

type APIRateLimitPolicy

type APIRateLimitPolicy struct {
	// RequestPerUnit is the number of requests allowed per unit time
	//
	// +kubeBuilder:validation:Minimum=1
	RequestsPerUnit uint32 `json:"requestsPerUnit,omitempty"`

	// Unit is the unit of the requestsPerUnit
	//
	// +kubebuilder:validation:Enum=Minute;Hour;Day
	Unit string `json:"unit,omitempty"`
}

APIRateLimitPolicy defines the desired state of APIPolicy

func (*APIRateLimitPolicy) DeepCopy

func (in *APIRateLimitPolicy) DeepCopy() *APIRateLimitPolicy

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

func (*APIRateLimitPolicy) DeepCopyInto

func (in *APIRateLimitPolicy) DeepCopyInto(out *APIRateLimitPolicy)

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

func (*APIRateLimitPolicy) Hub

func (*APIRateLimitPolicy) Hub()

Hub marks this type as a conversion hub.

type APISpec

type APISpec struct {

	// APIName is the unique name of the API
	//can be used to uniquely identify an API.
	//
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=60
	// +kubebuilder:validation:Pattern="^[^~!@#;:%^*()+={}|\\<>\"”,&$\\[\\]\\/]*$"
	APIName string `json:"apiName"`

	// APIVersion is the version number of the API.
	//
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=30
	// +kubebuilder:validation:Pattern="^[^~!@#;:%^*()+={}|\\<>\"”,&/$\\[\\]\\s+\\/]+$"
	APIVersion string `json:"apiVersion"`

	// IsDefaultVersion indicates whether this API version should be used as a default API
	//
	// +optional
	IsDefaultVersion bool `json:"isDefaultVersion"`

	// DefinitionFileRef contains the
	// definition of the API in a ConfigMap.
	//
	// +optional
	DefinitionFileRef string `json:"definitionFileRef"`

	// DefinitionPath contains the path to expose the API definition.
	//
	// +kubebuilder:default:=/api-definition
	// +kubebuilder:validation:MinLength=1
	DefinitionPath string `json:"definitionPath"`

	// Production contains a list of references to HttpRoutes
	// of type HttpRoute.
	// xref: https://github.com/kubernetes-sigs/gateway-api/blob/main/apis/v1beta1/httproute_types.go
	//
	//
	// +optional
	// +nullable
	// +kubebuilder:validation:MaxItems=1
	Production []EnvConfig `json:"production"`

	// Sandbox contains a list of references to HttpRoutes
	// of type HttpRoute.
	// xref: https://github.com/kubernetes-sigs/gateway-api/blob/main/apis/v1beta1/httproute_types.go
	//
	//
	// +optional
	// +nullable
	// +kubebuilder:validation:MaxItems=1
	Sandbox []EnvConfig `json:"sandbox"`

	// APIType denotes the type of the API.
	// Possible values could be REST, GraphQL, GRPC
	//
	// +kubebuilder:validation:Enum=REST;GraphQL;GRPC
	APIType string `json:"apiType"`

	// BasePath denotes the basepath of the API.
	// e.g: /pet-store-api/1.0.6
	//
	// +kubectl:validation:MaxLength=232
	// +kubebuilder:validation:Pattern=^[/][a-zA-Z0-9~/_.-]*$
	BasePath string `json:"basePath"`

	// Organization denotes the organization.
	// related to the API
	//
	// +optional
	Organization string `json:"organization"`

	// SystemAPI denotes if it is an internal system API.
	//
	// +optional
	SystemAPI bool `json:"systemAPI"`

	// APIProperties denotes the custom properties of the API.
	//
	// +optional
	// +nullable
	APIProperties []Property `json:"apiProperties,omitempty"`

	// Environment denotes the environment of the API.
	//
	// +optional
	// +nullable
	Environment string `json:"environment,omitempty"`
}

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 {
	// DeploymentStatus denotes the deployment status of the API
	//
	// +optional
	DeploymentStatus DeploymentStatus `json:"deploymentStatus"`
}

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 BackendJWTToken

type BackendJWTToken struct {
	// Name holds the name of the BackendJWT resource.
	Name string `json:"name,omitempty"`
}

BackendJWTToken holds backend JWT token information

func (*BackendJWTToken) DeepCopy

func (in *BackendJWTToken) DeepCopy() *BackendJWTToken

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

func (*BackendJWTToken) DeepCopyInto

func (in *BackendJWTToken) DeepCopyInto(out *BackendJWTToken)

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

type BurstControl

type BurstControl struct {
	RequestsPerUnit uint32 `json:"requestsPerUnit,omitempty"`
	Unit            string `json:"unit,omitempty"`
}

BurstControl defines the rule for token count quota.

func (*BurstControl) DeepCopy

func (in *BurstControl) DeepCopy() *BurstControl

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

func (*BurstControl) DeepCopyInto

func (in *BurstControl) DeepCopyInto(out *BurstControl)

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

type CORSPolicy

type CORSPolicy struct {

	// Enabled is to enable CORs policy for the API.
	//
	// +kubebuilder:default=true
	// +optional
	Enabled bool `json:"enabled"`

	// AllowCredentials indicates whether the request can include user credentials like
	// cookies, HTTP authentication or client side SSL certificates.
	//
	// +optional
	AccessControlAllowCredentials bool `json:"accessControlAllowCredentials,omitempty"`

	// AccessControlAllowHeaders indicates which headers can be used
	// during the actual request.
	//
	// +optional
	AccessControlAllowHeaders []string `json:"accessControlAllowHeaders,omitempty"`

	// AccessControlAllowMethods indicates which methods can be used
	// during the actual request.
	//
	// +optional
	AccessControlAllowMethods []string `json:"accessControlAllowMethods,omitempty"`

	// AccessControlAllowOrigins indicates which origins can be used
	// during the actual request.
	//
	// +optional
	AccessControlAllowOrigins []string `json:"accessControlAllowOrigins,omitempty"`

	// AccessControlExposeHeaders indicates which headers can be exposed
	// as part of the response by listing their names.
	//
	// +optional
	AccessControlExposeHeaders []string `json:"accessControlExposeHeaders,omitempty"`

	// AccessControlMaxAge indicates how long the results of a preflight request
	// can be cached in a preflight result cache.
	//
	// +optional
	AccessControlMaxAge *int `json:"accessControlMaxAge,omitempty"`
}

CORSPolicy holds CORS policy information

func (*CORSPolicy) DeepCopy

func (in *CORSPolicy) DeepCopy() *CORSPolicy

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

func (*CORSPolicy) DeepCopyInto

func (in *CORSPolicy) DeepCopyInto(out *CORSPolicy)

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

type CustomRateLimitPolicy

type CustomRateLimitPolicy struct {
	// RequestPerUnit is the number of requests allowed per unit time
	//
	// +kubeBuilder:validation:Minimum=1
	RequestsPerUnit uint32 `json:"requestsPerUnit,omitempty"`

	// Unit is the unit of the requestsPerUnit
	//
	// +kubebuilder:validation:Enum=Minute;Hour;Day
	Unit string `json:"unit,omitempty"`

	// Key is the key of the custom policy
	//
	// +kubebuilder:validation:MinLength=1
	Key string `json:"key,omitempty"`

	// Value is the value of the custom policy
	//
	// +optional
	Value string `json:"value,omitempty"`

	// Organization is the organization of the policy
	//
	// +kubeBuilder:validation:MinLength=1
	Organization string `json:"organization,omitempty"`
}

CustomRateLimitPolicy defines the desired state of CustomPolicy

func (*CustomRateLimitPolicy) DeepCopy

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

func (*CustomRateLimitPolicy) DeepCopyInto

func (in *CustomRateLimitPolicy) DeepCopyInto(out *CustomRateLimitPolicy)

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

type DeploymentStatus

type DeploymentStatus struct {

	// Status denotes the state of the API in its lifecycle.
	// Possible values could be Accepted, Invalid, Deploy etc.
	//
	//
	Status string `json:"status"`

	// Message represents a user friendly message that explains the
	// current state of the API.
	//
	//
	// +optional
	Message string `json:"message"`

	// Accepted represents whether the API is accepted or not.
	//
	//
	Accepted bool `json:"accepted"`

	// TransitionTime represents the last known transition timestamp.
	//
	//
	TransitionTime *metav1.Time `json:"transitionTime"`

	// Events contains a list of events related to the API.
	//
	//
	// +optional
	Events []string `json:"events,omitempty"`
}

DeploymentStatus contains the status of the API deployment

func (*DeploymentStatus) DeepCopy

func (in *DeploymentStatus) DeepCopy() *DeploymentStatus

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

func (*DeploymentStatus) DeepCopyInto

func (in *DeploymentStatus) DeepCopyInto(out *DeploymentStatus)

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

type EnvConfig

type EnvConfig struct {
	// RouteRefs denotes the environment of the API.
	RouteRefs []string `json:"routeRefs"`
}

EnvConfig contains the environment specific configuration

func (*EnvConfig) DeepCopy

func (in *EnvConfig) DeepCopy() *EnvConfig

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

func (*EnvConfig) DeepCopyInto

func (in *EnvConfig) DeepCopyInto(out *EnvConfig)

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

type InterceptorReference

type InterceptorReference struct {
	// Name is the referced CR's name of InterceptorService resource.
	Name string `json:"name"`
}

InterceptorReference holds InterceptorService reference using name and namespace

func (*InterceptorReference) DeepCopy

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

func (*InterceptorReference) DeepCopyInto

func (in *InterceptorReference) DeepCopyInto(out *InterceptorReference)

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

type PolicySpec

type PolicySpec struct {
	// RequestInterceptors referenced to intercetor services to be applied
	// to the request flow.
	//
	// +optional
	// +nullable
	// +kubebuilder:validation:MaxItems=1
	RequestInterceptors []InterceptorReference `json:"requestInterceptors,omitempty"`

	// ResponseInterceptors referenced to intercetor services to be applied
	// to the response flow.
	//
	// +optional
	// +nullable
	// +kubebuilder:validation:MaxItems=1
	ResponseInterceptors []InterceptorReference `json:"responseInterceptors,omitempty"`

	// BackendJWTPolicy holds reference to backendJWT policy configurations
	BackendJWTPolicy *BackendJWTToken `json:"backendJwtPolicy,omitempty"`

	// CORS policy to be applied to the API.
	CORSPolicy *CORSPolicy `json:"cORSPolicy,omitempty"`

	// SubscriptionValidation denotes whether subscription validation is enabled for the API
	//
	// +kubebuilder:default:=false
	// +optional
	SubscriptionValidation bool `json:"subscriptionValidation"`

	// AIProvider referenced to AIProvider resource to be applied
	// to the API.
	AIProvider *AIProviderReference `json:"aiProvider,omitempty"`
}

PolicySpec contains API policies

func (*PolicySpec) DeepCopy

func (in *PolicySpec) DeepCopy() *PolicySpec

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

func (*PolicySpec) DeepCopyInto

func (in *PolicySpec) DeepCopyInto(out *PolicySpec)

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

type Property

type Property struct {
	Name  string `json:"name,omitempty"`
	Value string `json:"value,omitempty"`
}

Property holds key value pair of APIProperties

func (*Property) DeepCopy

func (in *Property) DeepCopy() *Property

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

func (*Property) DeepCopyInto

func (in *Property) DeepCopyInto(out *Property)

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

type RateLimitAPIPolicy

type RateLimitAPIPolicy struct {

	// API level ratelimit policy
	//
	// +optional
	API *APIRateLimitPolicy `json:"api,omitempty"`

	// Subscription level ratelimit policy
	//
	// +optional
	Subscription *SubscriptionRateLimitPolicy `json:"subscription,omitempty"`

	// Custom ratelimit policy
	//
	// +optional
	Custom *CustomRateLimitPolicy `json:"custom,omitempty"`
}

RateLimitAPIPolicy defines the desired state of Policy

func (*RateLimitAPIPolicy) DeepCopy

func (in *RateLimitAPIPolicy) DeepCopy() *RateLimitAPIPolicy

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

func (*RateLimitAPIPolicy) DeepCopyInto

func (in *RateLimitAPIPolicy) DeepCopyInto(out *RateLimitAPIPolicy)

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

type RateLimitFields

type RateLimitFields struct {
	PromptTokens    ValueDetails `json:"promptTokens"`
	CompletionToken ValueDetails `json:"completionToken"`
	TotalToken      ValueDetails `json:"totalToken"`
}

RateLimitFields defines the Rate Limit fields

func (*RateLimitFields) DeepCopy

func (in *RateLimitFields) DeepCopy() *RateLimitFields

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

func (*RateLimitFields) DeepCopyInto

func (in *RateLimitFields) DeepCopyInto(out *RateLimitFields)

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

type RateLimitPolicy

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

	Spec   RateLimitPolicySpec   `json:"spec,omitempty"`
	Status RateLimitPolicyStatus `json:"status,omitempty"`
}

RateLimitPolicy is the Schema for the ratelimitpolicies API

func (*RateLimitPolicy) DeepCopy

func (in *RateLimitPolicy) DeepCopy() *RateLimitPolicy

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

func (*RateLimitPolicy) DeepCopyInto

func (in *RateLimitPolicy) DeepCopyInto(out *RateLimitPolicy)

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

func (*RateLimitPolicy) DeepCopyObject

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

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

func (*RateLimitPolicy) Default

func (r *RateLimitPolicy) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*RateLimitPolicy) SetupWebhookWithManager

func (r *RateLimitPolicy) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager creates a new webhook builder for RateLimitPolicy

func (*RateLimitPolicy) ValidateCreate

func (r *RateLimitPolicy) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*RateLimitPolicy) ValidateDelete

func (r *RateLimitPolicy) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*RateLimitPolicy) ValidatePolicies

func (r *RateLimitPolicy) ValidatePolicies() error

ValidatePolicies validates the policies in the RateLimitPolicy

func (*RateLimitPolicy) ValidateUpdate

func (r *RateLimitPolicy) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type RateLimitPolicyList

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

RateLimitPolicyList contains a list of RateLimitPolicy

func (*RateLimitPolicyList) DeepCopy

func (in *RateLimitPolicyList) DeepCopy() *RateLimitPolicyList

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

func (*RateLimitPolicyList) DeepCopyInto

func (in *RateLimitPolicyList) DeepCopyInto(out *RateLimitPolicyList)

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

func (*RateLimitPolicyList) DeepCopyObject

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

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

type RateLimitPolicySpec

type RateLimitPolicySpec struct {
	Default   *RateLimitAPIPolicy                       `json:"default,omitempty"`
	Override  *RateLimitAPIPolicy                       `json:"override,omitempty"`
	TargetRef gwapiv1b1.NamespacedPolicyTargetReference `json:"targetRef,omitempty"`
}

RateLimitPolicySpec defines the desired state of RateLimitPolicy

func (*RateLimitPolicySpec) DeepCopy

func (in *RateLimitPolicySpec) DeepCopy() *RateLimitPolicySpec

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

func (*RateLimitPolicySpec) DeepCopyInto

func (in *RateLimitPolicySpec) DeepCopyInto(out *RateLimitPolicySpec)

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

type RateLimitPolicyStatus

type RateLimitPolicyStatus struct {
}

RateLimitPolicyStatus defines the observed state of RateLimitPolicy

func (*RateLimitPolicyStatus) DeepCopy

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

func (*RateLimitPolicyStatus) DeepCopyInto

func (in *RateLimitPolicyStatus) DeepCopyInto(out *RateLimitPolicyStatus)

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

type RequestCount

type RequestCount struct {
	RequestsPerUnit uint32 `json:"requestsPerUnit,omitempty"`
	Unit            string `json:"unit,omitempty"`
}

RequestCount defines the rule for request count quota.

func (*RequestCount) DeepCopy

func (in *RequestCount) DeepCopy() *RequestCount

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

func (*RequestCount) DeepCopyInto

func (in *RequestCount) DeepCopyInto(out *RequestCount)

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

type ResolveBurstControl

type ResolveBurstControl struct {
	RequestsPerUnit uint32 `json:"requestsPerUnit,omitempty"`
	Unit            string `json:"unit,omitempty"`
}

ResolveBurstControl defines the rule for token count quota.

func (*ResolveBurstControl) DeepCopy

func (in *ResolveBurstControl) DeepCopy() *ResolveBurstControl

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

func (*ResolveBurstControl) DeepCopyInto

func (in *ResolveBurstControl) DeepCopyInto(out *ResolveBurstControl)

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

type ResolveRequestCount

type ResolveRequestCount struct {
	RequestsPerUnit uint32 `json:"requestsPerUnit,omitempty"`
	Unit            string `json:"unit,omitempty"`
}

ResolveRequestCount defines the rule for request count quota.

func (*ResolveRequestCount) DeepCopy

func (in *ResolveRequestCount) DeepCopy() *ResolveRequestCount

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

func (*ResolveRequestCount) DeepCopyInto

func (in *ResolveRequestCount) DeepCopyInto(out *ResolveRequestCount)

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

type ResolveSubscriptionRatelimitPolicy

type ResolveSubscriptionRatelimitPolicy struct {
	Name             string              `json:"name"`
	StopOnQuotaReach bool                `json:"stopOnQuotaReach"`
	Organization     string              `json:"organization"`
	RequestCount     ResolveRequestCount `json:"requestCount,omitempty"`
	BurstControl     ResolveBurstControl `json:"burstControl,omitempty"`
}

ResolveSubscriptionRatelimitPolicy defines the structure to resolve subscription rate limit policies.

func (*ResolveSubscriptionRatelimitPolicy) DeepCopy

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

func (*ResolveSubscriptionRatelimitPolicy) DeepCopyInto

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

type SubscriptionRateLimitPolicy

type SubscriptionRateLimitPolicy struct {
	StopOnQuotaReach bool          `json:"stopOnQuotaReach"`
	Organization     string        `json:"organization"`
	RequestCount     *RequestCount `json:"requestCount,omitempty"`
	BurstControl     *BurstControl `json:"burstControl,omitempty"`
}

SubscriptionRateLimitPolicy defines the subscription-level rate limiting policy.

func (*SubscriptionRateLimitPolicy) DeepCopy

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

func (*SubscriptionRateLimitPolicy) DeepCopyInto

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

type TokenCount

type TokenCount struct {
	// Unit is the unit of the requestsPerUnit
	//
	// +kubebuilder:validation:Enum=Minute;Hour;Day
	Unit string `json:"unit,omitempty"`

	// RequestTokenCount specifies the maximum number of tokens allowed
	// in AI requests within a given unit of time. This value limits the
	// token count sent by the client to the AI service over the defined period.
	//
	// +kubebuilder:validation:Minimum=1
	RequestTokenCount uint32 `json:"requestTokenCount,omitempty"`

	// ResponseTokenCount specifies the maximum number of tokens allowed
	// in AI responses within a given unit of time. This value limits the
	// token count received by the client from the AI service over the defined period.
	//
	// +kubebuilder:validation:Minimum=1
	ResponseTokenCount uint32 `json:"responseTokenCount,omitempty"`

	// TotalTokenCount represents the maximum allowable total token count
	// for both AI requests and responses within a specified unit of time.
	// This value sets the limit for the number of tokens exchanged between
	// the client and AI service during the defined period.
	//
	// +kubebuilder:validation:Minimum=1
	TotalTokenCount uint32 `json:"totalTokenCount,omitempty"`
}

TokenCount defines the Token based ratelimit configuration

func (*TokenCount) DeepCopy

func (in *TokenCount) DeepCopy() *TokenCount

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

func (*TokenCount) DeepCopyInto

func (in *TokenCount) DeepCopyInto(out *TokenCount)

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

type ValueDetails

type ValueDetails struct {
	In    string `json:"in"`
	Value string `json:"value"`
}

ValueDetails defines the value details

func (*ValueDetails) DeepCopy

func (in *ValueDetails) DeepCopy() *ValueDetails

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

func (*ValueDetails) DeepCopyInto

func (in *ValueDetails) DeepCopyInto(out *ValueDetails)

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