v1beta1

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2024 License: Apache-2.0 Imports: 15 Imported by: 1

Documentation

Overview

Package v1beta1 contains API Schema definitions for the capabilities v1beta1 API group +kubebuilder:object:generate=true +groupName=capabilities.3scale.net

Index

Constants

View Source
const (
	ActiveDocKind = "ActiveDoc"

	// ActiveDocInvalidConditionType represents that the combination of configuration
	// in the ActiveDocSpec is not supported. This is not a transient error, but
	// indicates a state that must be fixed before progress can be made.
	ActiveDocInvalidConditionType common.ConditionType = "Invalid"

	// ActiveDocOrphanConditionType represents that the configuration in the ActiveDocSpec
	// 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 ActiveDocSpec references non existing product resource
	ActiveDocOrphanConditionType common.ConditionType = "Orphan"

	// ActiveDocReadyConditionType indicates the activedoc has been successfully synchronized.
	// Steady state
	ActiveDocReadyConditionType common.ConditionType = "Ready"

	// ActiveDocFailedConditionType indicates that an error occurred during synchronization.
	// The operator will retry.
	ActiveDocFailedConditionType common.ConditionType = "Failed"
)
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 backend 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 (
	CustomPolicyDefinitionKind = "CustomPolicyDefinition"

	// CustomPolicyDefinitionInvalidConditionType represents that the combination of configuration
	// in the CustomPolicyDefinitionSpec is not supported. This is not a transient error, but
	// indicates a state that must be fixed before progress can be made.
	CustomPolicyDefinitionInvalidConditionType common.ConditionType = "Invalid"

	// CustomPolicyDefinitionReadyConditionType indicates the custom policy definition has been successfully synchronized.
	// Steady state
	CustomPolicyDefinitionReadyConditionType common.ConditionType = "Ready"

	// CustomPolicyDefinitionFailedConditionType indicates that an error occurred during synchronization.
	// The operator will retry.
	CustomPolicyDefinitionFailedConditionType common.ConditionType = "Failed"
)
View Source
const (
	DeveloperAccountKind = "DeveloperAccount"

	// DeveloperAccountInvalidConditionType represents that the combination of configuration
	// in the Spec is not supported. This is not a transient error, but
	// indicates a state that must be fixed before progress can be made.
	DeveloperAccountInvalidConditionType common.ConditionType = "Invalid"

	// DeveloperAccountReadyConditionType indicates the account has been successfully synchronized.
	// Steady state
	DeveloperAccountReadyConditionType common.ConditionType = "Ready"

	// DeveloperAccountWaitingConditionType indicates the account is waiting for
	// some async event to happen that is needed to be ready.
	// The operator will retry.
	DeveloperAccountWaitingConditionType common.ConditionType = "Waiting"

	// DeveloperAccountFailedConditionType indicates that an error occurred during synchronization.
	// The operator will retry.
	DeveloperAccountFailedConditionType common.ConditionType = "Failed"
)
View Source
const (
	DeveloperUserKind = "DeveloperUser"

	// DeveloperUserInvalidConditionType represents that the combination of configuration
	// in the spec is not supported. This is not a transient error, but
	// indicates a state that must be fixed before progress can be made.
	DeveloperUserInvalidConditionType common.ConditionType = "Invalid"

	// DeveloperUserOrphanConditionType represents that the configuration in the spec
	// 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 DeveloperUserSpec references non existing product resource
	DeveloperUserOrphanConditionType common.ConditionType = "Orphan"

	// DeveloperUserReadyConditionType indicates the activedoc has been successfully synchronized.
	// Steady state
	DeveloperUserReadyConditionType common.ConditionType = "Ready"

	// DeveloperUserFailedConditionType indicates that an error occurred during synchronization.
	// The operator will retry.
	DeveloperUserFailedConditionType common.ConditionType = "Failed"

	// DeveloperUserPasswordSecretField indicates the secret field name with developer user's password
	DeveloperUserPasswordSecretField = "password"
)
View Source
const (
	OpenAPIKind = "OpenAPI"

	// OpenAPIInvalidConditionType represents that the combination of configuration
	// in the OpenAPISpec 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 invalid openapi spec
	OpenAPIInvalidConditionType common.ConditionType = "Invalid"

	// OpenAPIReadyConditionType indicates the openapi resource has been successfully reconciled.
	// Steady state
	OpenAPIReadyConditionType common.ConditionType = "Ready"

	// OpenAPIFailedConditionType indicates that an error occurred during reconcilliation.
	// The operator will retry.
	OpenAPIFailedConditionType 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"

	// ProductPolicyConfigurationPasswordSecretField indicates the secret field name with product policy configuration
	ProductPolicyConfigurationPasswordSecretField = "configuration"

	// ProductPolicyConfigurationDefault is the default for a product policy configuration
	ProductPolicyConfigurationDefault = `{}`
)
View Source
const (
	ProxyPromoteConfigKind = "ProxyPromoteConfig"

	// ProxyPromoteConfigReadyConditionType indicates the activedoc has been successfully synchronized.
	// Steady state
	ProxyPromoteConfigReadyConditionType      common.ConditionType = "Ready"
	ProxyPromoteConfigFailedConditionType     common.ConditionType = "Failed"
	ProxyPromoteConfigInProgressConditionType common.ConditionType = "In-progress"
)
View Source
const (
	ApplicationReadyConditionType common.ConditionType = "Ready"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "capabilities.3scale.net", Version: "v1beta1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type ActiveDoc

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

	Spec   ActiveDocSpec   `json:"spec,omitempty"`
	Status ActiveDocStatus `json:"status,omitempty"`
}

ActiveDoc is the Schema for the activedocs API

func (*ActiveDoc) DeepCopy

func (in *ActiveDoc) DeepCopy() *ActiveDoc

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

func (*ActiveDoc) DeepCopyInto

func (in *ActiveDoc) DeepCopyInto(out *ActiveDoc)

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

func (*ActiveDoc) DeepCopyObject

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

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

func (*ActiveDoc) SetDefaults

func (a *ActiveDoc) SetDefaults(logger logr.Logger) bool

func (*ActiveDoc) Validate

func (a *ActiveDoc) Validate() field.ErrorList

type ActiveDocList

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

ActiveDocList contains a list of ActiveDoc

func (*ActiveDocList) DeepCopy

func (in *ActiveDocList) DeepCopy() *ActiveDocList

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

func (*ActiveDocList) DeepCopyInto

func (in *ActiveDocList) DeepCopyInto(out *ActiveDocList)

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

func (*ActiveDocList) DeepCopyObject

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

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

type ActiveDocOpenAPIRefSpec

type ActiveDocOpenAPIRefSpec struct {
	// SecretRef refers to the secret object that contains the OpenAPI Document
	// +optional
	SecretRef *corev1.ObjectReference `json:"secretRef,omitempty"`

	// URL Remote URL from where to fetch the OpenAPI Document
	// +kubebuilder:validation:Pattern=`^https?:\/\/.*$`
	// +optional
	URL *string `json:"url,omitempty"`
}

ActiveDocOpenAPIRefSpec Reference to the OpenAPI Specification

func (*ActiveDocOpenAPIRefSpec) DeepCopy

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

func (*ActiveDocOpenAPIRefSpec) DeepCopyInto

func (in *ActiveDocOpenAPIRefSpec) DeepCopyInto(out *ActiveDocOpenAPIRefSpec)

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

type ActiveDocSpec

type ActiveDocSpec struct {

	// ProviderAccountRef references account provider credentials
	// +optional
	ProviderAccountRef *corev1.LocalObjectReference `json:"providerAccountRef,omitempty"`

	// Name is human readable name for the activedoc
	Name string `json:"name"`

	// SystemName identifies uniquely the activedoc within the account provider
	// Default value will be sanitized Name
	// +kubebuilder:validation:Pattern=`^[a-z0-9]+$`
	// +optional
	SystemName *string `json:"systemName,omitempty"`

	// Description is a human readable text of the activedoc
	// +optional
	Description *string `json:"description,omitempty"`

	// ActiveDocOpenAPIRef Reference to the OpenAPI Specification
	ActiveDocOpenAPIRef ActiveDocOpenAPIRefSpec `json:"activeDocOpenAPIRef"`

	// ProductSystemName identifies uniquely the product
	// +optional
	ProductSystemName *string `json:"productSystemName,omitempty"`

	// Published switch to publish the activedoc
	// +optional
	Published *bool `json:"published,omitempty"`

	// SkipSwaggerValidations switch to skip OpenAPI validation
	// +optional
	SkipSwaggerValidations *bool `json:"skipSwaggerValidations,omitempty"`
}

ActiveDocSpec defines the desired state of ActiveDoc

func (*ActiveDocSpec) DeepCopy

func (in *ActiveDocSpec) DeepCopy() *ActiveDocSpec

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

func (*ActiveDocSpec) DeepCopyInto

func (in *ActiveDocSpec) DeepCopyInto(out *ActiveDocSpec)

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

type ActiveDocStatus

type ActiveDocStatus struct {

	// +optional
	ID *int64 `json:"activeDocId,omitempty"`

	// ProviderAccountHost contains the 3scale account's provider URL
	// +optional
	ProviderAccountHost string `json:"providerAccountHost,omitempty"`

	// ProductResourceName references the managed 3scale product
	// +optional
	ProductResourceName *corev1.LocalObjectReference `json:"productResourceName,omitempty"`

	// ObservedGeneration reflects the generation of the most recently observed Backend Spec.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Current state of the activedoc resource.
	// 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"`
}

ActiveDocStatus defines the observed state of ActiveDoc

func (*ActiveDocStatus) DeepCopy

func (in *ActiveDocStatus) DeepCopy() *ActiveDocStatus

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

func (*ActiveDocStatus) DeepCopyInto

func (in *ActiveDocStatus) DeepCopyInto(out *ActiveDocStatus)

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

func (*ActiveDocStatus) Equals

func (o *ActiveDocStatus) Equals(other *ActiveDocStatus, logger logr.Logger) bool

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) GatewayResponse

func (a *ApicastHostedSpec) GatewayResponse() *GatewayResponseSpec

func (*ApicastHostedSpec) HostRewrite

func (a *ApicastHostedSpec) HostRewrite() *string

func (*ApicastHostedSpec) OIDCSpec

func (a *ApicastHostedSpec) OIDCSpec() *OIDCSpec

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) GatewayResponse

func (a *ApicastSelfManagedSpec) GatewayResponse() *GatewayResponseSpec

func (*ApicastSelfManagedSpec) HostRewrite

func (a *ApicastSelfManagedSpec) HostRewrite() *string

func (*ApicastSelfManagedSpec) OIDCSpec

func (a *ApicastSelfManagedSpec) OIDCSpec() *OIDCSpec

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"`

	// +optional
	GatewayResponse *GatewayResponseSpec `json:"gatewayResponse,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) GatewayResponseSpec

func (a *AppKeyAppIDAuthenticationSpec) GatewayResponseSpec() *GatewayResponseSpec

func (*AppKeyAppIDAuthenticationSpec) HostRewrite

func (a *AppKeyAppIDAuthenticationSpec) HostRewrite() *string

func (*AppKeyAppIDAuthenticationSpec) SecuritySecretToken

func (a *AppKeyAppIDAuthenticationSpec) SecuritySecretToken() *string

type Application added in v0.11.0

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

	Spec   ApplicationSpec   `json:"spec,omitempty"`
	Status ApplicationStatus `json:"status,omitempty"`
}

Application is the Schema for the applications API

func (*Application) DeepCopy added in v0.11.0

func (in *Application) DeepCopy() *Application

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

func (*Application) DeepCopyInto added in v0.11.0

func (in *Application) DeepCopyInto(out *Application)

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

func (*Application) DeepCopyObject added in v0.11.0

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

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

type ApplicationList added in v0.11.0

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

ApplicationList contains a list of Application

func (*ApplicationList) DeepCopy added in v0.11.0

func (in *ApplicationList) DeepCopy() *ApplicationList

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

func (*ApplicationList) DeepCopyInto added in v0.11.0

func (in *ApplicationList) DeepCopyInto(out *ApplicationList)

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

func (*ApplicationList) DeepCopyObject added in v0.11.0

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

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

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"`

	// Controls whether the application plan is published. If not specified it is
	// hidden by default
	// +optional
	Published *bool `json:"published,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.

func (*ApplicationPlanSpec) IsPublished

func (a *ApplicationPlanSpec) IsPublished() bool

type ApplicationSpec added in v0.11.0

type ApplicationSpec struct {

	//AccountCRName name of account custom resource under which the application will be created
	AccountCR *corev1.LocalObjectReference `json:"accountCR"`

	//ProductCRName of product custom resource from which the application plan will be used
	ProductCR *corev1.LocalObjectReference `json:"productCR"`

	//ApplicationPlanName name of application plan that the application will use
	ApplicationPlanName string `json:"applicationPlanName"`

	//Name identifies the application uniquely within the account
	Name string `json:"name"`

	//Description human-readable text of the application
	Description string `json:"description"`

	//Suspend application if true suspends application, if false resumes application.
	//+optional
	Suspend bool `json:"suspend,omitempty"`
}

ApplicationSpec defines the desired state of Application

func (*ApplicationSpec) DeepCopy added in v0.11.0

func (in *ApplicationSpec) DeepCopy() *ApplicationSpec

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

func (*ApplicationSpec) DeepCopyInto added in v0.11.0

func (in *ApplicationSpec) DeepCopyInto(out *ApplicationSpec)

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

type ApplicationStatus added in v0.11.0

type ApplicationStatus struct {

	// +optional
	ID *int64 `json:"applicationID,omitempty"`

	// 3scale control plane host
	// +optional
	ProviderAccountHost string `json:"providerAccountHost,omitempty"`

	// +optional
	State string `json:"state,omitempty"`

	// ObservedGeneration reflects the generation of the most recently observed Application Spec.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Current state of the 3scale application.
	// 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"`
}

ApplicationStatus defines the observed state of Application

func (*ApplicationStatus) DeepCopy added in v0.11.0

func (in *ApplicationStatus) DeepCopy() *ApplicationStatus

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

func (*ApplicationStatus) DeepCopyInto added in v0.11.0

func (in *ApplicationStatus) DeepCopyInto(out *ApplicationStatus)

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

func (*ApplicationStatus) Equals added in v0.11.0

func (b *ApplicationStatus) Equals(other *ApplicationStatus, logger logr.Logger) bool

type AuthenticationSpec

type AuthenticationSpec struct {
	// +optional
	UserKeyAuthentication *UserKeyAuthenticationSpec `json:"userkey,omitempty"`

	// +optional
	AppKeyAppIDAuthentication *AppKeyAppIDAuthenticationSpec `json:"appKeyAppID,omitempty"`

	// +optional
	OIDC *OIDCSpec `json:"oidc,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) GatewayResponse

func (a *AuthenticationSpec) GatewayResponse() *GatewayResponseSpec

func (*AuthenticationSpec) HostRewrite

func (a *AuthenticationSpec) HostRewrite() *string

func (*AuthenticationSpec) OIDCSpec

func (a *AuthenticationSpec) OIDCSpec() *OIDCSpec

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:resource:path=backends,scope=Namespaced +operator-sdk: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 backend 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

BackendStatusError 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 CustomPolicyDefinition

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

	Spec   CustomPolicyDefinitionSpec   `json:"spec,omitempty"`
	Status CustomPolicyDefinitionStatus `json:"status,omitempty"`
}

CustomPolicyDefinition is the Schema for the custompolicydefinitions API

func (*CustomPolicyDefinition) DeepCopy

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

func (*CustomPolicyDefinition) DeepCopyInto

func (in *CustomPolicyDefinition) DeepCopyInto(out *CustomPolicyDefinition)

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

func (*CustomPolicyDefinition) DeepCopyObject

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

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

type CustomPolicyDefinitionList

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

CustomPolicyDefinitionList contains a list of CustomPolicyDefinition

func (*CustomPolicyDefinitionList) DeepCopy

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

func (*CustomPolicyDefinitionList) DeepCopyInto

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

func (*CustomPolicyDefinitionList) DeepCopyObject

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

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

type CustomPolicyDefinitionSpec

type CustomPolicyDefinitionSpec struct {

	// ProviderAccountRef references account provider credentials
	// +optional
	ProviderAccountRef *corev1.LocalObjectReference `json:"providerAccountRef,omitempty"`

	// Name is the name of the custom policy
	Name string `json:"name"`

	// Version is the version of the custom policy
	Version string `json:"version"`

	// Schema is the schema of the custom policy
	Schema CustomPolicySchemaSpec `json:"schema"`
}

CustomPolicyDefinitionSpec defines the desired state of CustomPolicyDefinition

func (*CustomPolicyDefinitionSpec) DeepCopy

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

func (*CustomPolicyDefinitionSpec) DeepCopyInto

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

type CustomPolicyDefinitionStatus

type CustomPolicyDefinitionStatus struct {

	// +optional
	// ID of the custom policy
	ID *int64 `json:"policyID,omitempty"`

	// ProviderAccountHost contains the 3scale account's provider URL
	// +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 custom policy resource.
	// 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"`
}

CustomPolicyDefinitionStatus defines the observed state of CustomPolicyDefinition

func (*CustomPolicyDefinitionStatus) DeepCopy

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

func (*CustomPolicyDefinitionStatus) DeepCopyInto

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

func (*CustomPolicyDefinitionStatus) Equals

type CustomPolicySchemaSpec

type CustomPolicySchemaSpec struct {
	// Name is the name of the custom policy schema
	Name string `json:"name"`

	// Version is the version of the custom policy schema
	Version string `json:"version"`

	// Summary is the summary of the custom policy schema
	Summary string `json:"summary"`

	// Description is an array of description messages for the custom policy schema
	Description *[]string `json:"description,omitempty"`

	// Schema the $schema keyword is used to declare that this is a JSON Schema.
	Schema string `json:"$schema"`

	// Configuration defines the structural schema for the policy
	// +kubebuilder:pruning:PreserveUnknownFields
	Configuration runtime.RawExtension `json:"configuration"`
}

CustomPolicyDefinitionSchemaSpec defines the desired Custom Policy schema

func (*CustomPolicySchemaSpec) DeepCopy

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

func (*CustomPolicySchemaSpec) DeepCopyInto

func (in *CustomPolicySchemaSpec) DeepCopyInto(out *CustomPolicySchemaSpec)

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

type DeveloperAccount

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

	Spec   DeveloperAccountSpec   `json:"spec,omitempty"`
	Status DeveloperAccountStatus `json:"status,omitempty"`
}

DeveloperAccount is the Schema for the developeraccounts API

func (*DeveloperAccount) DeepCopy

func (in *DeveloperAccount) DeepCopy() *DeveloperAccount

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

func (*DeveloperAccount) DeepCopyInto

func (in *DeveloperAccount) DeepCopyInto(out *DeveloperAccount)

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

func (*DeveloperAccount) DeepCopyObject

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

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

func (*DeveloperAccount) Validate

func (a *DeveloperAccount) Validate() field.ErrorList

type DeveloperAccountList

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

DeveloperAccountList contains a list of DeveloperAccount

func (*DeveloperAccountList) DeepCopy

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

func (*DeveloperAccountList) DeepCopyInto

func (in *DeveloperAccountList) DeepCopyInto(out *DeveloperAccountList)

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

func (*DeveloperAccountList) DeepCopyObject

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

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

type DeveloperAccountSpec

type DeveloperAccountSpec struct {
	// OrgName is the organization name
	OrgName string `json:"orgName"`

	// MonthlyBillingEnabled sets the billing status. Defaults to "true", ie., active
	// +optional
	MonthlyBillingEnabled *bool `json:"monthlyBillingEnabled,omitempty"`

	// MonthlyChargingEnabled Defaults to "true"
	// +optional
	MonthlyChargingEnabled *bool `json:"monthlyChargingEnabled,omitempty"`

	// ProviderAccountRef references account provider credentials
	// +optional
	ProviderAccountRef *corev1.LocalObjectReference `json:"providerAccountRef,omitempty"`
}

DeveloperAccountSpec defines the desired state of DeveloperAccount

func (*DeveloperAccountSpec) DeepCopy

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

func (*DeveloperAccountSpec) DeepCopyInto

func (in *DeveloperAccountSpec) DeepCopyInto(out *DeveloperAccountSpec)

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

type DeveloperAccountStatus

type DeveloperAccountStatus struct {
	// +optional
	ID *int64 `json:"accountID,omitempty"`

	// +optional
	AccountState *string `json:"accountState,omitempty"`

	// +optional
	CreditCardStored *bool `json:"creditCardStored,omitempty"`

	// ProviderAccountHost contains the 3scale account's provider URL
	// +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 policy resource.
	// 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"`
}

DeveloperAccountStatus defines the observed state of DeveloperAccount

func (*DeveloperAccountStatus) DeepCopy

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

func (*DeveloperAccountStatus) DeepCopyInto

func (in *DeveloperAccountStatus) DeepCopyInto(out *DeveloperAccountStatus)

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

func (*DeveloperAccountStatus) Equals

func (a *DeveloperAccountStatus) Equals(other *DeveloperAccountStatus, logger logr.Logger) bool

func (*DeveloperAccountStatus) IsReady

func (s *DeveloperAccountStatus) IsReady() bool

type DeveloperUser

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

	Spec   DeveloperUserSpec   `json:"spec,omitempty"`
	Status DeveloperUserStatus `json:"status,omitempty"`
}

DeveloperUser is the Schema for the developerusers API

func (*DeveloperUser) DeepCopy

func (in *DeveloperUser) DeepCopy() *DeveloperUser

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

func (*DeveloperUser) DeepCopyInto

func (in *DeveloperUser) DeepCopyInto(out *DeveloperUser)

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

func (*DeveloperUser) DeepCopyObject

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

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

func (*DeveloperUser) IsAdmin

func (s *DeveloperUser) IsAdmin() bool

func (*DeveloperUser) IsOrphan

func (s *DeveloperUser) IsOrphan() bool

func (*DeveloperUser) Validate

func (a *DeveloperUser) Validate() field.ErrorList

type DeveloperUserList

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

DeveloperUserList contains a list of DeveloperUser

func (*DeveloperUserList) DeepCopy

func (in *DeveloperUserList) DeepCopy() *DeveloperUserList

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

func (*DeveloperUserList) DeepCopyInto

func (in *DeveloperUserList) DeepCopyInto(out *DeveloperUserList)

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

func (*DeveloperUserList) DeepCopyObject

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

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

type DeveloperUserSpec

type DeveloperUserSpec struct {

	// Username
	Username string `json:"username"`

	// Email
	Email string `json:"email"`

	// Password
	PasswordCredentialsRef corev1.SecretReference `json:"passwordCredentialsRef"`

	// DeveloperAccountRef is the reference to the parent developer account
	DeveloperAccountRef corev1.LocalObjectReference `json:"developerAccountRef"`

	// State defines the desired state. Defaults to "false", ie, active
	// +optional
	Suspended bool `json:"suspended,omitempty"`

	// Role defines the desired 3scale role. Defaults to "member"
	// +kubebuilder:validation:Enum=admin;member
	// +optional
	Role *string `json:"role,omitempty"`

	// ProviderAccountRef references account provider credentials
	// +optional
	ProviderAccountRef *corev1.LocalObjectReference `json:"providerAccountRef,omitempty"`
}

DeveloperUserSpec defines the desired state of DeveloperUser

func (*DeveloperUserSpec) DeepCopy

func (in *DeveloperUserSpec) DeepCopy() *DeveloperUserSpec

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

func (*DeveloperUserSpec) DeepCopyInto

func (in *DeveloperUserSpec) DeepCopyInto(out *DeveloperUserSpec)

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

type DeveloperUserStatus

type DeveloperUserStatus struct {
	// +optional
	ID *int64 `json:"developerUserID,omitempty"`

	// +optional
	AccountID *int64 `json:"accoundID,omitempty"`

	// +optional
	DeveloperUserState *string `json:"developerUserState,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"`
}

DeveloperUserStatus defines the observed state of DeveloperUser

func (*DeveloperUserStatus) DeepCopy

func (in *DeveloperUserStatus) DeepCopy() *DeveloperUserStatus

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

func (*DeveloperUserStatus) DeepCopyInto

func (in *DeveloperUserStatus) DeepCopyInto(out *DeveloperUserStatus)

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

func (*DeveloperUserStatus) Equals

func (a *DeveloperUserStatus) Equals(other *DeveloperUserStatus, logger logr.Logger) bool

type GatewayResponseSpec

type GatewayResponseSpec struct {
	// ErrorStatusAuthFailed specifies the response code when authentication fails
	// +optional
	ErrorStatusAuthFailed *int32 `json:"errorStatusAuthFailed,omitempty"`

	// ErrorHeadersAuthFailed specifies the Content-Type header when authentication fails
	// +optional
	ErrorHeadersAuthFailed *string `json:"errorHeadersAuthFailed,omitempty"`

	// ErrorAuthFailed specifies the response body when authentication fails
	// +optional
	ErrorAuthFailed *string `json:"errorAuthFailed,omitempty"`

	// ErrorStatusAuthMissing specifies the response code when authentication is missing
	// +optional
	ErrorStatusAuthMissing *int32 `json:"errorStatusAuthMissing,omitempty"`

	// ErrorHeadersAuthMissing specifies the Content-Type header when authentication is missing
	// +optional
	ErrorHeadersAuthMissing *string `json:"errorHeadersAuthMissing,omitempty"`

	// ErrorAuthMissing specifies the response body when authentication is missing
	// +optional
	ErrorAuthMissing *string `json:"errorAuthMissing,omitempty"`

	// ErrorStatusNoMatch specifies the response code when no match error
	// +optional
	ErrorStatusNoMatch *int32 `json:"errorStatusNoMatch,omitempty"`

	// ErrorHeadersNoMatch specifies the Content-Type header when no match error
	// +optional
	ErrorHeadersNoMatch *string `json:"errorHeadersNoMatch,omitempty"`

	// ErrorNoMatch specifies the response body when no match error
	// +optional
	ErrorNoMatch *string `json:"errorNoMatch,omitempty"`

	// ErrorStatusLimitsExceeded specifies the response code when usage limit exceeded
	// +optional
	ErrorStatusLimitsExceeded *int32 `json:"errorStatusLimitsExceeded,omitempty"`

	// ErrorHeadersLimitsExceeded specifies the Content-Type header when usage limit exceeded
	// +optional
	ErrorHeadersLimitsExceeded *string `json:"errorHeadersLimitsExceeded,omitempty"`

	// ErrorLimitsExceeded specifies the response body when usage limit exceeded
	// +optional
	ErrorLimitsExceeded *string `json:"errorLimitsExceeded,omitempty"`
}

GatewayResponseSpec defines the desired gateway response configuration

func (*GatewayResponseSpec) DeepCopy

func (in *GatewayResponseSpec) DeepCopy() *GatewayResponseSpec

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

func (*GatewayResponseSpec) DeepCopyInto

func (in *GatewayResponseSpec) DeepCopyInto(out *GatewayResponseSpec)

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 OIDCAuthenticationFlowSpec

type OIDCAuthenticationFlowSpec struct {
	// OIDCIssuer is the OIDC issuer
	StandardFlowEnabled       bool `json:"standardFlowEnabled"`
	ImplicitFlowEnabled       bool `json:"implicitFlowEnabled"`
	ServiceAccountsEnabled    bool `json:"serviceAccountsEnabled"`
	DirectAccessGrantsEnabled bool `json:"directAccessGrantsEnabled"`
}

OIDCAuthenticationFlowSpec defines the desired OAuth2.0 authorization grant type

func (*OIDCAuthenticationFlowSpec) DeepCopy

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

func (*OIDCAuthenticationFlowSpec) DeepCopyInto

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

type OIDCSpec

type OIDCSpec struct {
	// IssuerType is the type of the OIDC issuer
	// +kubebuilder:validation:Enum=keycloak;rest
	IssuerType string `json:"issuerType"`

	// Issuer is the OIDC issuer
	// +optional
	IssuerEndpoint string `json:"issuerEndpoint,omitempty"`

	// IssuerEndpointRef  is the reference to OIDC issuer Secret that contains IssuerEndpoint
	// +optional
	IssuerEndpointRef *corev1.SecretReference `json:"issuerEndpointRef,omitempty"`

	// AuthenticationFlow specifies OAuth2.0 authorization grant type
	// +optional
	AuthenticationFlow *OIDCAuthenticationFlowSpec `json:"authenticationFlow,omitempty"`

	// JwtClaimWithClientID is the JSON Web Token (JWT) Claim with ClientID that contains the clientID. Defaults to 'azp'.
	// +optional
	JwtClaimWithClientID *string `json:"jwtClaimWithClientID,omitempty"`

	// JwtClaimWithClientIDType sets to process the ClientID Token Claim value as a string or as a liquid template.
	// +kubebuilder:validation:Enum=plain;liquid
	// +optional
	JwtClaimWithClientIDType *string `json:"jwtClaimWithClientIDType,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"`

	// +optional
	GatewayResponse *GatewayResponseSpec `json:"gatewayResponse,omitempty"`
}

OIDCSpec defines the desired configuration of OpenID Connect Authentication

func (*OIDCSpec) CredentialsLocation

func (u *OIDCSpec) CredentialsLocation() *string

func (*OIDCSpec) DeepCopy

func (in *OIDCSpec) DeepCopy() *OIDCSpec

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

func (*OIDCSpec) DeepCopyInto

func (in *OIDCSpec) DeepCopyInto(out *OIDCSpec)

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

func (*OIDCSpec) GatewayResponseSpec

func (u *OIDCSpec) GatewayResponseSpec() *GatewayResponseSpec

func (*OIDCSpec) HostRewrite

func (u *OIDCSpec) HostRewrite() *string

func (*OIDCSpec) SecuritySecretToken

func (u *OIDCSpec) SecuritySecretToken() *string

type OpenAPI

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

	Spec   OpenAPISpec   `json:"spec,omitempty"`
	Status OpenAPIStatus `json:"status,omitempty"`
}

OpenAPI is the Schema for the openapis API +kubebuilder:resource:path=openapis,scope=Namespaced

func (*OpenAPI) DeepCopy

func (in *OpenAPI) DeepCopy() *OpenAPI

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

func (*OpenAPI) DeepCopyInto

func (in *OpenAPI) DeepCopyInto(out *OpenAPI)

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

func (*OpenAPI) DeepCopyObject

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

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

func (*OpenAPI) SetDefaults

func (o *OpenAPI) SetDefaults(logger logr.Logger) bool

SetDefaults set explicit defaults

func (*OpenAPI) Validate

func (o *OpenAPI) Validate() field.ErrorList

type OpenAPIList

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

OpenAPIList contains a list of OpenAPI

func (*OpenAPIList) DeepCopy

func (in *OpenAPIList) DeepCopy() *OpenAPIList

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

func (*OpenAPIList) DeepCopyInto

func (in *OpenAPIList) DeepCopyInto(out *OpenAPIList)

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

func (*OpenAPIList) DeepCopyObject

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

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

type OpenAPIRefSpec

type OpenAPIRefSpec struct {
	// SecretRef refers to the secret object that contains the OpenAPI Document
	// +optional
	SecretRef *corev1.ObjectReference `json:"secretRef,omitempty"`

	// URL Remote URL from where to fetch the OpenAPI Document
	// +kubebuilder:validation:Pattern=`^https?:\/\/.*$`
	// +optional
	URL *string `json:"url,omitempty"`
}

OpenAPIRefSpec Reference to the OpenAPI Specification

func (*OpenAPIRefSpec) DeepCopy

func (in *OpenAPIRefSpec) DeepCopy() *OpenAPIRefSpec

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

func (*OpenAPIRefSpec) DeepCopyInto

func (in *OpenAPIRefSpec) DeepCopyInto(out *OpenAPIRefSpec)

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

type OpenAPISpec

type OpenAPISpec struct {

	// OpenAPIRef Reference to the OpenAPI Specification
	OpenAPIRef OpenAPIRefSpec `json:"openapiRef"`

	// ProviderAccountRef references account provider credentials
	// +optional
	ProviderAccountRef *corev1.LocalObjectReference `json:"providerAccountRef,omitempty"`

	// ProductionPublicBaseURL Custom public production URL
	// +kubebuilder:validation:Pattern=`^https?:\/\/.*$`
	// +optional
	ProductionPublicBaseURL *string `json:"productionPublicBaseURL,omitempty"`

	// StagingPublicBaseURL Custom public staging URL
	// +kubebuilder:validation:Pattern=`^https?:\/\/.*$`
	// +optional
	StagingPublicBaseURL *string `json:"stagingPublicBaseURL,omitempty"`

	// ProductSystemName 3scale product system name
	// +optional
	ProductSystemName *string `json:"productSystemName,omitempty"`

	// PrivateBaseURL Custom private base URL
	// +optional
	PrivateBaseURL *string `json:"privateBaseURL,omitempty"`

	// PrefixMatching Use prefix matching instead of strict matching on mapping rules derived from openapi operations
	// +optional
	PrefixMatching *bool `json:"prefixMatching,omitempty"`

	// PrivateAPIHostHeader Custom host header sent by the API gateway to the private API
	// +optional
	PrivateAPIHostHeader *string `json:"privateAPIHostHeader,omitempty"`

	// PrivateAPISecretToken Custom secret token sent by the API gateway to the private API
	// +optional
	PrivateAPISecretToken *string `json:"privateAPISecretToken,omitempty"`

	// +optional
	OIDC *OIDCSpec `json:"oidc,omitempty"`
}

OpenAPISpec defines the desired state of OpenAPI

func (*OpenAPISpec) DeepCopy

func (in *OpenAPISpec) DeepCopy() *OpenAPISpec

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

func (*OpenAPISpec) DeepCopyInto

func (in *OpenAPISpec) DeepCopyInto(out *OpenAPISpec)

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

type OpenAPIStatus

type OpenAPIStatus struct {

	// ProviderAccountHost contains the 3scale account's provider URL
	// +optional
	ProviderAccountHost string `json:"providerAccountHost,omitempty"`

	// ProductResourceName references the managed 3scale product
	// +optional
	ProductResourceName *corev1.LocalObjectReference `json:"productResourceName,omitempty"`

	// BackendResourceNames contains a list of references to the managed 3scale backends
	// +optional
	BackendResourceNames []corev1.LocalObjectReference `json:"backendResourceNames,omitempty"`

	// ObservedGeneration reflects the generation of the most recently observed Backend Spec.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Current state of the openapi resource.
	// 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"`
}

OpenAPIStatus defines the observed state of OpenAPI

func (*OpenAPIStatus) DeepCopy

func (in *OpenAPIStatus) DeepCopy() *OpenAPIStatus

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

func (*OpenAPIStatus) DeepCopyInto

func (in *OpenAPIStatus) DeepCopyInto(out *OpenAPIStatus)

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

func (*OpenAPIStatus) Equals

func (o *OpenAPIStatus) Equals(other *OpenAPIStatus, logger logr.Logger) bool

type PolicyConfig

type PolicyConfig struct {
	// Name defines the policy unique name
	Name string `json:"name"`

	// Version defines the policy version
	Version string `json:"version"`

	// Configuration defines the policy configuration
	// +kubebuilder:pruning:PreserveUnknownFields
	// +optional
	Configuration runtime.RawExtension `json:"configuration,omitempty"`

	// ConfigurationRef Secret reference containing policy configuration
	// +optional
	ConfigurationRef corev1.SecretReference `json:"configurationRef,omitempty"`

	// Enabled defines activation state
	Enabled bool `json:"enabled"`
}

PolicyConfig defines policy definition

func (*PolicyConfig) DeepCopy

func (in *PolicyConfig) DeepCopy() *PolicyConfig

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

func (*PolicyConfig) DeepCopyInto

func (in *PolicyConfig) DeepCopyInto(out *PolicyConfig)

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 +kubebuilder:resource:path=products,scope=Namespaced +operator-sdk: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

func (product *Product) IsSynced() bool

func (*Product) RemoveBackendReferences added in v0.9.0

func (product *Product) RemoveBackendReferences(backendSystemName string) bool

RemoveBackendReferences returns true if product CR has mentions of a backend that matches backendSystemName in: backendUsage, Pricing Plans, Limits and removes the references of backend.

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) GatewayResponse

func (d *ProductDeploymentSpec) GatewayResponse() *GatewayResponseSpec

func (*ProductDeploymentSpec) HostRewrite

func (d *ProductDeploymentSpec) HostRewrite() *string

func (*ProductDeploymentSpec) OIDCSpec

func (d *ProductDeploymentSpec) OIDCSpec() *OIDCSpec

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"`

	// Policies holds the product's policy chain
	// +optional
	Policies []PolicyConfig `json:"policies,omitempty"`
}

ProductSpec defines the desired state of Product

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) GatewayResponse

func (s *ProductSpec) GatewayResponse() *GatewayResponseSpec

func (*ProductSpec) HostRewrite

func (s *ProductSpec) HostRewrite() *string

func (*ProductSpec) OIDCSpec

func (s *ProductSpec) OIDCSpec() *OIDCSpec

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

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 ProxyConfigPromote added in v0.10.0

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

	Spec   ProxyConfigPromoteSpec   `json:"spec,omitempty"`
	Status ProxyConfigPromoteStatus `json:"status,omitempty"`
}

ProxyConfigPromote is the Schema for the proxyconfigpromotes API

func (*ProxyConfigPromote) DeepCopy added in v0.10.0

func (in *ProxyConfigPromote) DeepCopy() *ProxyConfigPromote

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

func (*ProxyConfigPromote) DeepCopyInto added in v0.10.0

func (in *ProxyConfigPromote) DeepCopyInto(out *ProxyConfigPromote)

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

func (*ProxyConfigPromote) DeepCopyObject added in v0.10.0

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

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

type ProxyConfigPromoteList added in v0.10.0

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

ProxyConfigPromoteList contains a list of ProxyConfigPromote

func (*ProxyConfigPromoteList) DeepCopy added in v0.10.0

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

func (*ProxyConfigPromoteList) DeepCopyInto added in v0.10.0

func (in *ProxyConfigPromoteList) DeepCopyInto(out *ProxyConfigPromoteList)

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

func (*ProxyConfigPromoteList) DeepCopyObject added in v0.10.0

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

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

type ProxyConfigPromoteSpec added in v0.10.0

type ProxyConfigPromoteSpec struct {

	// product CR metadata.name
	ProductCRName string `json:"productCRName"`

	// Environment you wish to promote to, if not present defaults to staging and if set to true promotes to production
	// +optional
	Production *bool `json:"production,omitempty"`

	// deleteCR  deletes this CR when it has successfully completed the promotion
	// +optional
	DeleteCR *bool `json:"deleteCR,omitempty"`
}

ProxyConfigPromoteSpec defines the desired state of ProxyConfigPromote

func (*ProxyConfigPromoteSpec) DeepCopy added in v0.10.0

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

func (*ProxyConfigPromoteSpec) DeepCopyInto added in v0.10.0

func (in *ProxyConfigPromoteSpec) DeepCopyInto(out *ProxyConfigPromoteSpec)

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

type ProxyConfigPromoteStatus added in v0.10.0

type ProxyConfigPromoteStatus struct {

	// The id of the product that has been promoted
	//+optional
	ProductId string `json:"productId,omitempty"`

	// The latest Version in production
	//+optional
	LatestProductionVersion int `json:"latestProductionVersion,omitempty"`
	// The latest Version in staging
	//+optional
	LatestStagingVersion int `json:"latestStagingVersion,omitempty"`

	// Current state of the activedoc resource.
	// 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"`
}

ProxyConfigPromoteStatus defines the observed state of ProxyConfigPromote

func (*ProxyConfigPromoteStatus) DeepCopy added in v0.10.0

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

func (*ProxyConfigPromoteStatus) DeepCopyInto added in v0.10.0

func (in *ProxyConfigPromoteStatus) DeepCopyInto(out *ProxyConfigPromoteStatus)

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

func (*ProxyConfigPromoteStatus) Equals added in v0.10.0

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"`

	// +optional
	GatewayResponse *GatewayResponseSpec `json:"gatewayResponse,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) GatewayResponseSpec

func (u *UserKeyAuthenticationSpec) GatewayResponseSpec() *GatewayResponseSpec

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