Documentation ¶
Overview ¶
Package v1beta1 contains API Schema definitions for the capabilities v1beta1 API group +k8s:deepcopy-gen=package,register +groupName=capabilities.3scale.net
Package v1beta1 contains API Schema definitions for the capabilities v1beta1 API group +k8s:deepcopy-gen=package,register +groupName=capabilities.3scale.net
Index ¶
- Constants
- Variables
- func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
- type ApicastHostedSpec
- func (a *ApicastHostedSpec) AuthAppID() *string
- func (a *ApicastHostedSpec) AuthAppKey() *string
- func (a *ApicastHostedSpec) AuthUserKey() *string
- func (a *ApicastHostedSpec) AuthenticationMode() *string
- func (a *ApicastHostedSpec) CredentialsLocation() *string
- func (in *ApicastHostedSpec) DeepCopy() *ApicastHostedSpec
- func (in *ApicastHostedSpec) DeepCopyInto(out *ApicastHostedSpec)
- func (a *ApicastHostedSpec) HostRewrite() *string
- func (a *ApicastHostedSpec) SecuritySecretToken() *string
- type ApicastSelfManagedSpec
- func (a *ApicastSelfManagedSpec) AuthAppID() *string
- func (a *ApicastSelfManagedSpec) AuthAppKey() *string
- func (a *ApicastSelfManagedSpec) AuthUserKey() *string
- func (a *ApicastSelfManagedSpec) AuthenticationMode() *string
- func (a *ApicastSelfManagedSpec) CredentialsLocation() *string
- func (in *ApicastSelfManagedSpec) DeepCopy() *ApicastSelfManagedSpec
- func (in *ApicastSelfManagedSpec) DeepCopyInto(out *ApicastSelfManagedSpec)
- func (a *ApicastSelfManagedSpec) HostRewrite() *string
- func (a *ApicastSelfManagedSpec) ProdPublicBaseURL() *string
- func (a *ApicastSelfManagedSpec) SecuritySecretToken() *string
- func (a *ApicastSelfManagedSpec) StagPublicBaseURL() *string
- type AppKeyAppIDAuthenticationSpec
- func (a *AppKeyAppIDAuthenticationSpec) AuthAppID() *string
- func (a *AppKeyAppIDAuthenticationSpec) AuthAppKey() *string
- func (a *AppKeyAppIDAuthenticationSpec) CredentialsLocation() *string
- func (in *AppKeyAppIDAuthenticationSpec) DeepCopy() *AppKeyAppIDAuthenticationSpec
- func (in *AppKeyAppIDAuthenticationSpec) DeepCopyInto(out *AppKeyAppIDAuthenticationSpec)
- func (a *AppKeyAppIDAuthenticationSpec) HostRewrite() *string
- func (a *AppKeyAppIDAuthenticationSpec) SecuritySecretToken() *string
- type ApplicationPlanSpec
- type AuthenticationSpec
- func (a *AuthenticationSpec) AuthAppID() *string
- func (a *AuthenticationSpec) AuthAppKey() *string
- func (a *AuthenticationSpec) AuthUserKey() *string
- func (a *AuthenticationSpec) AuthenticationMode() string
- func (a *AuthenticationSpec) CredentialsLocation() *string
- func (in *AuthenticationSpec) DeepCopy() *AuthenticationSpec
- func (in *AuthenticationSpec) DeepCopyInto(out *AuthenticationSpec)
- func (a *AuthenticationSpec) HostRewrite() *string
- func (a *AuthenticationSpec) SecuritySecretToken() *string
- type Backend
- func (in *Backend) DeepCopy() *Backend
- func (in *Backend) DeepCopyInto(out *Backend)
- func (in *Backend) DeepCopyObject() runtime.Object
- func (backend *Backend) FindMetricOrMethod(ref string) bool
- func (backend *Backend) IsSynced() bool
- func (backend *Backend) SetDefaults(logger logr.Logger) bool
- func (backend *Backend) Validate() field.ErrorList
- type BackendList
- type BackendSpec
- type BackendStatus
- type BackendStatusError
- type BackendUsageSpec
- type LimitSpec
- type MappingRuleSpec
- type MethodSpec
- type MetricMethodRefSpec
- type MetricSpec
- type PricingRuleSpec
- type Product
- func (in *Product) DeepCopy() *Product
- func (in *Product) DeepCopyInto(out *Product)
- func (in *Product) DeepCopyObject() runtime.Object
- func (product *Product) FindMetricOrMethod(ref string) bool
- func (product *Product) IsSynced() bool
- func (product *Product) SetDefaults(logger logr.Logger) bool
- func (product *Product) Validate() field.ErrorList
- type ProductDeploymentSpec
- func (d *ProductDeploymentSpec) AuthAppID() *string
- func (d *ProductDeploymentSpec) AuthAppKey() *string
- func (d *ProductDeploymentSpec) AuthUserKey() *string
- func (d *ProductDeploymentSpec) AuthenticationMode() *string
- func (d *ProductDeploymentSpec) CredentialsLocation() *string
- func (in *ProductDeploymentSpec) DeepCopy() *ProductDeploymentSpec
- func (in *ProductDeploymentSpec) DeepCopyInto(out *ProductDeploymentSpec)
- func (d *ProductDeploymentSpec) DeploymentOption() string
- func (d *ProductDeploymentSpec) HostRewrite() *string
- func (d *ProductDeploymentSpec) ProdPublicBaseURL() *string
- func (d *ProductDeploymentSpec) SecuritySecretToken() *string
- func (d *ProductDeploymentSpec) StagingPublicBaseURL() *string
- type ProductList
- type ProductSpec
- func (s *ProductSpec) AuthAppID() *string
- func (s *ProductSpec) AuthAppKey() *string
- func (s *ProductSpec) AuthUserKey() *string
- func (s *ProductSpec) AuthenticationMode() *string
- func (s *ProductSpec) CredentialsLocation() *string
- func (in *ProductSpec) DeepCopy() *ProductSpec
- func (in *ProductSpec) DeepCopyInto(out *ProductSpec)
- func (s *ProductSpec) DeploymentOption() *string
- func (s *ProductSpec) HostRewrite() *string
- func (s *ProductSpec) ProdPublicBaseURL() *string
- func (s *ProductSpec) SecuritySecretToken() *string
- func (s *ProductSpec) StagingPublicBaseURL() *string
- type ProductStatus
- type SecuritySpec
- type UserKeyAuthenticationSpec
- func (u *UserKeyAuthenticationSpec) AuthUserKey() *string
- func (u *UserKeyAuthenticationSpec) CredentialsLocation() *string
- func (in *UserKeyAuthenticationSpec) DeepCopy() *UserKeyAuthenticationSpec
- func (in *UserKeyAuthenticationSpec) DeepCopyInto(out *UserKeyAuthenticationSpec)
- func (u *UserKeyAuthenticationSpec) HostRewrite() *string
- func (u *UserKeyAuthenticationSpec) SecuritySecretToken() *string
Constants ¶
const ( BackendKind = "Backend" // BackendInvalidConditionType represents that the combination of configuration // in the BackendSpec is not supported. This is not a transient error, but // indicates a state that must be fixed before progress can be made. // Example: the spec references non existing internal Metric reference BackendInvalidConditionType common.ConditionType = "Invalid" // BackendSyncedConditionType indicates the product has been successfully synchronized. // Steady state BackendSyncedConditionType common.ConditionType = "Synced" // BackendFailedConditionType indicates that an error occurred during synchronization. // The operator will retry. BackendFailedConditionType common.ConditionType = "Failed" )
const ( ProductKind = "Product" // ProductInvalidConditionType represents that the combination of configuration in the ProductSpec // is not supported. This is not a transient error, but // indicates a state that must be fixed before progress can be made. // Example: the ProductSpec references non existing internal Metric reference ProductInvalidConditionType common.ConditionType = "Invalid" // ProductOrphanConditionType represents that the configuration in the ProductSpec // contains reference to non existing resource. // This is (should be) a transient error, but // indicates a state that must be fixed before progress can be made. // Example: the ProductSpec references non existing backend resource ProductOrphanConditionType common.ConditionType = "Orphan" // ProductSyncedConditionType indicates the product has been successfully synchronized. // Steady state ProductSyncedConditionType common.ConditionType = "Synced" // ProductFailedConditionType indicates that an error occurred during synchronization. // The operator will retry. ProductFailedConditionType common.ConditionType = "Failed" )
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "capabilities.3scale.net", Version: "v1beta1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} )
Functions ¶
func GetOpenAPIDefinitions ¶
func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition
Types ¶
type ApicastHostedSpec ¶
type ApicastHostedSpec struct { // +optional Authentication *AuthenticationSpec `json:"authentication,omitempty"` }
ApicastHostedSpec defines the desired state of Product Apicast Hosted
func (*ApicastHostedSpec) AuthAppID ¶
func (a *ApicastHostedSpec) AuthAppID() *string
func (*ApicastHostedSpec) AuthAppKey ¶
func (a *ApicastHostedSpec) AuthAppKey() *string
func (*ApicastHostedSpec) AuthUserKey ¶
func (a *ApicastHostedSpec) AuthUserKey() *string
func (*ApicastHostedSpec) AuthenticationMode ¶
func (a *ApicastHostedSpec) AuthenticationMode() *string
func (*ApicastHostedSpec) CredentialsLocation ¶
func (a *ApicastHostedSpec) CredentialsLocation() *string
func (*ApicastHostedSpec) DeepCopy ¶
func (in *ApicastHostedSpec) DeepCopy() *ApicastHostedSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApicastHostedSpec.
func (*ApicastHostedSpec) DeepCopyInto ¶
func (in *ApicastHostedSpec) DeepCopyInto(out *ApicastHostedSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApicastHostedSpec) HostRewrite ¶
func (a *ApicastHostedSpec) HostRewrite() *string
func (*ApicastHostedSpec) SecuritySecretToken ¶
func (a *ApicastHostedSpec) SecuritySecretToken() *string
type ApicastSelfManagedSpec ¶
type ApicastSelfManagedSpec struct { // +optional Authentication *AuthenticationSpec `json:"authentication,omitempty"` // +optional // +kubebuilder:validation:Pattern=`^https?:\/\/.*$` StagingPublicBaseURL *string `json:"stagingPublicBaseURL,omitempty"` // +optional // +kubebuilder:validation:Pattern=`^https?:\/\/.*$` ProductionPublicBaseURL *string `json:"productionPublicBaseURL,omitempty"` }
ApicastSelfManagedSpec defines the desired state of Product Apicast Self Managed
func (*ApicastSelfManagedSpec) AuthAppID ¶
func (a *ApicastSelfManagedSpec) AuthAppID() *string
func (*ApicastSelfManagedSpec) AuthAppKey ¶
func (a *ApicastSelfManagedSpec) AuthAppKey() *string
func (*ApicastSelfManagedSpec) AuthUserKey ¶
func (a *ApicastSelfManagedSpec) AuthUserKey() *string
func (*ApicastSelfManagedSpec) AuthenticationMode ¶
func (a *ApicastSelfManagedSpec) AuthenticationMode() *string
func (*ApicastSelfManagedSpec) CredentialsLocation ¶
func (a *ApicastSelfManagedSpec) CredentialsLocation() *string
func (*ApicastSelfManagedSpec) DeepCopy ¶
func (in *ApicastSelfManagedSpec) DeepCopy() *ApicastSelfManagedSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApicastSelfManagedSpec.
func (*ApicastSelfManagedSpec) DeepCopyInto ¶
func (in *ApicastSelfManagedSpec) DeepCopyInto(out *ApicastSelfManagedSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ApicastSelfManagedSpec) HostRewrite ¶
func (a *ApicastSelfManagedSpec) HostRewrite() *string
func (*ApicastSelfManagedSpec) ProdPublicBaseURL ¶
func (a *ApicastSelfManagedSpec) ProdPublicBaseURL() *string
func (*ApicastSelfManagedSpec) SecuritySecretToken ¶
func (a *ApicastSelfManagedSpec) SecuritySecretToken() *string
func (*ApicastSelfManagedSpec) StagPublicBaseURL ¶
func (a *ApicastSelfManagedSpec) StagPublicBaseURL() *string
type AppKeyAppIDAuthenticationSpec ¶
type AppKeyAppIDAuthenticationSpec struct { // AppID is the name of the parameter that acts of behalf of app id // +optional AppID *string `json:"appID,omitempty"` // AppKey is the name of the parameter that acts of behalf of app key // +optional AppKey *string `json:"appKey,omitempty"` // CredentialsLoc available options: // headers: As HTTP Headers // query: As query parameters (GET) or body parameters (POST/PUT/DELETE) // authorization: As HTTP Basic Authentication // +optional // +kubebuilder:validation:Enum=headers;query;authorization CredentialsLoc *string `json:"credentials,omitempty"` // +optional Security *SecuritySpec `json:"security,omitempty"` }
AppKeyAppIDAuthenticationSpec defines the desired state of AppKey&AppId Authentication
func (*AppKeyAppIDAuthenticationSpec) AuthAppID ¶
func (a *AppKeyAppIDAuthenticationSpec) AuthAppID() *string
func (*AppKeyAppIDAuthenticationSpec) AuthAppKey ¶
func (a *AppKeyAppIDAuthenticationSpec) AuthAppKey() *string
func (*AppKeyAppIDAuthenticationSpec) CredentialsLocation ¶
func (a *AppKeyAppIDAuthenticationSpec) CredentialsLocation() *string
func (*AppKeyAppIDAuthenticationSpec) DeepCopy ¶
func (in *AppKeyAppIDAuthenticationSpec) DeepCopy() *AppKeyAppIDAuthenticationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppKeyAppIDAuthenticationSpec.
func (*AppKeyAppIDAuthenticationSpec) DeepCopyInto ¶
func (in *AppKeyAppIDAuthenticationSpec) DeepCopyInto(out *AppKeyAppIDAuthenticationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AppKeyAppIDAuthenticationSpec) HostRewrite ¶
func (a *AppKeyAppIDAuthenticationSpec) HostRewrite() *string
func (*AppKeyAppIDAuthenticationSpec) SecuritySecretToken ¶
func (a *AppKeyAppIDAuthenticationSpec) SecuritySecretToken() *string
type ApplicationPlanSpec ¶
type ApplicationPlanSpec struct { // +optional Name *string `json:"name,omitempty"` // Set whether or not applications can be created on demand // or if approval is required from you before they are activated. // +optional AppsRequireApproval *bool `json:"appsRequireApproval,omitempty"` // Trial Period (days) // +kubebuilder:validation:Minimum=0 // +optional TrialPeriod *int `json:"trialPeriod,omitempty"` // Setup fee (USD) // +kubebuilder:validation:Pattern=`^\d+(\.\d{2})?$` // +optional SetupFee *string `json:"setupFee,omitempty"` // Cost per Month (USD) // +kubebuilder:validation:Pattern=`^\d+(\.\d{2})?$` // +optional CostMonth *string `json:"costMonth,omitempty"` // Pricing Rules // +optional PricingRules []PricingRuleSpec `json:"pricingRules,omitempty"` // Limits // +optional Limits []LimitSpec `json:"limits,omitempty"` }
ApplicationPlanSpec defines the desired state of Product's Application Plan
func (*ApplicationPlanSpec) DeepCopy ¶
func (in *ApplicationPlanSpec) DeepCopy() *ApplicationPlanSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationPlanSpec.
func (*ApplicationPlanSpec) DeepCopyInto ¶
func (in *ApplicationPlanSpec) DeepCopyInto(out *ApplicationPlanSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AuthenticationSpec ¶
type AuthenticationSpec struct { // +optional UserKeyAuthentication *UserKeyAuthenticationSpec `json:"userkey,omitempty"` // +optional AppKeyAppIDAuthentication *AppKeyAppIDAuthenticationSpec `json:"appKeyAppID,omitempty"` }
AuthenticationSpec defines the desired state of Product Authentication
func (*AuthenticationSpec) AuthAppID ¶
func (a *AuthenticationSpec) AuthAppID() *string
func (*AuthenticationSpec) AuthAppKey ¶
func (a *AuthenticationSpec) AuthAppKey() *string
func (*AuthenticationSpec) AuthUserKey ¶
func (a *AuthenticationSpec) AuthUserKey() *string
func (*AuthenticationSpec) AuthenticationMode ¶
func (a *AuthenticationSpec) AuthenticationMode() string
func (*AuthenticationSpec) CredentialsLocation ¶
func (a *AuthenticationSpec) CredentialsLocation() *string
func (*AuthenticationSpec) DeepCopy ¶
func (in *AuthenticationSpec) DeepCopy() *AuthenticationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthenticationSpec.
func (*AuthenticationSpec) DeepCopyInto ¶
func (in *AuthenticationSpec) DeepCopyInto(out *AuthenticationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AuthenticationSpec) HostRewrite ¶
func (a *AuthenticationSpec) HostRewrite() *string
func (*AuthenticationSpec) SecuritySecretToken ¶
func (a *AuthenticationSpec) SecuritySecretToken() *string
type Backend ¶
type Backend struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec BackendSpec `json:"spec,omitempty"` Status BackendStatus `json:"status,omitempty"` }
Backend is the Schema for the backends API +kubebuilder:subresource:status +kubebuilder:resource:path=backends,scope=Namespaced +operator-sdk:gen-csv:customresourcedefinitions.displayName="3scale Backend"
func (*Backend) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backend.
func (*Backend) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Backend) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Backend) FindMetricOrMethod ¶
type BackendList ¶
type BackendList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Backend `json:"items"` }
BackendList contains a list of Backend
func (*BackendList) DeepCopy ¶
func (in *BackendList) DeepCopy() *BackendList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendList.
func (*BackendList) DeepCopyInto ¶
func (in *BackendList) DeepCopyInto(out *BackendList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BackendList) DeepCopyObject ¶
func (in *BackendList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type BackendSpec ¶
type BackendSpec struct { // Name is human readable name for the backend Name string `json:"name"` // SystemName identifies uniquely the product within the account provider // Default value will be sanitized Name // +optional SystemName string `json:"systemName,omitempty"` // PrivateBaseURL Private Base URL of the API // +kubebuilder:validation:Pattern=`^https?:\/\/.*$` PrivateBaseURL string `json:"privateBaseURL"` // Description is a human readable text of the backend // +optional Description string `json:"description,omitempty"` // +optional MappingRules []MappingRuleSpec `json:"mappingRules,omitempty"` // Metrics // Map: system_name -> MetricSpec // system_name attr is unique for all metrics AND methods // In other words, if metric's system_name is A, there is no metric or method with system_name A. // +optional Metrics map[string]MetricSpec `json:"metrics,omitempty"` // Methods // Map: system_name -> MethodSpec // system_name attr is unique for all metrics AND methods // In other words, if metric's system_name is A, there is no metric or method with system_name A. // +optional Methods map[string]MethodSpec `json:"methods,omitempty"` // ProviderAccountRef references account provider credentials // +optional ProviderAccountRef *corev1.LocalObjectReference `json:"providerAccountRef,omitempty"` }
BackendSpec defines the desired state of Backend
func (*BackendSpec) DeepCopy ¶
func (in *BackendSpec) DeepCopy() *BackendSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendSpec.
func (*BackendSpec) DeepCopyInto ¶
func (in *BackendSpec) DeepCopyInto(out *BackendSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BackendStatus ¶
type BackendStatus struct { // +optional ID *int64 `json:"backendId,omitempty"` // 3scale control plane host // +optional ProviderAccountHost string `json:"providerAccountHost,omitempty"` // ObservedGeneration reflects the generation of the most recently observed Backend Spec. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // Current state of the 3scale backend. // Conditions represent the latest available observations of an object's state // +optional // +patchMergeKey=type // +patchStrategy=merge Conditions common.Conditions `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,2,rep,name=conditions"` }
BackendStatus defines the observed state of Backend
func (*BackendStatus) DeepCopy ¶
func (in *BackendStatus) DeepCopy() *BackendStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendStatus.
func (*BackendStatus) DeepCopyInto ¶
func (in *BackendStatus) DeepCopyInto(out *BackendStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*BackendStatus) Equals ¶
func (b *BackendStatus) Equals(other *BackendStatus, logger logr.Logger) bool
type BackendStatusError ¶
type BackendStatusError string
ProductStatusError represents that the combination of configuration in the BackendSpec is not supported by this cluster. This is not a transient error, but indicates a state that must be fixed before progress can be made. Example: the BackendSpec references non existing internal Metric refenrece
type BackendUsageSpec ¶
type BackendUsageSpec struct {
Path string `json:"path"`
}
BackendUsageSpec defines the desired state of Product's Backend Usages
func (*BackendUsageSpec) DeepCopy ¶
func (in *BackendUsageSpec) DeepCopy() *BackendUsageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BackendUsageSpec.
func (*BackendUsageSpec) DeepCopyInto ¶
func (in *BackendUsageSpec) DeepCopyInto(out *BackendUsageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LimitSpec ¶
type LimitSpec struct { // Limit Period // +kubebuilder:validation:Enum=eternity;year;month;week;day;hour;minute Period string `json:"period"` // Limit Value Value int `json:"value"` // Metric or Method Reference MetricMethodRef MetricMethodRefSpec `json:"metricMethodRef"` }
LimitSpec defines the maximum value a metric can take on a contract before the user is no longer authorized to use resources. Once a limit has been passed in a given period, reject messages will be issued if the service is accessed under this contract.
func (*LimitSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LimitSpec.
func (*LimitSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MappingRuleSpec ¶
type MappingRuleSpec struct { // +kubebuilder:validation:Enum=GET;HEAD;POST;PUT;DELETE;OPTIONS;TRACE;PATCH;CONNECT HTTPMethod string `json:"httpMethod"` Pattern string `json:"pattern"` MetricMethodRef string `json:"metricMethodRef"` Increment int `json:"increment"` // +optional Last *bool `json:"last,omitempty"` }
MappingRuleSpec defines the desired state of Product's MappingRule
func (*MappingRuleSpec) DeepCopy ¶
func (in *MappingRuleSpec) DeepCopy() *MappingRuleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MappingRuleSpec.
func (*MappingRuleSpec) DeepCopyInto ¶
func (in *MappingRuleSpec) DeepCopyInto(out *MappingRuleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MethodSpec ¶
type MethodSpec struct { Name string `json:"friendlyName"` // +optional Description string `json:"description,omitempty"` }
MethodSpec defines the desired state of Product's Method
func (*MethodSpec) DeepCopy ¶
func (in *MethodSpec) DeepCopy() *MethodSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MethodSpec.
func (*MethodSpec) DeepCopyInto ¶
func (in *MethodSpec) DeepCopyInto(out *MethodSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MetricMethodRefSpec ¶
type MetricMethodRefSpec struct { // SystemName identifies uniquely the metric or methods SystemName string `json:"systemName"` // BackendSystemName identifies uniquely the backend // Backend reference must be used by the product // +optional BackendSystemName *string `json:"backend,omitempty"` }
MetricMethodRefSpec defines method or metric reference Metric or method can optionally belong to used backends
func (*MetricMethodRefSpec) DeepCopy ¶
func (in *MetricMethodRefSpec) DeepCopy() *MetricMethodRefSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricMethodRefSpec.
func (*MetricMethodRefSpec) DeepCopyInto ¶
func (in *MetricMethodRefSpec) DeepCopyInto(out *MetricMethodRefSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MetricMethodRefSpec) String ¶
func (m *MetricMethodRefSpec) String() string
type MetricSpec ¶
type MetricSpec struct { Name string `json:"friendlyName"` Unit string `json:"unit"` // +optional Description string `json:"description,omitempty"` }
MetricSpec defines the desired state of Product's Metric
func (*MetricSpec) DeepCopy ¶
func (in *MetricSpec) DeepCopy() *MetricSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MetricSpec.
func (*MetricSpec) DeepCopyInto ¶
func (in *MetricSpec) DeepCopyInto(out *MetricSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PricingRuleSpec ¶
type PricingRuleSpec struct { // Range From From int `json:"from"` // Range To To int `json:"to"` // Metric or Method Reference MetricMethodRef MetricMethodRefSpec `json:"metricMethodRef"` // Price per unit (USD) // +kubebuilder:validation:Pattern=`^\d+(\.\d{2})?$` PricePerUnit string `json:"pricePerUnit"` }
PricingRuleSpec defines the cost of each operation performed on an API. Multiple pricing rules on the same metric divide up the ranges of when a pricing rule applies.
func (*PricingRuleSpec) DeepCopy ¶
func (in *PricingRuleSpec) DeepCopy() *PricingRuleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PricingRuleSpec.
func (*PricingRuleSpec) DeepCopyInto ¶
func (in *PricingRuleSpec) DeepCopyInto(out *PricingRuleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Product ¶
type Product struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ProductSpec `json:"spec,omitempty"` Status ProductStatus `json:"status,omitempty"` }
Product is the Schema for the products API +k8s:openapi-gen=true +kubebuilder:subresource:status +kubebuilder:resource:path=products,scope=Namespaced +operator-sdk:gen-csv:customresourcedefinitions.displayName="3scale Product"
func (*Product) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Product.
func (*Product) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Product) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Product) FindMetricOrMethod ¶
type ProductDeploymentSpec ¶
type ProductDeploymentSpec struct { // +optional ApicastHosted *ApicastHostedSpec `json:"apicastHosted,omitempty"` // +optional ApicastSelfManaged *ApicastSelfManagedSpec `json:"apicastSelfManaged,omitempty"` }
ProductDeploymentSpec defines the desired state of Product Deployment
func (*ProductDeploymentSpec) AuthAppID ¶
func (d *ProductDeploymentSpec) AuthAppID() *string
func (*ProductDeploymentSpec) AuthAppKey ¶
func (d *ProductDeploymentSpec) AuthAppKey() *string
func (*ProductDeploymentSpec) AuthUserKey ¶
func (d *ProductDeploymentSpec) AuthUserKey() *string
func (*ProductDeploymentSpec) AuthenticationMode ¶
func (d *ProductDeploymentSpec) AuthenticationMode() *string
func (*ProductDeploymentSpec) CredentialsLocation ¶
func (d *ProductDeploymentSpec) CredentialsLocation() *string
func (*ProductDeploymentSpec) DeepCopy ¶
func (in *ProductDeploymentSpec) DeepCopy() *ProductDeploymentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProductDeploymentSpec.
func (*ProductDeploymentSpec) DeepCopyInto ¶
func (in *ProductDeploymentSpec) DeepCopyInto(out *ProductDeploymentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProductDeploymentSpec) DeploymentOption ¶
func (d *ProductDeploymentSpec) DeploymentOption() string
func (*ProductDeploymentSpec) HostRewrite ¶
func (d *ProductDeploymentSpec) HostRewrite() *string
func (*ProductDeploymentSpec) ProdPublicBaseURL ¶
func (d *ProductDeploymentSpec) ProdPublicBaseURL() *string
func (*ProductDeploymentSpec) SecuritySecretToken ¶
func (d *ProductDeploymentSpec) SecuritySecretToken() *string
func (*ProductDeploymentSpec) StagingPublicBaseURL ¶
func (d *ProductDeploymentSpec) StagingPublicBaseURL() *string
type ProductList ¶
type ProductList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Product `json:"items"` }
ProductList contains a list of Product
func (*ProductList) DeepCopy ¶
func (in *ProductList) DeepCopy() *ProductList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProductList.
func (*ProductList) DeepCopyInto ¶
func (in *ProductList) DeepCopyInto(out *ProductList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProductList) DeepCopyObject ¶
func (in *ProductList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ProductSpec ¶
type ProductSpec struct { // Name is human readable name for the product Name string `json:"name"` // SystemName identifies uniquely the product within the account provider // Default value will be sanitized Name // +optional SystemName string `json:"systemName,omitempty"` // Description is a human readable text of the product // +optional Description string `json:"description,omitempty"` // Deployment defined 3scale product deployment mode // +optional Deployment *ProductDeploymentSpec `json:"deployment,omitempty"` // Mapping Rules // Array: MappingRule Spec // +optional MappingRules []MappingRuleSpec `json:"mappingRules,omitempty"` // Backend usage will be a map of // Map: system_name -> BackendUsageSpec // Having system_name as the index, the structure ensures one backend is not used multiple times. // +optional BackendUsages map[string]BackendUsageSpec `json:"backendUsages,omitempty"` // Metrics // Map: system_name -> MetricSpec // system_name attr is unique for all metrics AND methods // In other words, if metric's system_name is A, there is no metric or method with system_name A. // +optional Metrics map[string]MetricSpec `json:"metrics,omitempty"` // Methods // Map: system_name -> MethodSpec // system_name attr is unique for all metrics AND methods // In other words, if metric's system_name is A, there is no metric or method with system_name A. // +optional Methods map[string]MethodSpec `json:"methods,omitempty"` // Application Plans // Map: system_name -> Application Plan Spec // +optional ApplicationPlans map[string]ApplicationPlanSpec `json:"applicationPlans,omitempty"` // ProviderAccountRef references account provider credentials // +optional ProviderAccountRef *corev1.LocalObjectReference `json:"providerAccountRef,omitempty"` }
ProductSpec defines the desired state of Product +k8s:openapi-gen=true
func (*ProductSpec) AuthAppID ¶
func (s *ProductSpec) AuthAppID() *string
func (*ProductSpec) AuthAppKey ¶
func (s *ProductSpec) AuthAppKey() *string
func (*ProductSpec) AuthUserKey ¶
func (s *ProductSpec) AuthUserKey() *string
func (*ProductSpec) AuthenticationMode ¶
func (s *ProductSpec) AuthenticationMode() *string
func (*ProductSpec) CredentialsLocation ¶
func (s *ProductSpec) CredentialsLocation() *string
func (*ProductSpec) DeepCopy ¶
func (in *ProductSpec) DeepCopy() *ProductSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProductSpec.
func (*ProductSpec) DeepCopyInto ¶
func (in *ProductSpec) DeepCopyInto(out *ProductSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProductSpec) DeploymentOption ¶
func (s *ProductSpec) DeploymentOption() *string
func (*ProductSpec) HostRewrite ¶
func (s *ProductSpec) HostRewrite() *string
func (*ProductSpec) ProdPublicBaseURL ¶
func (s *ProductSpec) ProdPublicBaseURL() *string
func (*ProductSpec) SecuritySecretToken ¶
func (s *ProductSpec) SecuritySecretToken() *string
func (*ProductSpec) StagingPublicBaseURL ¶
func (s *ProductSpec) StagingPublicBaseURL() *string
type ProductStatus ¶
type ProductStatus struct { // +optional ID *int64 `json:"productId,omitempty"` // +optional State *string `json:"state,omitempty"` // 3scale control plane host // +optional ProviderAccountHost string `json:"providerAccountHost,omitempty"` // ObservedGeneration reflects the generation of the most recently observed Product Spec. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // Current state of the 3scale product. // Conditions represent the latest available observations of an object's state // +optional // +patchMergeKey=type // +patchStrategy=merge Conditions common.Conditions `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,2,rep,name=conditions"` }
ProductStatus defines the observed state of Product +k8s:openapi-gen=true
func (*ProductStatus) DeepCopy ¶
func (in *ProductStatus) DeepCopy() *ProductStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ProductStatus.
func (*ProductStatus) DeepCopyInto ¶
func (in *ProductStatus) DeepCopyInto(out *ProductStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ProductStatus) Equals ¶
func (p *ProductStatus) Equals(other *ProductStatus, logger logr.Logger) bool
type SecuritySpec ¶
type SecuritySpec struct { // HostHeader Lets you define a custom Host request header. This is needed if your API backend only accepts traffic from a specific host. // +optional HostHeader *string `json:"hostHeader,omitempty"` // SecretToken Enables you to block any direct developer requests to your API backend; // each 3scale API gateway call to your API backend contains a request header called X-3scale-proxy-secret-token. // The value of this header can be set by you here. It's up to you ensure your backend only allows calls with this secret header. // +optional SecretToken *string `json:"secretToken,omitempty"` }
SecuritySpec defines the desired state of Authentication Security
func (*SecuritySpec) DeepCopy ¶
func (in *SecuritySpec) DeepCopy() *SecuritySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecuritySpec.
func (*SecuritySpec) DeepCopyInto ¶
func (in *SecuritySpec) DeepCopyInto(out *SecuritySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SecuritySpec) HostRewrite ¶
func (s *SecuritySpec) HostRewrite() *string
func (*SecuritySpec) SecuritySecretToken ¶
func (s *SecuritySpec) SecuritySecretToken() *string
type UserKeyAuthenticationSpec ¶
type UserKeyAuthenticationSpec struct { // +optional Key *string `json:"authUserKey,omitempty"` // Credentials Location available options: // headers: As HTTP Headers // query: As query parameters (GET) or body parameters (POST/PUT/DELETE) // authorization: As HTTP Basic Authentication // +optional // +kubebuilder:validation:Enum=headers;query;authorization CredentialsLoc *string `json:"credentials,omitempty"` // +optional Security *SecuritySpec `json:"security,omitempty"` }
UserKeyAuthenticationSpec defines the desired state of User Key Authentication
func (*UserKeyAuthenticationSpec) AuthUserKey ¶
func (u *UserKeyAuthenticationSpec) AuthUserKey() *string
func (*UserKeyAuthenticationSpec) CredentialsLocation ¶
func (u *UserKeyAuthenticationSpec) CredentialsLocation() *string
func (*UserKeyAuthenticationSpec) DeepCopy ¶
func (in *UserKeyAuthenticationSpec) DeepCopy() *UserKeyAuthenticationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserKeyAuthenticationSpec.
func (*UserKeyAuthenticationSpec) DeepCopyInto ¶
func (in *UserKeyAuthenticationSpec) DeepCopyInto(out *UserKeyAuthenticationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*UserKeyAuthenticationSpec) HostRewrite ¶
func (u *UserKeyAuthenticationSpec) HostRewrite() *string
func (*UserKeyAuthenticationSpec) SecuritySecretToken ¶
func (u *UserKeyAuthenticationSpec) SecuritySecretToken() *string