v1beta1

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: May 12, 2021 License: Apache-2.0 Imports: 16 Imported by: 0

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

View Source
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"
)
View Source
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

View Source
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

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

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

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

func (*AppKeyAppIDAuthenticationSpec) DeepCopyInto

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

func (in *Backend) DeepCopy() *Backend

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

func (*Backend) DeepCopyInto

func (in *Backend) DeepCopyInto(out *Backend)

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

func (*Backend) DeepCopyObject

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

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

func (*Backend) FindMetricOrMethod

func (backend *Backend) FindMetricOrMethod(ref string) bool

func (*Backend) IsSynced

func (backend *Backend) IsSynced() bool

func (*Backend) SetDefaults

func (backend *Backend) SetDefaults(logger logr.Logger) bool

func (*Backend) Validate

func (backend *Backend) Validate() field.ErrorList

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

func (in *LimitSpec) DeepCopy() *LimitSpec

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

func (*LimitSpec) DeepCopyInto

func (in *LimitSpec) DeepCopyInto(out *LimitSpec)

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

func (in *Product) DeepCopy() *Product

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

func (*Product) DeepCopyInto

func (in *Product) DeepCopyInto(out *Product)

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

func (*Product) DeepCopyObject

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

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

func (*Product) FindMetricOrMethod

func (product *Product) FindMetricOrMethod(ref string) bool

func (*Product) IsSynced added in v0.7.0

func (product *Product) IsSynced() bool

func (*Product) SetDefaults

func (product *Product) SetDefaults(logger logr.Logger) bool

func (*Product) Validate

func (product *Product) Validate() field.ErrorList

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

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

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

func (*UserKeyAuthenticationSpec) DeepCopyInto

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL