Documentation
¶
Overview ¶
+kubebuilder:object:generate=true
Index ¶
- func Marshal(v interface{}) ([]byte, error)
- type APICatalogue
- type APIDefinitionSpec
- type APIDefinitionSpecList
- type APIDescription
- type APIDocumentation
- type APIProtocol
- type AccessTypeEnum
- type AuthConfig
- type AuthProviderCode
- type AuthProviderMeta
- type AuthType
- type AuthTypeEnum
- type AuthorizeTypeEnum
- type BasicAuthMeta
- type BundleManifest
- type CORS
- type CacheMeta
- type CacheOptions
- type CheckCommand
- type CircuitBreakerMeta
- type DCROptions
- type DataSourceConfig
- type DocumentationType
- type EmailConfigMeta
- type EmailCopyOptions
- type EndPointMeta
- type EndpointMethodAction
- type EndpointMethodMeta
- type EventHandlerMetaConfig
- type EventHandlerTriggerConfig
- type ExtendedPathsSet
- type Float64
- type GlobalRateLimit
- type GrantTypeEnum
- type GraphQLConfig
- type GraphQLConfigVersion
- type GraphQLEngineConfig
- type GraphQLEngineDataSource
- type GraphQLEngineDataSourceKind
- type GraphQLExecutionMode
- type GraphQLFieldConfig
- type GraphQLPlayground
- type GraphQLProxyConfig
- type GraphQLSubgraphConfig
- type GraphQLSubgraphEntity
- type GraphQLSupergraphConfig
- type GraphQLTypeFields
- type HardTimeoutMeta
- type HeaderInjectionMeta
- type HostCheckObject
- type HttpMethod
- type IdExtractorConfig
- type IdExtractorSource
- type IdExtractorType
- type InternalMeta
- type ListAPIOptions
- type MailOptions
- type MapStringInterfaceType
- type MappingConfiguration
- type MethodTransformMeta
- type MiddlewareDefinition
- type MiddlewareDriver
- type MiddlewareIdExtractor
- type MiddlewareSection
- type NotificationsManager
- type OAuth2Meta
- type OIDProviderConfig
- type OpenIDOptions
- type Percent
- type PortalModelPortalConfig
- type Proxy
- type ProxyTransport
- type RequestInputType
- type RequestSigningMeta
- type RequestSizeMeta
- type ResponseProcessor
- type ResponseTypeEnum
- type Result
- type RewriteToInternal
- type RoutingTrigger
- type RoutingTriggerOnType
- type RoutingTriggerOptions
- type ServiceDiscoveryConfiguration
- type SessionProviderCode
- type SessionProviderMeta
- type SignatureConfig
- type SourceConfig
- type StatusCodeTypeNameMapping
- type StorageEngineCode
- type StringRegexMap
- type SubGraphSpec
- type SubGraphStatus
- type SuperGraphSpec
- type Target
- type TargetInternal
- type TemplateData
- type TemplateMeta
- type TemplateMode
- type TrackEndpointMeta
- type TransformJQMeta
- type TykEvent
- type TykEventHandlerName
- type TypeFieldConfiguration
- type URLRewriteMeta
- type UptimeTestConfig
- type UptimeTests
- type ValidatePathMeta
- type VersionData
- type VersionDefinition
- type VersionInfo
- type VersionInfoPaths
- type VirtualMeta
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
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" hash:"ignore"`
// 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"`
// UseBasicAuth enables basic authentication
UseBasicAuth bool `json:"use_basic_auth,omitempty"`
// UseMutualTLSAuth enables mututal TLS authentication
UseMutualTLSAuth bool `json:"use_mutual_tls_auth,omitempty"`
ClientCertificates []string `json:"client_certificates,omitempty"`
ClientCertificateRefs []string `json:"client_certificate_refs,omitempty" hash:"ignore"`
// 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" hash:"ignore"`
// 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" hash:"ignore"`
// 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 ¶
func (in *APIDefinitionSpecList) DeepCopy() *APIDefinitionSpecList
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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CORS.
func (*CORS) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CacheMeta.
func (*CacheMeta) DeepCopyInto ¶
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 ¶
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 `json:"enabled"`
EmailSubject string `json:"subject"`
EmailBody string `json:"body"`
EmailSignoff string `json:"sign_off"`
HideTokenData bool `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 ¶
func (in *EventHandlerMetaConfig) DeepCopy() *EventHandlerMetaConfig
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 ¶
func (in *EventHandlerTriggerConfig) DeepCopy() *EventHandlerTriggerConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EventHandlerTriggerConfig.
func (*EventHandlerTriggerConfig) DeepCopyInto ¶
func (in *EventHandlerTriggerConfig) DeepCopyInto(out *EventHandlerTriggerConfig)
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 ¶
MarshalJSON marshalls f as a float64 number
func (*Float64) UnmarshalJSON ¶
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"`
// Version defines the version of the GraphQL config and engine to be used.
Version GraphQLConfigVersion `json:"version,omitempty"`
// Schema is the GraphQL Schema exposed by the GraphQL API/Upstream/Engine.
Schema string `json:"schema,omitempty"`
// LastSchemaUpdate contains the date and time of the last triggered schema update to the upstream.
LastSchemaUpdate *metav1.Time `json:"last_schema_update,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"`
// Engine holds the configuration for engine v2 and upwards.
Engine GraphQLEngineConfig `json:"engine,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"`
}
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
func (in *GraphQLEngineDataSource) DeepCopy() *GraphQLEngineDataSource
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;Kafka
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
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
func (in *GraphQLSubgraphConfig) DeepCopy() *GraphQLSubgraphConfig
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 {
// UUID v4 string (!not the same as _id of APIDefinition)
APIID string `json:"api_id"`
Name string `json:"name"`
// The internal URL of the subgraph
URL string `json:"url"`
// the schema definition language of the subgraph
SDL string `json:"sdl"`
Headers map[string]string `json:"headers"`
}
func (*GraphQLSubgraphEntity) DeepCopy ¶ added in v0.10.0
func (in *GraphQLSubgraphEntity) DeepCopy() *GraphQLSubgraphEntity
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"`
DisableQueryBatching bool `json:"disable_query_batching,omitempty"`
}
func (*GraphQLSupergraphConfig) DeepCopy ¶ added in v0.10.0
func (in *GraphQLSupergraphConfig) DeepCopy() *GraphQLSupergraphConfig
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
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
func (in *MapStringInterfaceType) DeepCopy() *MapStringInterfaceType
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 ¶
func (*MappingConfiguration) DeepCopy ¶
func (in *MappingConfiguration) DeepCopy() *MappingConfiguration
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 ¶
func (in *MiddlewareDefinition) DeepCopy() *MiddlewareDefinition
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 ¶
func (in *MiddlewareIdExtractor) DeepCopy() *MiddlewareIdExtractor
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 {
OAuthKeyChangeURL string `json:"oauth_on_keychange_url"`
}
func (*NotificationsManager) DeepCopy ¶
func (in *NotificationsManager) DeepCopy() *NotificationsManager
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 ¶
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 ¶
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 ¶
func (in *PortalModelPortalConfig) DeepCopy() *PortalModelPortalConfig
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Proxy.
func (*Proxy) DeepCopyInto ¶
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 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Result.
func (*Result) DeepCopyInto ¶
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 ¶
func (in *RoutingTriggerOptions) DeepCopy() *RoutingTriggerOptions
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 ¶
func (in *ServiceDiscoveryConfiguration) DeepCopy() *ServiceDiscoveryConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceDiscoveryConfiguration.
func (*ServiceDiscoveryConfiguration) DeepCopyInto ¶
func (in *ServiceDiscoveryConfiguration) DeepCopyInto(out *ServiceDiscoveryConfiguration)
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 ¶
func (in *StatusCodeTypeNameMapping) DeepCopy() *StatusCodeTypeNameMapping
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StatusCodeTypeNameMapping.
func (*StatusCodeTypeNameMapping) DeepCopyInto ¶
func (in *StatusCodeTypeNameMapping) DeepCopyInto(out *StatusCodeTypeNameMapping)
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
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 {
// LinkedByAPI specifies the ID of the ApiDefinition CR that is linked to this particular SubGraph CR.
// Please note that SubGraph CR can only be linked to one ApiDefinition CR that is created in the same
// namespace as SubGraph CR.
LinkedByAPI string `json:"linked_by_api,omitempty"`
}
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Target.
func (*Target) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 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 ¶
func (in *TypeFieldConfiguration) DeepCopy() *TypeFieldConfiguration
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.