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