model

package
v0.11.0-nightly.9511653 Latest Latest
Warning

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

Go to latest
Published: Oct 12, 2022 License: MPL-2.0 Imports: 10 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true

Index

Constants

This section is empty.

Variables

This section is empty.

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 APICatalogue

type APICatalogue struct {
	Id    string           `json:"id"`
	OrgId string           `json:"org_id"`
	APIS  []APIDescription `json:"apis"`
	Email string           `json:"email"`
}

func (*APICatalogue) DeepCopy

func (in *APICatalogue) DeepCopy() *APICatalogue

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

func (*APICatalogue) DeepCopyInto

func (in *APICatalogue) DeepCopyInto(out *APICatalogue)

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

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 def.
	// The Operator will use this APIID to link the CR with the API in Tyk
	// Note: The values in the CR 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"`

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

	UseMutualTLSAuth      bool     `json:"use_mutual_tls_auth,omitempty"`
	ClientCertificates    []string `json:"client_certificates,omitempty"`
	ClientCertificateRefs []string `json:"client_certificate_refs,omitempty"`

	// PinnedPublicKeys allows you to whitelist public keys used to generate certificates, so you will be protected in
	// case an upstream certificate is compromised. Please use PinnedPublicKeysRefs if using cert-manager.
	PinnedPublicKeys map[string]string `json:"pinned_public_keys,omitempty"`

	// PinnedPublicKeysRefs allows you to specify public keys using k8s secret.
	// It takes domain name as a key and secret name as a value.
	PinnedPublicKeysRefs map[string]string `json:"pinned_public_keys_refs,omitempty"`

	// UpstreamCertificates is a map of domains and certificate IDs that is used by the Tyk
	// Gateway to provide mTLS support for upstreams
	UpstreamCertificates map[string]string `json:"upstream_certificates,omitempty"`

	// UpstreamCertificateRefs is a map of domains and secret names that is used internally
	// to obtain certificates from secrets in order to establish mTLS support for upstreams
	UpstreamCertificateRefs map[string]string `json:"upstream_certificate_refs,omitempty"`

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

	// Enable Go Plugin Auth. Needs to be combined with "use_keyless:false"
	UseGoPluginAuth bool `json:"use_go_plugin_auth,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"`

	// DisableRateLimit allows you to disable rate limits in a given API Definition.
	DisableRateLimit bool `json:"disable_rate_limit,omitempty"`

	// DisableQuota allows you to disable quota middleware in a given API Definition.
	DisableQuota bool `json:"disable_quota,omitempty"`

	// GlobalRateLimit is an API Level Global Rate Limit, which assesses all traffic coming into the API from all
	// sources and ensures that the overall rate limit is not exceeded.
	GlobalRateLimit GlobalRateLimit `json:"global_rate_limit,omitempty"`

	CustomMiddleware       MiddlewareSection `json:"custom_middleware,omitempty"`
	CustomMiddlewareBundle string            `json:"custom_middleware_bundle,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 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"`

	// ConfigData can be used to pass custom attributes (a JSON object) into your middleware, such
	// as a virtual endpoint or header transform.
	// +optional
	// +nullable
	ConfigData *MapStringInterfaceType `json:"config_data"`

	TagHeaders []string `json:"tag_headers,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"`
}

APIDefinitionSpec represents the configuration for a single proxied API and it's versions.

func (*APIDefinitionSpec) CollectLoopingTarget

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 APIDefinitionSpecList

type APIDefinitionSpecList struct {
	Apis []*APIDefinitionSpec `json:"apis"`
}

APIDefinitionSpecList is a list of api definitions

func (*APIDefinitionSpecList) DeepCopy

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

func (*APIDefinitionSpecList) DeepCopyInto

func (in *APIDefinitionSpecList) DeepCopyInto(out *APIDefinitionSpecList)

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

type APIDescription

type APIDescription struct {
	// Name is the title of the API that you wish to be published to the catalogue
	Name string `json:"name,omitempty"`

	// AuthType displays as a badge next to the name of the API
	AuthType AuthType `json:"auth_type,omitempty"`

	// Show toggles visibility of the API in the portal catalogue
	Show bool `json:"show,omitempty"`

	// TODO: I don't think this is exposed to the default portal templates.
	ShortDescription string `json:"short_description,omitempty"`

	// LongDescription can be markdown. It allows you to describe the capabilities of the API and is displayed just
	// below the name and AuthType in the catalogue listing page.
	LongDescription string `json:"long_description,omitempty"`

	// IsKeyless toggles visibility of the `Request an API Key button`. Use this when AuthType is keyless, jwt or oauth.
	IsKeyless bool `json:"is_keyless,omitempty"`

	// Version should always be v2
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum=v2
	// +kubebuilder:default=v2
	Version string `json:"version,omitempty"`

	// Config allows you to optionally override various fields in the PortalConfig.
	// TODO: This is an advanced capability which has not been fully tested with Tyk Operator as yet.
	Config *PortalModelPortalConfig `json:"config,omitempty"`

	// Fields is a generic map of key:value pairs.
	// You may wish to use this to tag a catalogue as type:internal or type:public
	// Then apply logic at the template layer to dynamically display catalogue apis to different user types.
	Fields map[string]string `json:"fields,omitempty"`

	// PolicyID explicitly sets the policy_id to be published. We do not recommend that this value is set directly.
	// Rather, use `policyRef` instead.
	PolicyID string `json:"policy_id,omitempty"`

	// Do not set Documentation. Use `docs` instead.
	Documentation string `json:"documentation,omitempty"`
}

func (*APIDescription) DeepCopy

func (in *APIDescription) DeepCopy() *APIDescription

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

func (*APIDescription) DeepCopyInto

func (in *APIDescription) DeepCopyInto(out *APIDescription)

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

type APIDocumentation

type APIDocumentation struct {
	Id                string            `json:"id,omitempty"`
	Documentation     string            `json:"documentation"`
	DocumentationType DocumentationType `json:"doc_type"`
	// The policy_id of the APIDescription that this documentation is attached to.
	APIID string `json:"api_id"`
}

func (*APIDocumentation) DeepCopy

func (in *APIDocumentation) DeepCopy() *APIDocumentation

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

func (*APIDocumentation) DeepCopyInto

func (in *APIDocumentation) DeepCopyInto(out *APIDocumentation)

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

type APIProtocol

type APIProtocol string

APIProtocol is the network transport protocol supported by the gateway +kubebuilder:validation:Enum=h2c;tcp;tls;http;https;

type AccessTypeEnum

type AccessTypeEnum string

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

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 AuthType

type AuthType string

All auth_type from dashboard validation:Enum=multiAuth;keyless;basic;hmac;jwt;oauth;openid;mutualTLS;authToken;custom;other +kubebuilder:validation:Enum=keyless;jwt;oauth;authToken

type AuthTypeEnum

type AuthTypeEnum string

ApiDefinitionSpec defines the desired state of ApiDefinition

type AuthorizeTypeEnum

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

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 DCROptions

type DCROptions struct {
	// IDPHost is the fully qualified hostname of the Identity Provider.
	// e.g. https://mysubdomain.eu.auth0.com
	IDPHost string `json:"idp_host"`

	// RegistrationEndpoint is the registration_endpoint as presented in the /.well-known/openid-configuration document.
	RegistrationEndpoint string `json:"registration_endpoint"`

	// AccessToken represents an optional bearer token to authenticate with against the registration endpoint
	AccessToken string `json:"access_token,omitempty"`

	// Provider is an optional enum of the provider which allows Tyk to register clients outside the standard DCR spec
	// and perform provider specific logic.
	// If your provider is not in this list, please omit. Upon failure, submit a support ticket so that we may extend
	// support for your provider.
	// +kubebuilder:validation:Enum=gluu;keycloak;okta
	Provider string `json:"provider,omitempty"`

	// GrantTypes is an array of OAuth 2.0 grant type strings that the client can use at
	// the token endpoint.
	GrantTypes []GrantTypeEnum `json:"grant_types"`

	// ResponseTypes is an array of OAuth 2.0 response type strings that the client can
	// use at the authorization endpoint.
	ResponseTypes []ResponseTypeEnum `json:"response_types,omitempty"`

	// TokenEndpointAuthMethod is an indicator of the requested authentication method for the token endpoint.
	// "none": The client is a public client and does not have a client secret.
	// "client_secret_post": The client uses the HTTP POST parameters
	// "client_secret_basic": The client uses HTTP Basic authentication
	// +kubebuilder:validation:Enum=client_secret_basic;client_secret_post;client_secret_jwt;private_key_jwt;none
	TokenEndpointAuthMethod string `json:"token_endpoint_auth_method"`
}

DCROptions are the configuration metadata for dynamic client registration. To enable DCR, ensure EnableDCR is true.

func (*DCROptions) DeepCopy

func (in *DCROptions) DeepCopy() *DCROptions

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

func (*DCROptions) DeepCopyInto

func (in *DCROptions) DeepCopyInto(out *DCROptions)

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 DocumentationType

type DocumentationType string

+kubebuilder:validation:Enum=swagger;swagger_custom_url;graphql

type EmailConfigMeta

type EmailConfigMeta struct {
	Enabled       bool   `bson:"enabled" json:"enabled"`
	EmailSubject  string `bson:"subject" json:"subject"`
	EmailBody     string `bson:"body" json:"body"`
	EmailSignoff  string `bson:"sign_off" json:"sign_off"`
	HideTokenData bool   `bson:"hide_token_data" json:"hide_token_data"`
}

func (*EmailConfigMeta) DeepCopy

func (in *EmailConfigMeta) DeepCopy() *EmailConfigMeta

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

func (*EmailConfigMeta) DeepCopyInto

func (in *EmailConfigMeta) DeepCopyInto(out *EmailConfigMeta)

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

type EmailCopyOptions

type EmailCopyOptions struct {
	WelcomeEmail       EmailConfigMeta `json:"welcome_email"`
	APIKeyEmail        EmailConfigMeta `json:"key_email"`
	ResetPasswordEmail EmailConfigMeta `json:"reset_password_email"`
}

func (*EmailCopyOptions) DeepCopy

func (in *EmailCopyOptions) DeepCopy() *EmailCopyOptions

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

func (*EmailCopyOptions) DeepCopyInto

func (in *EmailCopyOptions) DeepCopyInto(out *EmailCopyOptions)

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

ApiDefinitionSpec defines the desired state of ApiDefinition

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

type GlobalRateLimit struct {
	// Rate represents the number of requests allowed within a specified time window (Per)
	Rate int `json:"rate"`

	// Per represents a time window in seconds
	Per int `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 GrantTypeEnum

type GrantTypeEnum string

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

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

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

	// Proxy holds the configuration for a proxy only api.
	Proxy GraphQLProxyConfig `json:"proxy,omitempty"`

	// Subgraph holds the configuration for a GraphQL federation subgraph.
	Subgraph GraphQLSubgraphConfig `json:"subgraph,omitempty"`

	GraphRef string `json:"graph_ref,omitempty"`

	// Supergraph holds the configuration for a GraphQL federation supergraph.
	Supergraph GraphQLSupergraphConfig `json:"supergraph,omitempty"`

	// Version defines the version of the GraphQL config and engine to be used.
	Version GraphQLConfigVersion `json:"version,omitempty"`

	// LastSchemaUpdate contains the date and time of the last triggered schema update to the upstream.
	LastSchemaUpdate *metav1.Time `json:"last_schema_update,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 GraphQLConfigVersion added in v0.10.0

type GraphQLConfigVersion string

+kubebuilder:validation:Enum="1";"2"

type GraphQLEngineConfig added in v0.10.0

type GraphQLEngineConfig struct {
	// +nullable
	FieldConfigs []GraphQLFieldConfig `json:"field_configs"`
	// +nullable
	DataSources []GraphQLEngineDataSource `json:"data_sources"`
}

func (*GraphQLEngineConfig) DeepCopy added in v0.10.0

func (in *GraphQLEngineConfig) DeepCopy() *GraphQLEngineConfig

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

func (*GraphQLEngineConfig) DeepCopyInto added in v0.10.0

func (in *GraphQLEngineConfig) DeepCopyInto(out *GraphQLEngineConfig)

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

type GraphQLEngineDataSource added in v0.10.0

type GraphQLEngineDataSource struct {
	Kind       GraphQLEngineDataSourceKind `json:"kind"`
	Name       string                      `json:"name"`
	Internal   bool                        `json:"internal"`
	RootFields []GraphQLTypeFields         `json:"root_fields"`
	Config     MapStringInterfaceType      `json:"config"`
}

func (*GraphQLEngineDataSource) DeepCopy added in v0.10.0

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

func (*GraphQLEngineDataSource) DeepCopyInto added in v0.10.0

func (in *GraphQLEngineDataSource) DeepCopyInto(out *GraphQLEngineDataSource)

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

type GraphQLEngineDataSourceKind added in v0.10.0

type GraphQLEngineDataSourceKind string

+kubebuilder:validation:Enum=REST;GraphQL

type GraphQLExecutionMode

type GraphQLExecutionMode string

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

const (
	SuperGraphExecutionMode GraphQLExecutionMode = "supergraph"
	SubGraphExecutionMode   GraphQLExecutionMode = "subgraph"
)

type GraphQLFieldConfig added in v0.10.0

type GraphQLFieldConfig struct {
	TypeName              string   ` json:"type_name"`
	FieldName             string   ` json:"field_name"`
	DisableDefaultMapping bool     ` json:"disable_default_mapping"`
	Path                  []string `json:"path"`
}

func (*GraphQLFieldConfig) DeepCopy added in v0.10.0

func (in *GraphQLFieldConfig) DeepCopy() *GraphQLFieldConfig

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

func (*GraphQLFieldConfig) DeepCopyInto added in v0.10.0

func (in *GraphQLFieldConfig) DeepCopyInto(out *GraphQLFieldConfig)

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

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 GraphQLProxyConfig added in v0.9.0

type GraphQLProxyConfig struct {
	// +nullable
	AuthHeaders map[string]string `json:"auth_headers"`
}

func (*GraphQLProxyConfig) DeepCopy added in v0.9.0

func (in *GraphQLProxyConfig) DeepCopy() *GraphQLProxyConfig

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

func (*GraphQLProxyConfig) DeepCopyInto added in v0.9.0

func (in *GraphQLProxyConfig) DeepCopyInto(out *GraphQLProxyConfig)

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

type GraphQLSubgraphConfig added in v0.10.0

type GraphQLSubgraphConfig struct {
	SDL string `json:"sdl"`
}

func (*GraphQLSubgraphConfig) DeepCopy added in v0.10.0

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

func (*GraphQLSubgraphConfig) DeepCopyInto added in v0.10.0

func (in *GraphQLSubgraphConfig) DeepCopyInto(out *GraphQLSubgraphConfig)

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

type GraphQLSubgraphEntity added in v0.10.0

type GraphQLSubgraphEntity struct {
	APIID   string            `json:"api_id,omitempty"`
	Name    string            `json:"name"`
	URL     string            `json:"url"`
	SDL     string            `json:"sdl"`
	Headers map[string]string `json:"headers,omitempty"`
}

func (*GraphQLSubgraphEntity) DeepCopy added in v0.10.0

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

func (*GraphQLSubgraphEntity) DeepCopyInto added in v0.10.0

func (in *GraphQLSubgraphEntity) DeepCopyInto(out *GraphQLSubgraphEntity)

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

type GraphQLSupergraphConfig added in v0.10.0

type GraphQLSupergraphConfig struct {
	// UpdatedAt contains the date and time of the last update of a supergraph API.
	UpdatedAt     *metav1.Time            `json:"updated_at,omitempty"`
	Subgraphs     []GraphQLSubgraphEntity `json:"subgraphs,omitempty"`
	MergedSDL     string                  `json:"merged_sdl,omitempty"`
	GlobalHeaders map[string]string       `json:"global_headers,omitempty"`
}

func (*GraphQLSupergraphConfig) DeepCopy added in v0.10.0

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

func (*GraphQLSupergraphConfig) DeepCopyInto added in v0.10.0

func (in *GraphQLSupergraphConfig) DeepCopyInto(out *GraphQLSupergraphConfig)

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

type GraphQLTypeFields added in v0.10.0

type GraphQLTypeFields struct {
	Type   string   `json:"type"`
	Fields []string `json:"fields"`
}

func (*GraphQLTypeFields) DeepCopy added in v0.10.0

func (in *GraphQLTypeFields) DeepCopy() *GraphQLTypeFields

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

func (*GraphQLTypeFields) DeepCopyInto added in v0.10.0

func (in *GraphQLTypeFields) DeepCopyInto(out *GraphQLTypeFields)

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

HttpMethod 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

ApiDefinitionSpec defines the desired state of ApiDefinition

type IdExtractorType

type IdExtractorType string

ApiDefinitionSpec defines the desired state of ApiDefinition

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 ListAPIOptions

type ListAPIOptions struct {
	Compressed bool   `json:"compressed,omitempty"`
	Query      string `json:"q,omitempty"`
	Pages      int    `json:"p,omitempty"`
	Sort       string `json:"sort,omitempty"`
	Category   string `json:"category,omitempty"`
	AuthType   string `json:"auth_type,omitempty"`
	Graph      bool   `json:"graph,omitempty"`
}

ListAPIOptions options passed as url query when getting a list of api's

func (*ListAPIOptions) DeepCopy

func (in *ListAPIOptions) DeepCopy() *ListAPIOptions

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

func (*ListAPIOptions) DeepCopyInto

func (in *ListAPIOptions) DeepCopyInto(out *ListAPIOptions)

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

func (ListAPIOptions) Params

func (ls ListAPIOptions) Params() url.Values

Params returns url.Values that matches what the admin api expects from ls.

type MailOptions

type MailOptions struct {
	MailFromName  string           `json:"mail_from_name"`
	MailFromEmail string           `json:"mail_from_email"`
	EmailCopy     EmailCopyOptions `json:"email_copy"`
}

func (*MailOptions) DeepCopy

func (in *MailOptions) DeepCopy() *MailOptions

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

func (*MailOptions) DeepCopyInto

func (in *MailOptions) DeepCopyInto(out *MailOptions)

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

type MapStringInterfaceType added in v0.8.2

type MapStringInterfaceType struct {
	// +kubebuilder:pruning:PreserveUnknownFields
	unstructured.Unstructured `json:",inline"`
}

MapStringInterfaceType represents a generic struct used as a map[string]interface{}. Since an arbitrary JSON fields defined as map[string]interface{} is not feasible to use as a Kubernetes CRD, unstructured.Unstructured type is used.

func (*MapStringInterfaceType) DeepCopy added in v0.8.2

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

func (*MapStringInterfaceType) DeepCopyInto added in v0.8.2

func (in *MapStringInterfaceType) DeepCopyInto(out *MapStringInterfaceType)

func (*MapStringInterfaceType) MarshalJSON added in v0.8.2

func (in *MapStringInterfaceType) MarshalJSON() (data []byte, err error)

func (*MapStringInterfaceType) UnmarshalJSON added in v0.8.2

func (in *MapStringInterfaceType) UnmarshalJSON(data []byte) error

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

ApiDefinitionSpec defines the desired state of ApiDefinition

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

type PortalModelPortalConfig struct {
	// Set by the server. DO NOT set this field it is read only.
	Id string `json:"id,omitempty"`

	// OrgID is the organization ID
	OrgID string `json:"org_id,omitempty"`

	// SignUpFields is a slice of fields which are asked of the portal developer when they register for an account
	SignUpFields []string `json:"signup_fields,omitempty"`

	// KeyRequestFields is a slice of fields which are asked of the portal developer when requesting an api key
	KeyRequestFields []string `json:"key_request_fields,omitempty"`

	// RequireKeyApproval requires reviewing of all key requests before approving
	// them. By default developers will auto-enroll into an API and be given an API
	// key. If you wish to review key requests before giving developers access to
	// the API, enable this option and you will manually need to approve them in
	// the 'Key requests' section of the dashboard.
	RequireKeyApproval bool `json:"require_key_approval,omitempty"`

	// SecureKeyApproval enables Secure key approval.By default, API keys when
	// approved are sent in an email to the Developer. By enabling this option, the
	// Developer will instead receive a link where they can go to generate the API
	// key securely
	SecureKeyApproval bool `json:"secure_key_approval,omitempty"`

	// RedirectOnKeyRequest redirects key requests. WHen set to true it will
	// redirect key requests to the url specified in RedirectTo field
	RedirectOnKeyRequest bool `json:"redirect_on_key_request,omitempty"`

	// RedirectTo is a url used to redirect key requests
	RedirectTo string `json:"redirect_to,omitempty"`

	// EnableMultiSelection enables subscribing to multiple APIs with single
	// key.User will be able subscript any combination of exposed catalogues of the
	// same authentication type
	EnableMultiSelection bool `json:"enable_multi_selection,omitempty"`

	// DisableLogin disables login on developer portal.If you do not want
	// developers to be able to login, set this value to true. You can use this
	// configuration option in the portal templates to display or hide the login
	// form as well as disabling the actual login method.
	DisableLogin bool `json:"disable_login,omitempty"`

	// DisableSignup stop developer sign-up to the portal.This will stop developers
	// from being able to signup, they will need to be created manually, or
	// assigned keys via the key management API.
	DisableSignup bool `json:"disable_signup,omitempty"`

	DisableAutoLogin bool `json:"disable_auto_login,omitempty"`

	// CatalogueLoginOnly limits access to catalogues for login users only.
	CatalogueLoginOnly bool `json:"catalogue_login_only,omitempty"`

	// OAuthUsageLimit is the maximum permitted number of OAuth clients
	OAuthUsageLimit int `json:"oauth_usage_limit,omitempty"`

	Email string `json:"email,omitempty"`

	MailOptions *MailOptions `json:"mail_options,omitempty"`

	// EnableDCR activates dynamic client registration.
	EnableDCR bool `json:"enable_dcr,omitempty"`

	// DCROptions dynamic client registration options.
	DCROptions *DCROptions `json:"dcr_options,omitempty"`

	// Override overides global settings. These Catalogue settings are currently
	// being overwritten by the Global Catalogue settings. Toggle the checkbox
	// below to override them for this Catalogue.
	Override bool `json:"override,omitempty"`
}

func (*PortalModelPortalConfig) DeepCopy

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

func (*PortalModelPortalConfig) DeepCopyInto

func (in *PortalModelPortalConfig) DeepCopyInto(out *PortalModelPortalConfig)

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"`
	TargetInternal *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 ResponseTypeEnum

type ResponseTypeEnum string

+kubebuilder:validation:Enum=code;token

type Result

type Result struct {
	Status string

	// from dashboard api
	Message string
	Meta    string

	// from tyk api
	Key     string `json:"key"`
	Action  string `json:"action"`
	KeyHash string `json:"key_hash,omitempty"`
}

Result is a an object returned by most dashboard api's

func (*Result) DeepCopy

func (in *Result) DeepCopy() *Result

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

func (*Result) DeepCopyInto

func (in *Result) DeepCopyInto(out *Result)

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

type RewriteToInternal

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

func (in *RewriteToInternal) DeepCopy() *RewriteToInternal

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

func (*RewriteToInternal) DeepCopyInto

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

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

ApiDefinitionSpec defines the desired state of ApiDefinition

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

ApiDefinitionSpec defines the desired state of ApiDefinition

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

ApiDefinitionSpec defines the desired state of ApiDefinition

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

type SubGraphSpec struct {
	SDL    string `json:"sdl"`
	Schema string `json:"schema"`
}

SubGraphSpec holds the configuration for a GraphQL federation subgraph.

func (*SubGraphSpec) DeepCopy added in v0.10.0

func (in *SubGraphSpec) DeepCopy() *SubGraphSpec

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

func (*SubGraphSpec) DeepCopyInto added in v0.10.0

func (in *SubGraphSpec) DeepCopyInto(out *SubGraphSpec)

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

type SubGraphStatus added in v0.10.0

type SubGraphStatus struct {
	APIID string `json:"api_id"`
}

func (*SubGraphStatus) DeepCopy added in v0.10.0

func (in *SubGraphStatus) DeepCopy() *SubGraphStatus

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

func (*SubGraphStatus) DeepCopyInto added in v0.10.0

func (in *SubGraphStatus) DeepCopyInto(out *SubGraphStatus)

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

type SuperGraphSpec added in v0.10.0

type SuperGraphSpec struct {
	SubgraphRefs []Target `json:"subgraph_refs"`
	MergedSDL    string   `json:"merged_sdl,omitempty"`
	Schema       string   `json:"schema,omitempty"`
}

SuperGraphSpec defines the desired state of SuperGraph

func (*SuperGraphSpec) DeepCopy added in v0.10.0

func (in *SuperGraphSpec) DeepCopy() *SuperGraphSpec

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

func (*SuperGraphSpec) DeepCopyInto added in v0.10.0

func (in *SuperGraphSpec) DeepCopyInto(out *SuperGraphSpec)

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

type Target

type Target struct {
	// k8s resource name
	Name string `json:"name"`
	// The k8s namespace of the resource being targetted. When omitted this will be
	// set to the namespace of the object that is being reconciled.
	Namespace string `json:"namespace,omitempty"`
}

func (*Target) DeepCopy

func (in *Target) DeepCopy() *Target

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

func (*Target) DeepCopyInto

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

func (t Target) Equal(o Target) bool

Equal returns true if t and o are equal

func (Target) NS

func (t Target) NS(defaultNS string) types.NamespacedName

func (*Target) Parse

func (t *Target) Parse(v string)

func (Target) String

func (t Target) String() string

type TargetInternal

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

func (*TargetInternal) DeepCopy

func (in *TargetInternal) DeepCopy() *TargetInternal

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

func (*TargetInternal) DeepCopyInto

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

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

ApiDefinitionSpec defines the desired state of ApiDefinition

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

ApiDefinitionSpec defines the desired state of ApiDefinition

type TykEventHandlerName

type TykEventHandlerName string

ApiDefinitionSpec defines the desired state of ApiDefinition

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 Unprocessable Entity response code for validation errors.
	ErrorResponseCode int        `json:"error_response_code"`
	Path              string     `json:"path"`
	Method            HttpMethod `json:"method"`
	// Schema represents schema field that verifies user requests against a specified
	// JSON schema and check that the data sent to your API by a consumer is in the right format.
	Schema *MapStringInterfaceType `json:"schema"`
}

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.

Jump to

Keyboard shortcuts

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