Documentation
¶
Overview ¶
Package v1alpha3 contains API Schema definitions for the dp v1alpha3 API group +kubebuilder:object:generate=true +groupName=dp.wso2.com
Index ¶
- Variables
- type AIProvider
- type AIProviderList
- type AIProviderReference
- type AIProviderSpec
- type AIProviderStatus
- type AIRateLimit
- type AIRateLimitPolicy
- type AIRateLimitPolicyList
- type AIRateLimitPolicySpec
- type AIRateLimitPolicyStatus
- type API
- func (in *API) DeepCopy() *API
- func (in *API) DeepCopyInto(out *API)
- func (in *API) DeepCopyObject() runtime.Object
- func (r *API) Default()
- func (*API) Hub()
- func (r *API) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *API) ValidateCreate() (admission.Warnings, error)
- func (r *API) ValidateDelete() (admission.Warnings, error)
- func (r *API) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type APIList
- type APIPolicy
- func (src *APIPolicy) ConvertFrom(srcRaw conversion.Hub) error
- func (src *APIPolicy) ConvertTo(dstRaw conversion.Hub) error
- func (in *APIPolicy) DeepCopy() *APIPolicy
- func (in *APIPolicy) DeepCopyInto(out *APIPolicy)
- func (in *APIPolicy) DeepCopyObject() runtime.Object
- func (r *APIPolicy) Default()
- func (r *APIPolicy) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *APIPolicy) ValidateCreate() (admission.Warnings, error)
- func (r *APIPolicy) ValidateDelete() (admission.Warnings, error)
- func (r *APIPolicy) ValidatePolicy() error
- func (r *APIPolicy) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type APIPolicyList
- type APIPolicySpec
- type APIPolicyStatus
- type APIRateLimitPolicy
- type APISpec
- type APIStatus
- type BackendJWTToken
- type BurstControl
- type CORSPolicy
- type CustomRateLimitPolicy
- type DeploymentStatus
- type EnvConfig
- type InterceptorReference
- type PolicySpec
- type Property
- type RateLimitAPIPolicy
- type RateLimitFields
- type RateLimitPolicy
- func (in *RateLimitPolicy) DeepCopy() *RateLimitPolicy
- func (in *RateLimitPolicy) DeepCopyInto(out *RateLimitPolicy)
- func (in *RateLimitPolicy) DeepCopyObject() runtime.Object
- func (r *RateLimitPolicy) Default()
- func (r *RateLimitPolicy) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *RateLimitPolicy) ValidateCreate() (admission.Warnings, error)
- func (r *RateLimitPolicy) ValidateDelete() (admission.Warnings, error)
- func (r *RateLimitPolicy) ValidatePolicies() error
- func (r *RateLimitPolicy) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type RateLimitPolicyList
- type RateLimitPolicySpec
- type RateLimitPolicyStatus
- type RequestCount
- type ResolveBurstControl
- type ResolveRequestCount
- type ResolveSubscriptionRatelimitPolicy
- type SubscriptionRateLimitPolicy
- type TokenCount
- type ValueDetails
Constants ¶
This section is empty.
Variables ¶
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 ¶
func (in *AIRateLimitPolicyList) DeepCopy() *AIRateLimitPolicyList
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 ¶
func (in *AIRateLimitPolicySpec) DeepCopy() *AIRateLimitPolicySpec
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 ¶
func (in *AIRateLimitPolicyStatus) DeepCopy() *AIRateLimitPolicyStatus
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 ¶
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.
func (*API) Default ¶
func (r *API) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type
func (*API) SetupWebhookWithManager ¶
SetupWebhookWithManager creates a new webhook builder for API
func (*API) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*API) ValidateDelete ¶
ValidateDelete 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 ¶
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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIPolicy.
func (*APIPolicy) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*APIPolicy) DeepCopyObject ¶
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 ¶
SetupWebhookWithManager creates a new webhook builder for APIPolicy
func (*APIPolicy) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*APIPolicy) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*APIPolicy) ValidatePolicy ¶
ValidatePolicy validates the APIPolicy
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 ¶
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 { // DeploymentStatus denotes the deployment status of the API // // +optional DeploymentStatus DeploymentStatus `json:"deploymentStatus"` }
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 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 ¶
func (in *CustomRateLimitPolicy) DeepCopy() *CustomRateLimitPolicy
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvConfig.
func (*EnvConfig) DeepCopyInto ¶
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 ¶
func (in *InterceptorReference) DeepCopy() *InterceptorReference
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 ¶
Property holds key value pair of APIProperties
func (*Property) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Property.
func (*Property) DeepCopyInto ¶
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 ¶
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 ¶
func (in *RateLimitPolicyStatus) DeepCopy() *RateLimitPolicyStatus
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 ¶
func (in *ResolveSubscriptionRatelimitPolicy) DeepCopy() *ResolveSubscriptionRatelimitPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResolveSubscriptionRatelimitPolicy.
func (*ResolveSubscriptionRatelimitPolicy) DeepCopyInto ¶
func (in *ResolveSubscriptionRatelimitPolicy) DeepCopyInto(out *ResolveSubscriptionRatelimitPolicy)
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 ¶
func (in *SubscriptionRateLimitPolicy) DeepCopy() *SubscriptionRateLimitPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubscriptionRateLimitPolicy.
func (*SubscriptionRateLimitPolicy) DeepCopyInto ¶
func (in *SubscriptionRateLimitPolicy) DeepCopyInto(out *SubscriptionRateLimitPolicy)
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 ¶
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.
Source Files
¶
- aiprovider_types.go
- airatelimitpolicy_types.go
- api_conversion.go
- api_types.go
- api_webhook.go
- apipolicy_conversion.go
- apipolicy_types.go
- apipolicy_webhook.go
- groupversion_info.go
- ratelimitpolicy_conversion.go
- ratelimitpolicy_types.go
- ratelimitpolicy_webhook.go
- resolveSubscriptionRatelimit.go
- zz_generated.deepcopy.go