v1alpha1

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Apr 9, 2021 License: MPL-2.0 Imports: 20 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the tyk v1alpha1 API group +kubebuilder:object:generate=true +groupName=tyk.tyk.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "tyk.tyk.io", Version: "v1alpha1"}

	// 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

func Marshal

func Marshal(v interface{}) ([]byte, error)

Marshal marshals v as json. This makes sure Float64 values are treated as a number of float64 type

Types

type APIDefinitionSpec

type APIDefinitionSpec struct {

	// For server use only, do not use
	ID string `json:"id,omitempty"`

	// Only set this field if you are referring
	// To an existing API in def.
	// The Operator will use this API ID to link the CRD with the API in Tyk
	// Note the values in the CRD will become the new source of truth, overriding the existing API Definition
	APIID string `json:"api_id,omitempty"`

	Name string `json:"name"`

	// OrgID is overwritten - no point setting this
	OrgID string `json:"org_id,omitempty"`

	// Active specifies if the api is enabled or not
	Active bool `json:"active,omitempty"`

	// Proxy
	Proxy Proxy `json:"proxy"`

	// +optional
	ListenPort int `json:"listen_port"`

	// +kubebuilder:validation:Enum=http;https;tcp;tls
	Protocol string `json:"protocol"`

	EnableProxyProtocol bool `json:"enable_proxy_protocol,omitempty"`

	// Domain represents a custom host header that the gateway will listen on for this API
	Domain string `json:"domain,omitempty"`

	// DoNotTrack disables endpoint tracking for this API. Default is true, you need to explicitly set it to false
	DoNotTrack *bool `json:"do_not_track,omitempty"`

	// UseKeylessAccess will switch off all key checking. Some analytics will still be recorded, but rate-limiting,
	// quotas and security policies will not be possible (there is no session to attach requests to).
	UseKeylessAccess bool `json:"use_keyless,omitempty"`

	// UseOAuth2 enables oauth2 authorization
	UseOauth2 bool `json:"use_oauth2,omitempty"`

	//+optional
	Oauth2Meta *OAuth2Meta `json:"oauth_meta,omitempty"`

	// StripAuthData ensures that any security tokens used for accessing APIs are stripped and not leaked to the upstream
	StripAuthData bool `json:"strip_auth_data,omitempty"`

	Auth AuthConfig `json:"auth,omitempty"`

	// +optional
	AuthConfigs map[string]AuthConfig `json:"auth_configs,omitempty"`

	// UseStandardAuth enables simple bearer token authentication
	UseStandardAuth bool `json:"use_standard_auth,omitempty"`

	// EnableJWT set JWT as the access method for this API.
	EnableJWT bool `json:"enable_jwt,omitempty"`

	EnableCoProcessAuth bool `json:"enable_coprocess_auth,omitempty"`

	// JWTSigningMethod algorithm used to sign jwt token
	// +kubebuilder:validation:Enum=rsa;hmac;ecdsa
	JWTSigningMethod string `json:"jwt_signing_method,omitempty"`

	// JWTSource Must either be a base64 encoded valid RSA/HMAC key or a url to a
	// resource serving JWK, this key will then be used to validate inbound JWT and
	// throttle them according to the centralised JWT options and fields set in the
	// configuration.
	JWTSource string `json:"jwt_source,omitempty"`

	// JWTIdentityBaseField Identifies the user or identity to be used in the
	// Claims of the JWT. This will fallback to sub if not found. This field forms
	// the basis of a new “virtual” token that gets used after validation. It means
	// policy attributes are carried forward through Tyk for attribution purposes.
	JWTIdentityBaseField string `json:"jwt_identity_base_field,omitempty"`

	// JWTClientIDBaseField is the name of the field on JWT claim to use for client
	// id. This field is mutually exclusive to jwt_identity_base_field, meaning you
	// can only set/use one and jwt_identity_base_field takes precedence when both
	// are set.
	JWTClientIDBaseField string `json:"jwt_client_base_field,omitempty"`

	// JWTPolicyFieldName The policy ID to apply to the virtual token generated for a JWT
	JWTPolicyFieldName string `json:"jwt_policy_field_name,omitempty"`

	// JWTDefaultPolicies is a list of policies that will be used when base policy
	// can't be extracted from the JWT token. When this list is provided the first
	// element will be used as the base policy while the rest of elements will be applied.
	JWTDefaultPolicies []string `json:"jwt_default_policies,omitempty"`

	// JWTIssuedAtValidationSkew adds validation for  issued at JWT claim.
	// Given
	//	now = current unix time
	//	skew = jwt_issued_at_validation_skew
	//	iat = the issued at jwt claim
	// If iat > (now + skew) then validation will fail with "token used before issued"
	JWTIssuedAtValidationSkew uint64 `json:"jwt_issued_at_validation_skew,omitempty"`

	// JWTExpiresAtValidationSkew adds validation for  expired at JWT claim.
	// Given
	//	now = current unix time
	//	skew = jwt_expires_at_validation_skew
	//	exp = expired at
	// If exp > (now - skew) then validation will fail with "token has expired"
	JWTExpiresAtValidationSkew uint64 `json:"jwt_expires_at_validation_skew,omitempty"`

	// JWTNotBeforeValidationSkew adds validation for  not before  JWT claim.
	// Given
	//	now = current unix time
	//	skew = jwt_not_before_validation_skew
	//	nbf = the not before  jwt claim
	// If nbf > (now + skew) then validation will fail with "token is not valid yet"
	JWTNotBeforeValidationSkew uint64 `json:"jwt_not_before_validation_skew,omitempty"`

	// JWTSkipKid when true we ingore using kid as the identity for a JWT token and
	// instead use jwt_identity_base_field if it was set or fallback to sub JWT
	// claim.
	JWTSkipKid bool `json:"jwt_skip_kid,omitempty"`

	// JWTScopeToPolicyMapping this is a mapping of scope value to policy id. If
	// this is set then a scope value found in this map will make the mappend
	// policy to be applied.
	JWTScopeToPolicyMapping map[string]string `json:"jwt_scope_to_policy_mapping,omitempty"`

	// JWTScopeClaimName overides the key used for scope values in the JWT claims.
	// By default the value is "scope"
	JWTScopeClaimName string `json:"jwt_scope_claim_name,omitempty"`

	VersionDefinition VersionDefinition `json:"definition,omitempty"`

	VersionData VersionData `json:"version_data,omitempty"`

	CustomMiddleware MiddlewareSection `json:"custom_middleware,omitempty"`

	CacheOptions CacheOptions `json:"cache_options,omitempty"`

	// SessionLifetime this is duration in seconds before the session key expires
	// in redis.
	//
	// Example:
	// If you want the session keys to be alive only 24 hours you can set this
	// value to 86400 that we can break down to
	//	60 * 60 * 24 = Total seconds in a day
	//+optional
	SessionLifetime int64 `json:"session_lifetime,omitempty"`

	// Internal tells Tyk Gateway that this is a virtual API. It can only be routed to from other APIs.
	Internal bool `json:"internal,omitempty"`

	// EnableIPWhiteListing activates the ip whitelisting middleware.
	EnableIPWhiteListing bool `json:"enable_ip_whitelisting,omitempty"`

	// AllowedIPs is a list of IP address that are whitelisted.When this is
	// provided all IP address that is not on this list will be blocked and a 403 http
	// status will be returned. The IP address can be IPv4 or IPv6.IP in
	// CIDR notation is also supported.
	AllowedIPs []string `json:"allowed_ips,omitempty"`

	// EnableIPBlacklisting activates the ip blacklisting middleware.
	EnableIPBlacklisting bool `json:"enable_ip_blacklisting,omitempty"`

	// BlacklistedIPs is a list of IP address that will be blacklisted.This means if
	// origin IP matches any IP in this list a 403 http status code will be
	// returned. The IP address can be IPv4 or IPv6. IP in CIDR notation is also
	// supported.
	BlacklistedIPs []string `json:"blacklisted_ips,omitempty"`

	ResponseProcessors []ResponseProcessor `json:"response_processors,omitempty"`
	CORS               CORS                `json:"CORS,omitempty"`

	// Certificates is a list of Tyk Certificate IDs. e.g. orgid+fingerprint. Use CertificateSecretNames if using cert-manager
	Certificates []string `json:"certificates,omitempty"`

	// CertificateSecretNames represents the names of the secrets that the controller should look for in the in the current
	// namespace which contain the certificates.
	CertificateSecretNames []string `json:"certificate_secret_names,omitempty"`

	// Tags are named gateway nodes which tell gateway clusters whether to load an API or not.
	// for example, to load the API in an ARA gateway, you might want to include an `edge` tag.
	Tags []string `json:"tags,omitempty"`

	// EnableContextVars extracts request context variables from the start of the middleware chain.
	// Set this to true to make them available to your transforms.
	// Context Variables are available in the url rewriter, modify headers and body transforms.
	EnableContextVars bool `json:"enable_context_vars,omitempty"`

	// EnableDetailedRecording instructs Tyk store the inbound request and outbound response data in HTTP Wire format
	// as part of the Analytics data
	EnableDetailedRecording bool `json:"enable_detailed_recording,omitempty"`

	GraphQL *GraphQLConfig `json:"graphql,omitempty"`
}

APIDefinition represents the configuration for a single proxied API and it's versions. +kubebuilder:object:generate=true

func (*APIDefinitionSpec) CollectLoopingTarget added in v0.6.0

func (a *APIDefinitionSpec) CollectLoopingTarget() (targets []Target)

func (*APIDefinitionSpec) DeepCopy

func (in *APIDefinitionSpec) DeepCopy() *APIDefinitionSpec

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

func (*APIDefinitionSpec) DeepCopyInto

func (in *APIDefinitionSpec) DeepCopyInto(out *APIDefinitionSpec)

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

type APILimit

type APILimit struct {
	Rate               int64 `json:"rate"`
	Per                int64 `json:"per"`
	ThrottleInterval   int64 `json:"throttle_interval"`
	ThrottleRetryLimit int   `json:"throttle_retry_limit"`
	MaxQueryDepth      int   `json:"max_query_depth"`
	QuotaMax           int64 `json:"quota_max"`
	QuotaRenews        int64 `json:"quota_renews"`
	QuotaRemaining     int64 `json:"quota_remaining"`
	QuotaRenewalRate   int64 `json:"quota_renewal_rate"`
}

APILimit stores quota and rate limit on ACL level (per API)

func (*APILimit) DeepCopy

func (in *APILimit) DeepCopy() *APILimit

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

func (*APILimit) DeepCopyInto

func (in *APILimit) DeepCopyInto(out *APILimit)

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

type AccessDefinition

type AccessDefinition struct {
	// Namespace of the ApiDefinition resource to target
	Namespace string `json:"namespace"`
	// Name of the ApiDefinition resource to target
	Name string `json:"name"`

	// TODO: APIName should not really be needed, as is auto-set from the APIDefnition Resource
	APIName string `json:"api_name,omitempty"`
	// TODO: APIID should not really be needed, as is auto-set from the APIDefnition Resource
	APIID    string   `json:"api_id,omitempty"`
	Versions []string `json:"versions"`
	//RestrictedTypes []graphql.Type `json:"restricted_types"`
	//Limit          APILimit     `json:"limit,omitempty"`
	AllowanceScope string       `json:"allowance_scope,omitempty"`
	AllowedURLs    []AccessSpec `json:"allowed_urls,omitempty"` // mapped string MUST be a valid regex
}

from tyk/session.go AccessDefinition defines which versions of an API a key has access to

func (*AccessDefinition) DeepCopy

func (in *AccessDefinition) DeepCopy() *AccessDefinition

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

func (*AccessDefinition) DeepCopyInto

func (in *AccessDefinition) DeepCopyInto(out *AccessDefinition)

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

type AccessSpec

type AccessSpec struct {
	URL     string   `json:"url"`
	Methods []string `json:"methods"`
}

AccessSpecs define what URLS a user has access to an what methods are enabled

func (*AccessSpec) DeepCopy

func (in *AccessSpec) DeepCopy() *AccessSpec

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

func (*AccessSpec) DeepCopyInto

func (in *AccessSpec) DeepCopyInto(out *AccessSpec)

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

type AccessTypeEnum added in v0.6.0

type AccessTypeEnum string

+kubebuilder:validation:Enum=authorization_code;refresh_token;password;client_credentials

type ApiDefinition

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

	Spec   APIDefinitionSpec   `json:"spec,omitempty"`
	Status ApiDefinitionStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Domain",type=string,JSONPath=`.spec.domain` +kubebuilder:printcolumn:name="ListenPath",type=string,JSONPath=`.spec.proxy.listen_path` +kubebuilder:printcolumn:name="Proxy.TargetURL",type=string,JSONPath=`.spec.proxy.target_url` +kubebuilder:printcolumn:name="Enabled",type=boolean,JSONPath=`.spec.active` +kubebuilder:resource:shortName=tykapis ApiDefinition is the Schema for the apidefinitions API

func (*ApiDefinition) DeepCopy

func (in *ApiDefinition) DeepCopy() *ApiDefinition

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

func (*ApiDefinition) DeepCopyInto

func (in *ApiDefinition) DeepCopyInto(out *ApiDefinition)

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

func (*ApiDefinition) DeepCopyObject

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

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

func (*ApiDefinition) Default

func (in *ApiDefinition) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*ApiDefinition) SetupWebhookWithManager

func (in *ApiDefinition) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*ApiDefinition) ValidateCreate

func (in *ApiDefinition) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*ApiDefinition) ValidateDelete

func (in *ApiDefinition) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*ApiDefinition) ValidateUpdate

func (in *ApiDefinition) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type ApiDefinitionList

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

ApiDefinitionList contains a list of ApiDefinition +kubebuilder:object:root=true

func (*ApiDefinitionList) DeepCopy

func (in *ApiDefinitionList) DeepCopy() *ApiDefinitionList

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

func (*ApiDefinitionList) DeepCopyInto

func (in *ApiDefinitionList) DeepCopyInto(out *ApiDefinitionList)

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

func (*ApiDefinitionList) DeepCopyObject

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

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

type ApiDefinitionStatus

type ApiDefinitionStatus struct {
	ApiID string `json:"api_id"`

	// LinkedByPolicies is a list policies that references this api definition
	//+optional
	LinkedByPolicies []Target `json:"linked_by_policies,omitempty"`

	// LinkedByAPIs is a list of ApiDefinition namespaced/name that links to this
	// resource
	LinkedByAPIs []Target `json:"linked_by_apis,omitempty"`

	// LinkedToAPIs is a list of ApiDefinition namespaced/name that this resource
	// links to.
	LinkedToAPIs []Target `json:"linked_to_apis,omitempty"`
}

ApiDefinitionStatus defines the observed state of ApiDefinition

func (*ApiDefinitionStatus) DeepCopy

func (in *ApiDefinitionStatus) DeepCopy() *ApiDefinitionStatus

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

func (*ApiDefinitionStatus) DeepCopyInto

func (in *ApiDefinitionStatus) DeepCopyInto(out *ApiDefinitionStatus)

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

type AuthConfig

type AuthConfig struct {
	UseParam          bool            `json:"use_param,omitempty"`
	ParamName         string          `json:"param_name,omitempty"`
	UseCookie         bool            `json:"use_cookie,omitempty"`
	CookieName        string          `json:"cookie_name,omitempty"`
	AuthHeaderName    string          `json:"auth_header_name"`
	UseCertificate    bool            `json:"use_certificate,omitempty"`
	ValidateSignature bool            `json:"validate_signature,omitempty"`
	Signature         SignatureConfig `json:"signature,omitempty"`
}

func (*AuthConfig) DeepCopy

func (in *AuthConfig) DeepCopy() *AuthConfig

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

func (*AuthConfig) DeepCopyInto

func (in *AuthConfig) DeepCopyInto(out *AuthConfig)

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

type AuthProviderCode

type AuthProviderCode string

ApiDefinitionSpec defines the desired state of ApiDefinition

type AuthProviderMeta

type AuthProviderMeta struct {
	Name          AuthProviderCode  `json:"name"`
	StorageEngine StorageEngineCode `json:"storage_engine"`
}

func (*AuthProviderMeta) DeepCopy

func (in *AuthProviderMeta) DeepCopy() *AuthProviderMeta

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

func (*AuthProviderMeta) DeepCopyInto

func (in *AuthProviderMeta) DeepCopyInto(out *AuthProviderMeta)

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

type AuthTypeEnum

type AuthTypeEnum string

type AuthorizeTypeEnum added in v0.6.0

type AuthorizeTypeEnum string

+kubebuilder:validation:Enum=code;token

type BasicAuthMeta

type BasicAuthMeta struct {
	DisableCaching     bool   `json:"disable_caching"`
	CacheTTL           int    `json:"cache_ttl"`
	ExtractFromBody    bool   `json:"extract_from_body"`
	BodyUserRegexp     string `json:"body_user_regexp"`
	BodyPasswordRegexp string `json:"body_password_regexp"`
}

func (*BasicAuthMeta) DeepCopy

func (in *BasicAuthMeta) DeepCopy() *BasicAuthMeta

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

func (*BasicAuthMeta) DeepCopyInto

func (in *BasicAuthMeta) DeepCopyInto(out *BasicAuthMeta)

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

type BundleManifest

type BundleManifest struct {
	FileList         []string          `json:"file_list"`
	CustomMiddleware MiddlewareSection `json:"custom_middleware"`
	Checksum         string            `json:"checksum"`
	Signature        string            `json:"signature"`
}

func (*BundleManifest) DeepCopy

func (in *BundleManifest) DeepCopy() *BundleManifest

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

func (*BundleManifest) DeepCopyInto

func (in *BundleManifest) DeepCopyInto(out *BundleManifest)

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

type CORS

type CORS struct {

	// Enable when set to true it enables the cors middleware for the api
	Enable bool `json:"enable,omitempty"`

	// AllowedOrigins is a list of origin domains to allow access from.
	AllowedOrigins []string `json:"allowed_origins,omitempty"`

	// AllowedMethods is a list of methods to allow access via.
	AllowedMethods []HttpMethod `json:"allowed_methods,omitempty"`

	// AllowedHeaders are headers that are allowed within a request.
	AllowedHeaders []string `json:"allowed_headers,omitempty"`

	// ExposedHeaders is a list of headers that are exposed back in the response.
	ExposedHeaders []string `json:"exposed_headers,omitempty"`

	// AllowCredentials if true will allow cookies
	AllowCredentials bool `json:"allow_credentials,omitempty"`

	// MaxAge is the maximum age of credentials
	MaxAge int `json:"max_age,omitempty"`

	// OptionsPassthrough allow CORS OPTIONS preflight request to be proxied
	// directly to upstream, without authentication and rest of checks. This means
	// that pre-flight requests generated by web-clients such as SwaggerUI or the
	// Tyk Portal documentation system will be able to test the API using trial
	// keys. If your service handles CORS natively, then enable this option.
	OptionsPassthrough bool `json:"options_passthrough,omitempty"`

	// Debug if true, this option produces log files for the CORS middleware
	Debug bool `json:"debug,omitempty"`
}

CORS cors settings

func (*CORS) DeepCopy

func (in *CORS) DeepCopy() *CORS

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

func (*CORS) DeepCopyInto

func (in *CORS) DeepCopyInto(out *CORS)

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

type CacheMeta

type CacheMeta struct {
	Method                 HttpMethod `json:"method"`
	Path                   string     `json:"path"`
	CacheKeyRegex          string     `json:"cache_key_regex"`
	CacheOnlyResponseCodes []int      `json:"cache_response_codes"`
}

func (*CacheMeta) DeepCopy

func (in *CacheMeta) DeepCopy() *CacheMeta

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

func (*CacheMeta) DeepCopyInto

func (in *CacheMeta) DeepCopyInto(out *CacheMeta)

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

type CacheOptions

type CacheOptions struct {
	// EnableCache turns global cache middleware on or off.
	// It is still possible to enable caching on a per-path basis by explicitly setting the endpoint cache middleware.
	// see `spec.version_data.versions.{VERSION}.extended_paths.cache[]`
	EnableCache bool `json:"enable_cache,omitempty"`
	// CacheTimeout is the TTL for a cached object in seconds
	CacheTimeout int64 `json:"cache_timeout"`
	// CacheAllSafeRequests caches responses to (GET, HEAD, OPTIONS) requests
	// overrides per-path cache settings in versions, applies across versions
	CacheAllSafeRequests bool `json:"cache_all_safe_requests,omitempty"`
	// CacheOnlyResponseCodes is an array of response codes which are safe to cache. e.g. 404
	CacheOnlyResponseCodes []int `json:"cache_response_codes,omitempty"`
	// EnableUpstreamCacheControl instructs Tyk Cache to respect upstream cache control headers
	EnableUpstreamCacheControl bool `json:"enable_upstream_cache_control,omitempty"`
	// CacheControlTTLHeader is the response header which tells Tyk how long it is safe to cache the response for
	CacheControlTTLHeader string `json:"cache_control_ttl_header,omitempty"`
	// CacheByHeaders allows header values to be used as part of the cache key
	CacheByHeaders []string `json:"cache_by_headers,omitempty"`
}

func (*CacheOptions) DeepCopy

func (in *CacheOptions) DeepCopy() *CacheOptions

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

func (*CacheOptions) DeepCopyInto

func (in *CacheOptions) DeepCopyInto(out *CacheOptions)

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

type CheckCommand

type CheckCommand struct {
	Name    string `json:"name"`
	Message string `json:"message"`
}

func (*CheckCommand) DeepCopy

func (in *CheckCommand) DeepCopy() *CheckCommand

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

func (*CheckCommand) DeepCopyInto

func (in *CheckCommand) DeepCopyInto(out *CheckCommand)

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

type CircuitBreakerMeta

type CircuitBreakerMeta struct {
	Path   string     `json:"path"`
	Method HttpMethod `json:"method"`

	// ThresholdPercent is the percentage of requests that fail before breaker is tripped
	ThresholdPercent Percent `json:"threshold_percent"`
	// Samples defines the number of requests to base the ThresholdPercent on
	Samples int64 `json:"samples"`
	// ReturnToServiceAfter represents the time in seconds to return back to the service
	ReturnToServiceAfter int  `json:"return_to_service_after"`
	DisableHalfOpenState bool `json:"disable_half_open_state,omitempty"`
}

func (*CircuitBreakerMeta) DeepCopy

func (in *CircuitBreakerMeta) DeepCopy() *CircuitBreakerMeta

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

func (*CircuitBreakerMeta) DeepCopyInto

func (in *CircuitBreakerMeta) DeepCopyInto(out *CircuitBreakerMeta)

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

type Config

type Config struct {
	ListenPort int32 `json:"listen_port"`
	// +kubebuilder:validation:MinLength=3
	Secret string `json:"secret"`
	// +kubebuilder:validation:MinLength=3
	NodeSecret         string `json:"node_secret"`
	ControlAPIHostname string `json:"control_api_hostname"`
	ControlAPIPort     int    `json:"control_api_port"`
	//AllowInsecureConfigs      bool                    `json:"allow_insecure_configs"`
	//PublicKeyPath             string                  `json:"public_key_path"`
	//AllowRemoteConfig         bool                    `bson:"allow_remote_config" json:"allow_remote_config"`
	//Security                  SecurityConfig          `json:"security"`
	//HttpServerOptions         HttpServerOptionsConfig `json:"http_server_options"`
	//ReloadWaitTime            int                     `bson:"reload_wait_time" json:"reload_wait_time"`
	//VersionHeader             string                  `json:"version_header"`
	//UseAsyncSessionWrite      bool                    `json:"optimisations_use_async_session_write"`
	//SuppressRedisSignalReload bool                    `json:"suppress_redis_signal_reload"`
	//// Gateway Security Policies
	//HashKeys                bool           `json:"hash_keys"`
	//HashKeyFunction         string         `json:"hash_key_function"`
	//EnableHashedKeysListing bool           `json:"enable_hashed_keys_listing"`
	//MinTokenLength          int            `json:"min_token_length"`
	//EnableAPISegregation    bool           `json:"enable_api_segregation"`
	//TemplatePath            string         `json:"template_path"`
	//Policies                PoliciesConfig `json:"policies"`
	//DisablePortWhiteList    bool           `json:"disable_ports_whitelist"`
	//// Defines the ports that will be available for the api services to bind to.
	//// This is a map of protocol to PortWhiteList. This allows per protocol
	//// configurations.
	//PortWhiteList map[string]PortWhiteList `json:"ports_whitelist"`
	//
	//// CE Configurations
	//AppPath string `json:"app_path"`
	//
	//// Dashboard Configurations
	//UseDBAppConfigs          bool                   `json:"use_db_app_configs"`
	//DBAppConfOptions         DBAppConfOptionsConfig `json:"db_app_conf_options"`
	Storage StorageOptionsConf `json:"storage"`
}

func (*Config) DeepCopy

func (in *Config) DeepCopy() *Config

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

func (*Config) DeepCopyInto

func (in *Config) DeepCopyInto(out *Config)

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

type DataSourceConfig

type DataSourceConfig struct {
	URL                        string                      `json:"url"`
	Method                     HttpMethod                  `json:"method"`
	Body                       string                      `json:"body,omitempty"`
	DefaultTypeName            string                      `json:"default_type_name,omitempty"`
	Headers                    []string                    `json:"headers,omitempty"`
	StatusCodeTypeNameMappings []StatusCodeTypeNameMapping `json:"status_code_type_name_mappings,omitempty"`
}

func (*DataSourceConfig) DeepCopy

func (in *DataSourceConfig) DeepCopy() *DataSourceConfig

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

func (*DataSourceConfig) DeepCopyInto

func (in *DataSourceConfig) DeepCopyInto(out *DataSourceConfig)

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

type EndPointMeta

type EndPointMeta struct {
	Path          string                        `json:"path"`
	IgnoreCase    bool                          `json:"ignore_case"`
	MethodActions map[string]EndpointMethodMeta `json:"method_actions"`
}

func (*EndPointMeta) DeepCopy

func (in *EndPointMeta) DeepCopy() *EndPointMeta

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

func (*EndPointMeta) DeepCopyInto

func (in *EndPointMeta) DeepCopyInto(out *EndPointMeta)

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

type EndpointMethodAction

type EndpointMethodAction string

type EndpointMethodMeta

type EndpointMethodMeta struct {
	Action  EndpointMethodAction `json:"action"`
	Code    int                  `json:"code"`
	Data    string               `json:"data"`
	Headers map[string]string    `json:"headers"`
}

func (*EndpointMethodMeta) DeepCopy

func (in *EndpointMethodMeta) DeepCopy() *EndpointMethodMeta

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

func (*EndpointMethodMeta) DeepCopyInto

func (in *EndpointMethodMeta) DeepCopyInto(out *EndpointMethodMeta)

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

type EventHandlerMetaConfig

type EventHandlerMetaConfig struct {
	Events map[TykEvent][]EventHandlerTriggerConfig `json:"events"`
}

func (*EventHandlerMetaConfig) DeepCopy

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

func (*EventHandlerMetaConfig) DeepCopyInto

func (in *EventHandlerMetaConfig) DeepCopyInto(out *EventHandlerMetaConfig)

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

type EventHandlerTriggerConfig

type EventHandlerTriggerConfig struct {
	Handler TykEventHandlerName `json:"handler_name"`
}

func (*EventHandlerTriggerConfig) DeepCopy

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

func (*EventHandlerTriggerConfig) DeepCopyInto

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

type ExtendedPathsSet

type ExtendedPathsSet struct {
	Ignored   []EndPointMeta `json:"ignored,omitempty"`
	WhiteList []EndPointMeta `json:"white_list,omitempty"`
	BlackList []EndPointMeta `json:"black_list,omitempty"`
	// List of paths which cache middleware should be enabled on
	Cached                  []string              `json:"cache,omitempty"`
	Transform               []TemplateMeta        `json:"transform,omitempty"`
	TransformResponse       []TemplateMeta        `json:"transform_response,omitempty"`
	TransformJQ             []TransformJQMeta     `json:"transform_jq,omitempty"`
	TransformJQResponse     []TransformJQMeta     `json:"transform_jq_response,omitempty"`
	TransformHeader         []HeaderInjectionMeta `json:"transform_headers,omitempty"`
	TransformResponseHeader []HeaderInjectionMeta `json:"transform_response_headers,omitempty"`
	AdvanceCacheConfig      []CacheMeta           `json:"advance_cache_config,omitempty"`
	HardTimeouts            []HardTimeoutMeta     `json:"hard_timeouts,omitempty"`
	CircuitBreaker          []CircuitBreakerMeta  `json:"circuit_breakers,omitempty"`
	URLRewrite              []URLRewriteMeta      `json:"url_rewrites,omitempty"`
	Virtual                 []VirtualMeta         `json:"virtual,omitempty"`
	SizeLimit               []RequestSizeMeta     `json:"size_limits,omitempty"`
	MethodTransforms        []MethodTransformMeta `json:"method_transforms,omitempty"`
	TrackEndpoints          []TrackEndpointMeta   `json:"track_endpoints,omitempty"`
	DoNotTrackEndpoints     []TrackEndpointMeta   `json:"do_not_track_endpoints,omitempty"`
	//ValidateJSON            []ValidatePathMeta    `json:"validate_json,omitempty"` //  Breaking integration test?
	Internal []InternalMeta `json:"internal,omitempty"`
}

func (*ExtendedPathsSet) DeepCopy

func (in *ExtendedPathsSet) DeepCopy() *ExtendedPathsSet

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

func (*ExtendedPathsSet) DeepCopyInto

func (in *ExtendedPathsSet) DeepCopyInto(out *ExtendedPathsSet)

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

type Float64

type Float64 string

Float64 is a work around to allow representing floating points as strings +kubebuilder:validation:Pattern="^(?:[-+]?(?:[0-9]+))?(?:\\.[0-9]*)?(?:[eE][\\+\\-]?(?:[0-9]+))?$"

source for pattern https://github.com/asaskevich/govalidator/blob/7a23bdc65eef5f3783e782b436f3065eae3fc72d/patterns.go#L19

func (Float64) MarshalJSON

func (f Float64) MarshalJSON() ([]byte, error)

MarshalJSON marshalls f as a float64 number

func (*Float64) UnmarshalJSON

func (f *Float64) UnmarshalJSON(b []byte) error

UnmarshalJSON supports both float64 and a json.Number of float64

type Gateway

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

	Spec   GatewaySpec   `json:"spec,omitempty"`
	Status GatewayStatus `json:"status,omitempty"`
}

Gateway is the Schema for the gateways API +kubebuilder:subresource:status

func (*Gateway) DeepCopy

func (in *Gateway) DeepCopy() *Gateway

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

func (*Gateway) DeepCopyInto

func (in *Gateway) DeepCopyInto(out *Gateway)

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

func (*Gateway) DeepCopyObject

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

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

type GatewayList

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

GatewayList contains a list of Gateway

func (*GatewayList) DeepCopy

func (in *GatewayList) DeepCopy() *GatewayList

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

func (*GatewayList) DeepCopyInto

func (in *GatewayList) DeepCopyInto(out *GatewayList)

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

func (*GatewayList) DeepCopyObject

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

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

type GatewaySpec

type GatewaySpec struct {
	// +kubebuilder:validation:Minimum=0
	// Size is the size of the gateway deployment
	Size int32 `json:"size"`
	// +kubebuilder:validation:Enum=Deployment;DaemonSet
	// Kind is the type of deployment
	Kind string `json:"type"`
	// Version is the version of the gateway docker image
	Version string `json:"version"`
	Config  Config `json:"config"`
}

GatewaySpec defines the desired state of Gateway

func (*GatewaySpec) DeepCopy

func (in *GatewaySpec) DeepCopy() *GatewaySpec

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

func (*GatewaySpec) DeepCopyInto

func (in *GatewaySpec) DeepCopyInto(out *GatewaySpec)

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

type GatewayStatus

type GatewayStatus struct {

	// The names of the Tyk Gateway pods
	Nodes []string `json:"nodes"`
}

GatewayStatus defines the observed state of Gateway

func (*GatewayStatus) DeepCopy

func (in *GatewayStatus) DeepCopy() *GatewayStatus

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

func (*GatewayStatus) DeepCopyInto

func (in *GatewayStatus) DeepCopyInto(out *GatewayStatus)

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

type GlobalRateLimit

type GlobalRateLimit struct {
	Rate json.Number `json:"rate"`
	Per  json.Number `json:"per"`
}

func (*GlobalRateLimit) DeepCopy

func (in *GlobalRateLimit) DeepCopy() *GlobalRateLimit

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

func (*GlobalRateLimit) DeepCopyInto

func (in *GlobalRateLimit) DeepCopyInto(out *GlobalRateLimit)

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

type GraphQLConfig

type GraphQLConfig struct {

	// Enabled indicates if GraphQL proxy should be enabled.
	Enabled bool `json:"enabled"`

	ExecutionMode GraphQLExecutionMode `json:"execution_mode"`

	// Schema is the GraphQL Schema exposed by the GraphQL API/Upstream/Engine.
	Schema string `json:"schema"`

	// TypeFieldConfigurations is a rule set of data source and mapping of a schema field.
	TypeFieldConfigurations []TypeFieldConfiguration `json:"type_field_configurations,omitempty"`

	// GraphQLPlayground is the Playground specific configuration.
	GraphQLPlayground GraphQLPlayground `json:"playground,omitempty"`
}

GraphQLConfig is the root config object for a GraphQL API.

func (*GraphQLConfig) DeepCopy

func (in *GraphQLConfig) DeepCopy() *GraphQLConfig

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

func (*GraphQLConfig) DeepCopyInto

func (in *GraphQLConfig) DeepCopyInto(out *GraphQLConfig)

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

type GraphQLExecutionMode

type GraphQLExecutionMode string

ExecutionMode is the mode to define how an api behaves. +kubebuilder:validation:Enum=proxyOnly;executionEngine

type GraphQLPlayground

type GraphQLPlayground struct {
	// Enabled indicates if the playground should be enabled.
	Enabled bool `json:"enabled"`
	// Path sets the path on which the playground will be hosted if enabled.
	Path string `json:"path"`
}

GraphQLPlayground represents the configuration for the public playground which will be hosted alongside the api.

func (*GraphQLPlayground) DeepCopy

func (in *GraphQLPlayground) DeepCopy() *GraphQLPlayground

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

func (*GraphQLPlayground) DeepCopyInto

func (in *GraphQLPlayground) DeepCopyInto(out *GraphQLPlayground)

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

type HardTimeoutMeta

type HardTimeoutMeta struct {
	Path    string     `json:"path"`
	Method  HttpMethod `json:"method"`
	TimeOut int        `json:"timeout"`
}

func (*HardTimeoutMeta) DeepCopy

func (in *HardTimeoutMeta) DeepCopy() *HardTimeoutMeta

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

func (*HardTimeoutMeta) DeepCopyInto

func (in *HardTimeoutMeta) DeepCopyInto(out *HardTimeoutMeta)

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

type HeaderInjectionMeta

type HeaderInjectionMeta struct {
	DeleteHeaders []string          `json:"delete_headers"`
	AddHeaders    map[string]string `json:"add_headers"`
	Path          string            `json:"path"`
	Method        HttpMethod        `json:"method"`
	ActOnResponse bool              `json:"act_on"`
}

func (*HeaderInjectionMeta) DeepCopy

func (in *HeaderInjectionMeta) DeepCopy() *HeaderInjectionMeta

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

func (*HeaderInjectionMeta) DeepCopyInto

func (in *HeaderInjectionMeta) DeepCopyInto(out *HeaderInjectionMeta)

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

type HostCheckObject

type HostCheckObject struct {
	CheckURL            string            `json:"url"`
	Protocol            string            `json:"protocol"`
	Timeout             time.Duration     `json:"timeout"`
	EnableProxyProtocol bool              `json:"enable_proxy_protocol"`
	Commands            []CheckCommand    `json:"commands"`
	Method              HttpMethod        `json:"method"`
	Headers             map[string]string `json:"headers"`
	Body                string            `json:"body"`
}

func (*HostCheckObject) DeepCopy

func (in *HostCheckObject) DeepCopy() *HostCheckObject

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

func (*HostCheckObject) DeepCopyInto

func (in *HostCheckObject) DeepCopyInto(out *HostCheckObject)

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

type HttpMethod

type HttpMethod string

Method represents HTTP request method +kubebuilder:validation:Enum=GET;POST;PUT;PATCH;DELETE;OPTIONS;HEAD;CONNECT;TRACE

type IdExtractorConfig

type IdExtractorConfig struct {
	HeaderName      string `json:"header_name,omitempty"`
	FormParamName   string `json:"param_name,omitempty"`
	RegexExpression string `json:"regex_expression,omitempty"`
	RegexMatchIndex int    `json:"regex_match_index,omitempty"`
}

func (*IdExtractorConfig) DeepCopy

func (in *IdExtractorConfig) DeepCopy() *IdExtractorConfig

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

func (*IdExtractorConfig) DeepCopyInto

func (in *IdExtractorConfig) DeepCopyInto(out *IdExtractorConfig)

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

type IdExtractorSource

type IdExtractorSource string

type IdExtractorType

type IdExtractorType string

type InternalMeta

type InternalMeta struct {
	Path   string     `json:"path"`
	Method HttpMethod `json:"method"`
}

func (*InternalMeta) DeepCopy

func (in *InternalMeta) DeepCopy() *InternalMeta

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

func (*InternalMeta) DeepCopyInto

func (in *InternalMeta) DeepCopyInto(out *InternalMeta)

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

type MappingConfiguration

type MappingConfiguration struct {
	Disabled bool   `json:"disabled"`
	Path     string `json:"path"`
}

func (*MappingConfiguration) DeepCopy

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

func (*MappingConfiguration) DeepCopyInto

func (in *MappingConfiguration) DeepCopyInto(out *MappingConfiguration)

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

type MethodTransformMeta

type MethodTransformMeta struct {
	Path     string     `json:"path"`
	Method   HttpMethod `json:"method"`
	ToMethod HttpMethod `json:"to_method"`
}

func (*MethodTransformMeta) DeepCopy

func (in *MethodTransformMeta) DeepCopy() *MethodTransformMeta

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

func (*MethodTransformMeta) DeepCopyInto

func (in *MethodTransformMeta) DeepCopyInto(out *MethodTransformMeta)

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

type MiddlewareDefinition

type MiddlewareDefinition struct {
	Name           string `json:"name"`
	Path           string `json:"path"`
	RequireSession bool   `json:"require_session,omitempty"`
	RawBodyOnly    bool   `json:"raw_body_only,omitempty"`
}

func (*MiddlewareDefinition) DeepCopy

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

func (*MiddlewareDefinition) DeepCopyInto

func (in *MiddlewareDefinition) DeepCopyInto(out *MiddlewareDefinition)

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

type MiddlewareDriver

type MiddlewareDriver string

type MiddlewareIdExtractor

type MiddlewareIdExtractor struct {
	ExtractFrom     IdExtractorSource `json:"extract_from"`
	ExtractWith     IdExtractorType   `json:"extract_with"`
	ExtractorConfig IdExtractorConfig `json:"extractor_config"`
}

func (*MiddlewareIdExtractor) DeepCopy

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

func (*MiddlewareIdExtractor) DeepCopyInto

func (in *MiddlewareIdExtractor) DeepCopyInto(out *MiddlewareIdExtractor)

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

type MiddlewareSection

type MiddlewareSection struct {
	Pre         []MiddlewareDefinition `json:"pre,omitempty"`
	Post        []MiddlewareDefinition `json:"post,omitempty"`
	PostKeyAuth []MiddlewareDefinition `json:"post_key_auth,omitempty"`
	AuthCheck   MiddlewareDefinition   `json:"auth_check,omitempty"`
	Response    []MiddlewareDefinition `json:"response,omitempty"`
	Driver      MiddlewareDriver       `json:"driver"`
	IdExtractor MiddlewareIdExtractor  `json:"id_extractor,omitempty"`
}

func (*MiddlewareSection) DeepCopy

func (in *MiddlewareSection) DeepCopy() *MiddlewareSection

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

func (*MiddlewareSection) DeepCopyInto

func (in *MiddlewareSection) DeepCopyInto(out *MiddlewareSection)

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

type NotificationsManager

type NotificationsManager struct {
	SharedSecret      string `json:"shared_secret"`
	OAuthKeyChangeURL string `json:"oauth_on_keychange_url"`
}

func (*NotificationsManager) DeepCopy

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

func (*NotificationsManager) DeepCopyInto

func (in *NotificationsManager) DeepCopyInto(out *NotificationsManager)

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

type OAuth2Meta

type OAuth2Meta struct {

	// AllowedAccessTypes are an array of allowable access types.
	AllowedAccessTypes []AccessTypeEnum `json:"allowed_access_types"` // osin.AccessRequestType

	// AllowedAuthorizeTypes is an array of allowable `response_type` parameters `token` or authorization code `code`.
	// Choose token for client_credentials or implicit grant types.
	AllowedAuthorizeTypes []AuthorizeTypeEnum `json:"allowed_authorize_types"` // osin.AuthorizeRequestType

	// Login form to handle user login.
	AuthLoginRedirect string `json:"auth_login_redirect,omitempty"`
}

+

func (*OAuth2Meta) DeepCopy

func (in *OAuth2Meta) DeepCopy() *OAuth2Meta

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

func (*OAuth2Meta) DeepCopyInto

func (in *OAuth2Meta) DeepCopyInto(out *OAuth2Meta)

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

type OIDProviderConfig

type OIDProviderConfig struct {
	Issuer    string            `json:"issuer"`
	ClientIDs map[string]string `json:"client_ids"`
}

func (*OIDProviderConfig) DeepCopy

func (in *OIDProviderConfig) DeepCopy() *OIDProviderConfig

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

func (*OIDProviderConfig) DeepCopyInto

func (in *OIDProviderConfig) DeepCopyInto(out *OIDProviderConfig)

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

type OpenIDOptions

type OpenIDOptions struct {
	Providers         []OIDProviderConfig `json:"providers"`
	SegregateByClient bool                `json:"segregate_by_client"`
}

func (*OpenIDOptions) DeepCopy

func (in *OpenIDOptions) DeepCopy() *OpenIDOptions

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

func (*OpenIDOptions) DeepCopyInto

func (in *OpenIDOptions) DeepCopyInto(out *OpenIDOptions)

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

type Organization

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

	Spec   OrganizationSpec   `json:"spec,omitempty"`
	Status OrganizationStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=tykorgs Organization is the Schema for the organizations API

func (*Organization) DeepCopy

func (in *Organization) DeepCopy() *Organization

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

func (*Organization) DeepCopyInto

func (in *Organization) DeepCopyInto(out *Organization)

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

func (*Organization) DeepCopyObject

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

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

type OrganizationList

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

OrganizationList contains a list of Organization

func (*OrganizationList) DeepCopy

func (in *OrganizationList) DeepCopy() *OrganizationList

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

func (*OrganizationList) DeepCopyInto

func (in *OrganizationList) DeepCopyInto(out *OrganizationList)

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

func (*OrganizationList) DeepCopyObject

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

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

type OrganizationSpec

type OrganizationSpec struct {
	ID           string `json:"id,omitempty"`
	OwnerName    string `json:"owner_name"`
	OwnerSlug    string `json:"owner_slug,omitempty"`
	CNAMEEnabled bool   `json:"cname_enabled"`
	CNAME        string `json:"cname"`
}

OrganizationSpec defines the desired state of Organization

func (*OrganizationSpec) DeepCopy

func (in *OrganizationSpec) DeepCopy() *OrganizationSpec

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

func (*OrganizationSpec) DeepCopyInto

func (in *OrganizationSpec) DeepCopyInto(out *OrganizationSpec)

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

type OrganizationStatus

type OrganizationStatus struct {
}

OrganizationStatus defines the observed state of Organization

func (*OrganizationStatus) DeepCopy

func (in *OrganizationStatus) DeepCopy() *OrganizationStatus

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

func (*OrganizationStatus) DeepCopyInto

func (in *OrganizationStatus) DeepCopyInto(out *OrganizationStatus)

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

type Percent

type Percent string

Percent describes a percentage value expressed as a float. This is a positive decimal value that is less than 1 +kubebuilder:validation:Pattern="^0\\.\\d+|1\\.0$"

func (Percent) MarshalJSON

func (p Percent) MarshalJSON() ([]byte, error)

MarshalJSON returns a json string for p. This is a string for normal operations and a float64 when marshalling for dashboard or gateway

func (*Percent) UnmarshalJSON

func (f *Percent) UnmarshalJSON(b []byte) error

type PolicyPartitions

type PolicyPartitions struct {
	Quota      bool `json:"quota"`
	RateLimit  bool `json:"rate_limit"`
	Complexity bool `json:"complexity"`
	Acl        bool `json:"acl"`
	PerAPI     bool `json:"per_api"`
}

func (*PolicyPartitions) DeepCopy

func (in *PolicyPartitions) DeepCopy() *PolicyPartitions

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

func (*PolicyPartitions) DeepCopyInto

func (in *PolicyPartitions) DeepCopyInto(out *PolicyPartitions)

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

type Proxy

type Proxy struct {
	// If PreserveHostHeader is set to true then the host header in the outbound request is retained to be the
	// inbound hostname of the proxy.
	PreserveHostHeader bool `json:"preserve_host_header,omitempty"`

	// ListenPath represents the path to listen on. e.g. `/api` or `/` or `/httpbin`.
	// Any requests coming into the host, on the port that Tyk is configured to run on, that match this path will
	// have the rules defined in the API Definition applied. Versioning assumes that different versions of an API
	// will live on the same URL structure. If you are using URL-based versioning (e.g. /v1/function, /v2/function)
	// then it is recommended to set up a separate non-versioned definition for each version as they are essentially
	// separate APIs.
	ListenPath string `json:"listen_path,omitempty"`

	// TargetURL defines the target URL that the request should be proxied to.
	TargetURL     string          `json:"target_url,omitempty"`
	TargeInternal *TargetInternal `json:"target_internal,omitempty"`

	// DisableStripSlash disables the stripping of the slash suffix from a URL.
	// when `true` a request to http://foo.bar/baz/ will be retained.
	// when `false` a request to http://foo.bar/baz/ will be matched to http://foo.bar/baz
	DisableStripSlash bool `json:"disable_strip_slash,omitempty"`

	// StripListenPath removes the inbound listen path in the outgoing request.
	// e.g. http://acme.com/httpbin/get where `httpbin` is the listen path. The `httpbin` listen path which is used
	// to identify the API loaded in Tyk is removed, and the outbound request would be http://httpbin.org/get
	StripListenPath bool `json:"strip_listen_path,omitempty"`

	// EnableLoadBalancing enables Tyk's round-robin loadbalancer. Tyk will ignore the TargetURL field, and rely on
	// the hosts in the Targets list
	EnableLoadBalancing bool `json:"enable_load_balancing,omitempty"`

	// Targets defines a list of upstream host targets. Tyk will then round-robin load balance between these targets.
	// EnableLoadBalancing must be set to true in order to take advantage of this feature.
	Targets []string `json:"target_list,omitempty"`

	// CheckHostAgainstUptimeTests will check the hostname of the outbound request against the downtime list generated
	// by the uptime test host checker. If the host is found, then it is skipped or removed from the load balancer.
	// This is only valid if uptime tests for the api are enabled.
	CheckHostAgainstUptimeTests bool `json:"check_host_against_uptime_tests,omitempty"`

	// Transport section exposes advanced transport level configurations such as minimum TLS version.
	Transport ProxyTransport `json:"transport,omitempty"`

	// TODO: Untested. Is there a use-case for SD inside a K8s environment?
	ServiceDiscovery ServiceDiscoveryConfiguration `json:"service_discovery,omitempty"`
}

Proxy outlines the API proxying functionality.

func (*Proxy) DeepCopy

func (in *Proxy) DeepCopy() *Proxy

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

func (*Proxy) DeepCopyInto

func (in *Proxy) DeepCopyInto(out *Proxy)

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

type ProxyTransport

type ProxyTransport struct {

	// SSLInsecureSkipVerify controls whether it is possible to use self-signed certificates when connecting to the
	// upstream. This is applied to `TykMakeHttpRequest` & `TykMakeBatchRequest` in virtual endpoint middleware.
	SSLInsecureSkipVerify bool `json:"ssl_insecure_skip_verify,omitempty"`

	// SSLCipherSuites is an array of acceptable cipher suites. A list of allowed cipher suites can be found in the
	// Go Crypto TLS package constants documentation https://golang.org/pkg/crypto/tls/#pkg-constants
	SSLCipherSuites []string `json:"ssl_ciphers,omitempty"`

	// SSLMinVersion defines the minimum TLS version the gateway will use to establish a connection to the upstream.
	// 1.0: 769; 1.1: 770; 1.2: 771; 1.3: 772.
	// +kubebuilder:validation:Enum=769;770;771;772
	SSLMinVersion uint16 `json:"ssl_min_version,omitempty"`

	// SSLForceCommonNameCheck forces hostname validation against the certificate Common Name
	SSLForceCommonNameCheck bool `json:"ssl_force_common_name_check,omitempty"`

	// ProxyURL specifies custom forward proxy & port. e.g. `http(s)://proxy.url:1234`
	ProxyURL string `json:"proxy_url,omitempty"`
}

func (*ProxyTransport) DeepCopy

func (in *ProxyTransport) DeepCopy() *ProxyTransport

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

func (*ProxyTransport) DeepCopyInto

func (in *ProxyTransport) DeepCopyInto(out *ProxyTransport)

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

type RequestInputType

type RequestInputType string

type RequestSigningMeta

type RequestSigningMeta struct {
	IsEnabled       bool     `json:"is_enabled"`
	Secret          string   `json:"secret"`
	KeyId           string   `json:"key_id"`
	Algorithm       string   `json:"algorithm"`
	HeaderList      []string `json:"header_list"`
	CertificateId   string   `json:"certificate_id"`
	SignatureHeader string   `json:"signature_header"`
}

func (*RequestSigningMeta) DeepCopy

func (in *RequestSigningMeta) DeepCopy() *RequestSigningMeta

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

func (*RequestSigningMeta) DeepCopyInto

func (in *RequestSigningMeta) DeepCopyInto(out *RequestSigningMeta)

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

type RequestSizeMeta

type RequestSizeMeta struct {
	Path      string     `json:"path"`
	Method    HttpMethod `json:"method"`
	SizeLimit int64      `json:"size_limit"`
}

func (*RequestSizeMeta) DeepCopy

func (in *RequestSizeMeta) DeepCopy() *RequestSizeMeta

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

func (*RequestSizeMeta) DeepCopyInto

func (in *RequestSizeMeta) DeepCopyInto(out *RequestSizeMeta)

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

type ResponseProcessor

type ResponseProcessor struct {
	Name string `json:"name"`
}

func (*ResponseProcessor) DeepCopy

func (in *ResponseProcessor) DeepCopy() *ResponseProcessor

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

func (*ResponseProcessor) DeepCopyInto

func (in *ResponseProcessor) DeepCopyInto(out *ResponseProcessor)

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

type RewriteToInternal added in v0.6.0

type RewriteToInternal struct {
	// API a namespaced/name to the api definition resource that you are
	// targetting
	Target Target `json:"target,omitempty"`
	// Path path on target , this does not include query parameters.
	//	example /myendpoint
	Path string `json:"path,omitempty"`

	// Query url query string to add to target
	//	example check_limits=true
	Query string `json:"query,omitempty"`
}

RewriteToInternal defines options that constructs a url that refers to an api that is loaded into the gateway.

func (*RewriteToInternal) DeepCopy added in v0.6.0

func (in *RewriteToInternal) DeepCopy() *RewriteToInternal

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

func (*RewriteToInternal) DeepCopyInto added in v0.6.0

func (in *RewriteToInternal) DeepCopyInto(out *RewriteToInternal)

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

func (RewriteToInternal) String added in v0.6.0

func (i RewriteToInternal) String() string

type RoutingTrigger

type RoutingTrigger struct {
	On                RoutingTriggerOnType  `json:"on"`
	Options           RoutingTriggerOptions `json:"options"`
	RewriteTo         string                `json:"rewrite_to,omitempty"`
	RewriteToInternal *RewriteToInternal    `json:"rewrite_to_internal,omitempty"`
}

func (*RoutingTrigger) DeepCopy

func (in *RoutingTrigger) DeepCopy() *RoutingTrigger

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

func (*RoutingTrigger) DeepCopyInto

func (in *RoutingTrigger) DeepCopyInto(out *RoutingTrigger)

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

type RoutingTriggerOnType

type RoutingTriggerOnType string

type RoutingTriggerOptions

type RoutingTriggerOptions struct {
	HeaderMatches         map[string]StringRegexMap `json:"header_matches,omitempty"`
	QueryValMatches       map[string]StringRegexMap `json:"query_val_matches,omitempty"`
	PathPartMatches       map[string]StringRegexMap `json:"path_part_matches,omitempty"`
	SessionMetaMatches    map[string]StringRegexMap `json:"session_meta_matches,omitempty"`
	RequestContextMatches map[string]StringRegexMap `json:"request_context_matches,omitempty"`
	PayloadMatches        *StringRegexMap           `json:"payload_matches,omitempty"`
}

func (*RoutingTriggerOptions) DeepCopy

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

func (*RoutingTriggerOptions) DeepCopyInto

func (in *RoutingTriggerOptions) DeepCopyInto(out *RoutingTriggerOptions)

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

type SecurityPolicy

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

	Spec   SecurityPolicySpec   `json:"spec,omitempty"`
	Status SecurityPolicyStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=tykpolicies SecurityPolicy is the Schema for the securitypolicies API

func (*SecurityPolicy) DeepCopy

func (in *SecurityPolicy) DeepCopy() *SecurityPolicy

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

func (*SecurityPolicy) DeepCopyInto

func (in *SecurityPolicy) DeepCopyInto(out *SecurityPolicy)

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

func (*SecurityPolicy) DeepCopyObject

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

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

func (*SecurityPolicy) Default

func (r *SecurityPolicy) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*SecurityPolicy) SetupWebhookWithManager

func (r *SecurityPolicy) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*SecurityPolicy) ValidateCreate

func (r *SecurityPolicy) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*SecurityPolicy) ValidateDelete

func (r *SecurityPolicy) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*SecurityPolicy) ValidateUpdate

func (r *SecurityPolicy) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type SecurityPolicyList

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

SecurityPolicyList contains a list of SecurityPolicy +kubebuilder:object:root=true

func (*SecurityPolicyList) DeepCopy

func (in *SecurityPolicyList) DeepCopy() *SecurityPolicyList

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

func (*SecurityPolicyList) DeepCopyInto

func (in *SecurityPolicyList) DeepCopyInto(out *SecurityPolicyList)

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

func (*SecurityPolicyList) DeepCopyObject

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

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

type SecurityPolicySpec

type SecurityPolicySpec struct {
	// MID ("_id") is generated by Tyk once the resource is created.
	// Do NOT fill this in.
	MID string `json:"_id,omitempty"`
	// If you are linking an existing Policy ID to a new YAML CRD, then
	// fill in this ID field with the "_id" field.
	// See policies.md readme for more info
	ID string `json:"id,omitempty"`

	// Name represents the name of the security policy as displayed in the Dashboard
	Name string `json:"name"`

	// OrgID is overwritten - no point setting this
	OrgID string `json:"org_id,omitempty"`

	// +kubebuilder:validation:Enum=active;draft;deny
	// State can be active, draft or deny
	// active: All keys are active and new keys can be created.
	// draft: All keys are active but no new keys can be created.
	// deny: All keys are deactivated and no keys can be created.
	State string `json:"state"`

	// Active must be set to `true` for Tyk to load the security policy into memory.
	Active bool `json:"active"`

	// IsInactive applies to the key itself. Allows enabling or disabling the policy without deleting it.
	IsInactive        bool                        `json:"is_inactive,omitempty"`
	AccessRightsArray []AccessDefinition          `json:"access_rights_array"`
	AccessRights      map[string]AccessDefinition `json:"access_rights,omitempty"`

	// Rate limit per X seconds (x="Per"), omit or "-1" for unlimited
	Rate int64 `json:"rate,omitempty"`

	// To be used in conjunction with "Rate".  Per seconds. 1 minute=60.  1 hour=3600
	// omit or "-1" for unlimited
	Per int64 `json:"per,omitempty"`

	// Value of Quota allowed, omit or "-1" for unlimited
	QuotaMax int64 `json:"quota_max,omitempty"`

	// Value reset length, in seconds, omit or "-1" for unlimited
	QuotaRenewalRate int64 `json:"quota_renewal_rate,omitempty"`

	// If rate limited, how many seconds to retry a request for.  omit or "-1" for unlimited
	ThrottleInterval int64 `json:"throttle_interval,omitempty"`

	// Number of retries before returning error.   omit or "-1" for unlimited
	ThrottleRetryLimit int `json:"throttle_retry_limit,omitempty"`

	// Max depth of a GraphQL query
	MaxQueryDepth                 int  `json:"max_query_depth,omitempty"`
	HMACEnabled                   bool `json:"hmac_enabled,omitempty"`
	EnableHTTPSignatureValidation bool `json:"enable_http_signature_validation,omitempty"`

	// Custom tags to apply to the key, get transfered to the analytics
	Tags []string `json:"tags,omitempty"`

	// KeyExpiresIn is the number of seconds till key expiry. For 1 hour is 3600. Default never expire or 0
	KeyExpiresIn int64            `json:"key_expires_in,omitempty"`
	Partitions   PolicyPartitions `json:"partitions,omitempty"`

	//LastUpdated                   string                           `json:"last_updated"`
	MetaData map[string]string `json:"meta_data,omitempty"`
}

SecurityPolicySpec defines the desired state of SecurityPolicy

func (*SecurityPolicySpec) DeepCopy

func (in *SecurityPolicySpec) DeepCopy() *SecurityPolicySpec

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

func (*SecurityPolicySpec) DeepCopyInto

func (in *SecurityPolicySpec) DeepCopyInto(out *SecurityPolicySpec)

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

type SecurityPolicyStatus

type SecurityPolicyStatus struct {
	PolID string `json:"pol_id"`
}

SecurityPolicyStatus defines the observed state of SecurityPolicy

func (*SecurityPolicyStatus) DeepCopy

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

func (*SecurityPolicyStatus) DeepCopyInto

func (in *SecurityPolicyStatus) DeepCopyInto(out *SecurityPolicyStatus)

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

type ServiceDiscoveryConfiguration

type ServiceDiscoveryConfiguration struct {
	UseDiscoveryService bool   `json:"use_discovery_service"`
	QueryEndpoint       string `json:"query_endpoint"`
	UseNestedQuery      bool   `json:"use_nested_query"`
	ParentDataPath      string `json:"parent_data_path"`
	DataPath            string `json:"data_path"`
	PortDataPath        string `json:"port_data_path"`
	TargetPath          string `json:"target_path"`
	UseTargetList       bool   `json:"use_target_list"`
	CacheTimeout        int64  `json:"cache_timeout"`
	EndpointReturnsList bool   `json:"endpoint_returns_list"`
}

func (*ServiceDiscoveryConfiguration) DeepCopy

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

func (*ServiceDiscoveryConfiguration) DeepCopyInto

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

type SessionProviderCode

type SessionProviderCode string

type SessionProviderMeta

type SessionProviderMeta struct {
	Name          SessionProviderCode `json:"name"`
	StorageEngine StorageEngineCode   `json:"storage_engine"`
}

func (*SessionProviderMeta) DeepCopy

func (in *SessionProviderMeta) DeepCopy() *SessionProviderMeta

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

func (*SessionProviderMeta) DeepCopyInto

func (in *SessionProviderMeta) DeepCopyInto(out *SessionProviderMeta)

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

type SignatureConfig

type SignatureConfig struct {
	Algorithm        string `json:"algorithm"`
	Header           string `json:"header"`
	Secret           string `json:"secret"`
	AllowedClockSkew int64  `json:"allowed_clock_skew"`
	ErrorCode        int    `json:"error_code"`
	ErrorMessage     string `json:"error_message"`
}

func (*SignatureConfig) DeepCopy

func (in *SignatureConfig) DeepCopy() *SignatureConfig

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

func (*SignatureConfig) DeepCopyInto

func (in *SignatureConfig) DeepCopyInto(out *SignatureConfig)

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

type SourceConfig

type SourceConfig struct {
	// Kind defines the unique identifier of the DataSource
	// Kind needs to match to the Planner "DataSourceName" name
	// +kubebuilder:validation:Enum=GraphQLDataSource;HTTPJSONDataSource
	Kind string `json:"kind"`
	// Config is the DataSource specific configuration object
	// Each Planner needs to make sure to parse their Config Object correctly
	Config DataSourceConfig `json:"data_source_config,omitempty"`
}

func (*SourceConfig) DeepCopy

func (in *SourceConfig) DeepCopy() *SourceConfig

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

func (*SourceConfig) DeepCopyInto

func (in *SourceConfig) DeepCopyInto(out *SourceConfig)

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

type StatusCodeTypeNameMapping

type StatusCodeTypeNameMapping struct {
	StatusCode int    `json:"status_code"`
	TypeName   string `json:"type_name,omitempty"`
}

func (*StatusCodeTypeNameMapping) DeepCopy

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

func (*StatusCodeTypeNameMapping) DeepCopyInto

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

type StorageEngineCode

type StorageEngineCode string

type StorageOptionsConf

type StorageOptionsConf struct {
	//Type  string   `json:"type"`
	Addrs []string `json:"addrs"`
}

func (*StorageOptionsConf) DeepCopy

func (in *StorageOptionsConf) DeepCopy() *StorageOptionsConf

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

func (*StorageOptionsConf) DeepCopyInto

func (in *StorageOptionsConf) DeepCopyInto(out *StorageOptionsConf)

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

type StringRegexMap

type StringRegexMap struct {
	MatchPattern string `json:"match_rx"`
	Reverse      bool   `json:"reverse,omitempty"`
}

func (*StringRegexMap) DeepCopy

func (in *StringRegexMap) DeepCopy() *StringRegexMap

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

func (*StringRegexMap) DeepCopyInto

func (in *StringRegexMap) DeepCopyInto(out *StringRegexMap)

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

type Target added in v0.6.0

type Target struct {
	Name      string `json:"name"`
	Namespace string `json:"namespace"`
}

func (*Target) DeepCopy added in v0.6.0

func (in *Target) DeepCopy() *Target

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

func (*Target) DeepCopyInto added in v0.6.0

func (in *Target) DeepCopyInto(out *Target)

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

func (Target) Equal added in v0.6.0

func (t Target) Equal(o Target) bool

Equal returns true if t and o are equal

func (Target) NS added in v0.6.0

func (t Target) NS() types.NamespacedName

func (Target) String added in v0.6.0

func (t Target) String() string

type TargetInternal added in v0.6.0

type TargetInternal struct {
	// API a namespaced/name to the api definition resource that you are
	// targetting
	Target Target `json:"target,omitempty"`
	// Path path on target , this does not include query parameters.
	//	example /myendpoint
	Path string `json:"path,omitempty"`

	// Query url query string to add to target
	//	example check_limits=true
	Query string `json:"query,omitempty"`
}

TargetInternal defines options that constructs a url that refers to an api that is loaded into the gateway.

func (*TargetInternal) DeepCopy added in v0.6.0

func (in *TargetInternal) DeepCopy() *TargetInternal

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

func (*TargetInternal) DeepCopyInto added in v0.6.0

func (in *TargetInternal) DeepCopyInto(out *TargetInternal)

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

func (TargetInternal) String added in v0.6.0

func (i TargetInternal) String() string

type TemplateData

type TemplateData struct {
	Input          RequestInputType `json:"input_type"`
	Mode           TemplateMode     `json:"template_mode"`
	EnableSession  bool             `json:"enable_session"`
	TemplateSource string           `json:"template_source"`
}

func (*TemplateData) DeepCopy

func (in *TemplateData) DeepCopy() *TemplateData

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

func (*TemplateData) DeepCopyInto

func (in *TemplateData) DeepCopyInto(out *TemplateData)

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

type TemplateMeta

type TemplateMeta struct {
	TemplateData TemplateData `json:"template_data"`
	Path         string       `json:"path"`
	Method       HttpMethod   `json:"method"`
}

func (*TemplateMeta) DeepCopy

func (in *TemplateMeta) DeepCopy() *TemplateMeta

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

func (*TemplateMeta) DeepCopyInto

func (in *TemplateMeta) DeepCopyInto(out *TemplateMeta)

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

type TemplateMode

type TemplateMode string

type TrackEndpointMeta

type TrackEndpointMeta struct {
	Path   string     `json:"path"`
	Method HttpMethod `json:"method"`
}

func (*TrackEndpointMeta) DeepCopy

func (in *TrackEndpointMeta) DeepCopy() *TrackEndpointMeta

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

func (*TrackEndpointMeta) DeepCopyInto

func (in *TrackEndpointMeta) DeepCopyInto(out *TrackEndpointMeta)

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

type TransformJQMeta

type TransformJQMeta struct {
	Filter string     `json:"filter"`
	Path   string     `json:"path"`
	Method HttpMethod `json:"method"`
}

func (*TransformJQMeta) DeepCopy

func (in *TransformJQMeta) DeepCopy() *TransformJQMeta

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

func (*TransformJQMeta) DeepCopyInto

func (in *TransformJQMeta) DeepCopyInto(out *TransformJQMeta)

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

type TykEvent

type TykEvent string

type TykEventHandlerName

type TykEventHandlerName string

type TypeFieldConfiguration

type TypeFieldConfiguration struct {
	TypeName   string                `json:"type_name"`
	FieldName  string                `json:"field_name"`
	Mapping    *MappingConfiguration `json:"mapping"`
	DataSource SourceConfig          `json:"data_source"`
}

func (*TypeFieldConfiguration) DeepCopy

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

func (*TypeFieldConfiguration) DeepCopyInto

func (in *TypeFieldConfiguration) DeepCopyInto(out *TypeFieldConfiguration)

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

type URLRewriteMeta

type URLRewriteMeta struct {
	// Path represents the endpoint listen path
	Path   string     `json:"path"`
	Method HttpMethod `json:"method"`
	// MatchPattern is a regular expression pattern to match the path
	MatchPattern string `json:"match_pattern"`
	// RewriteTo is the target path on the upstream, or target URL we wish to rewrite to
	RewriteTo string `json:"rewrite_to,omitempty"`
	// RewriteToInternal serves as rewrite_to but used when rewriting to target
	// internal api's
	// When rewrite_to and rewrite_to_internal are both provided then
	// rewrite_to will take rewrite_to_internal
	RewriteToInternal *RewriteToInternal `json:"rewrite_to_internal,omitempty"`
	Triggers          []RoutingTrigger   `json:"triggers,omitempty"`
}

func (*URLRewriteMeta) DeepCopy

func (in *URLRewriteMeta) DeepCopy() *URLRewriteMeta

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

func (*URLRewriteMeta) DeepCopyInto

func (in *URLRewriteMeta) DeepCopyInto(out *URLRewriteMeta)

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

type UptimeTestConfig

type UptimeTestConfig struct {
	ExpireUptimeAnalyticsAfter int64                         `json:"expire_utime_after"` // must have an expireAt TTL index set (http://docs.mongodb.org/manual/tutorial/expire-data/)
	ServiceDiscovery           ServiceDiscoveryConfiguration `json:"service_discovery"`
	RecheckWait                int                           `json:"recheck_wait"`
}

func (*UptimeTestConfig) DeepCopy

func (in *UptimeTestConfig) DeepCopy() *UptimeTestConfig

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

func (*UptimeTestConfig) DeepCopyInto

func (in *UptimeTestConfig) DeepCopyInto(out *UptimeTestConfig)

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

type UptimeTests

type UptimeTests struct {
	CheckList []HostCheckObject `json:"check_list"`
	Config    UptimeTestConfig  `json:"config"`
}

func (*UptimeTests) DeepCopy

func (in *UptimeTests) DeepCopy() *UptimeTests

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

func (*UptimeTests) DeepCopyInto

func (in *UptimeTests) DeepCopyInto(out *UptimeTests)

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

type ValidatePathMeta

type ValidatePathMeta struct {
	// Allows override of default 422 Unprocessible Entity response code for validation errors.
	ErrorResponseCode int        `json:"error_response_code"`
	Path              string     `json:"path"`
	Method            HttpMethod `json:"method"`
	SchemaB64         string     `json:"schema_b64,omitempty"`
}

func (*ValidatePathMeta) DeepCopy

func (in *ValidatePathMeta) DeepCopy() *ValidatePathMeta

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

func (*ValidatePathMeta) DeepCopyInto

func (in *ValidatePathMeta) DeepCopyInto(out *ValidatePathMeta)

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

type VersionData

type VersionData struct {
	NotVersioned   bool                   `json:"not_versioned"`
	DefaultVersion string                 `json:"default_version"`
	Versions       map[string]VersionInfo `json:"versions,omitempty"`
}

func (*VersionData) DeepCopy

func (in *VersionData) DeepCopy() *VersionData

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

func (*VersionData) DeepCopyInto

func (in *VersionData) DeepCopyInto(out *VersionData)

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

type VersionDefinition

type VersionDefinition struct {
	Location  string `json:"location"`
	Key       string `json:"key"`
	StripPath bool   `json:"strip_path"`
}

func (*VersionDefinition) DeepCopy

func (in *VersionDefinition) DeepCopy() *VersionDefinition

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

func (*VersionDefinition) DeepCopyInto

func (in *VersionDefinition) DeepCopyInto(out *VersionDefinition)

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

type VersionInfo

type VersionInfo struct {
	Name                        string            `json:"name"`
	Expires                     string            `json:"expires,omitempty"`
	Paths                       *VersionInfoPaths `json:"paths,omitempty"`
	UseExtendedPaths            bool              `json:"use_extended_paths,omitempty"`
	ExtendedPaths               *ExtendedPathsSet `json:"extended_paths,omitempty"`
	GlobalHeaders               map[string]string `json:"global_headers,omitempty"`
	GlobalHeadersRemove         []string          `json:"global_headers_remove,omitempty"`
	GlobalResponseHeaders       map[string]string `json:"global_response_headers,omitempty"`
	GlobalResponseHeadersRemove []string          `json:"global_response_headers_remove,omitempty"`
	IgnoreEndpointCase          bool              `json:"ignore_endpoint_case,omitempty"`
	GlobalSizeLimit             int64             `json:"global_size_limit,omitempty"`
	OverrideTarget              string            `json:"override_target,omitempty"`
}

func (*VersionInfo) DeepCopy

func (in *VersionInfo) DeepCopy() *VersionInfo

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

func (*VersionInfo) DeepCopyInto

func (in *VersionInfo) DeepCopyInto(out *VersionInfo)

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

type VersionInfoPaths

type VersionInfoPaths struct {
	Ignored   []string `json:"ignored,omitempty"`
	WhiteList []string `json:"white_list,omitempty"`
	BlackList []string `json:"black_list,omitempty"`
}

func (*VersionInfoPaths) DeepCopy

func (in *VersionInfoPaths) DeepCopy() *VersionInfoPaths

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

func (*VersionInfoPaths) DeepCopyInto

func (in *VersionInfoPaths) DeepCopyInto(out *VersionInfoPaths)

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

type VirtualMeta

type VirtualMeta struct {
	ResponseFunctionName string     `json:"response_function_name"`
	FunctionSourceType   string     `json:"function_source_type"`
	FunctionSourceURI    string     `json:"function_source_uri"`
	Path                 string     `json:"path"`
	Method               HttpMethod `json:"method"`
	UseSession           bool       `json:"use_session"`
	ProxyOnError         bool       `json:"proxy_on_error"`
}

func (*VirtualMeta) DeepCopy

func (in *VirtualMeta) DeepCopy() *VirtualMeta

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

func (*VirtualMeta) DeepCopyInto

func (in *VirtualMeta) DeepCopyInto(out *VirtualMeta)

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

type Webhook

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

	Spec   WebhookSpec   `json:"spec,omitempty"`
	Status WebhookStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:resource:shortName=tykhooks Webhook is the Schema for the webhooks API

func (*Webhook) DeepCopy

func (in *Webhook) DeepCopy() *Webhook

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

func (*Webhook) DeepCopyInto

func (in *Webhook) DeepCopyInto(out *Webhook)

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

func (*Webhook) DeepCopyObject

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

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

type WebhookList

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

WebhookList contains a list of Webhook

func (*WebhookList) DeepCopy

func (in *WebhookList) DeepCopy() *WebhookList

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

func (*WebhookList) DeepCopyInto

func (in *WebhookList) DeepCopyInto(out *WebhookList)

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

func (*WebhookList) DeepCopyObject

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

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

type WebhookMethod

type WebhookMethod string

WebhookMethod supported webhook methods used in webhook +kubebuilder:validation:Enum=GET;POST;PUT;PATCH;DELETE

type WebhookSpec

type WebhookSpec struct {
	//ApiModel     `bson:"api_model,omitempty" json:"api_model,omitempty"`
	// System generated resource. represents the ID to use in API  calls
	ID string `json:"id,omitempty"`
	// The org ID to which this webhook belongs to
	OrgID string `bson:"org_id" json:"org_id,omitempty"`
	// System generated resource, will be set to the {namespace/name} of the CRD
	Name         string            `bson:"name" json:"name,omitempty"`
	Method       WebhookMethod     `bson:"method" json:"method"`
	TargetPath   string            `bson:"target_path" json:"target_path"`
	TemplatePath string            `bson:"template_path" json:"template_path,omitempty"`
	HeaderList   map[string]string `bson:"header_map" json:"header_map,omitempty"`
	EventTimeout int64             `bson:"event_timeout" json:"event_timeout,omitempty"`
}

WebhookSpec defines the desired state of Webhook

func (*WebhookSpec) DeepCopy

func (in *WebhookSpec) DeepCopy() *WebhookSpec

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

func (*WebhookSpec) DeepCopyInto

func (in *WebhookSpec) DeepCopyInto(out *WebhookSpec)

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

type WebhookStatus

type WebhookStatus struct {
	WebhookID string `json:"webhook_id"`
}

WebhookStatus defines the observed state of Webhook

func (*WebhookStatus) DeepCopy

func (in *WebhookStatus) DeepCopy() *WebhookStatus

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

func (*WebhookStatus) DeepCopyInto

func (in *WebhookStatus) DeepCopyInto(out *WebhookStatus)

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

Jump to

Keyboard shortcuts

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