management

package
v0.0.0-...-5fed476 Latest Latest
Warning

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

Go to latest
Published: Aug 27, 2026 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package management provides primitives to interact with the openapi HTTP API.

Code generated by github.com/oapi-codegen/oapi-codegen/v2 version v2.5.1 DO NOT EDIT.

Index

Constants

View Source
const (
	BasicAuthScopes = "basicAuth.Scopes"
)

Variables

This section is empty.

Functions

func GetSwagger

func GetSwagger() (swagger *openapi3.T, err error)

GetSwagger returns the Swagger specification corresponding to the generated code in this file. The external references of Swagger specification are resolved. The logic of resolving external references is tightly connected to "import-mapping" feature. Externally referenced files must be embedded in the corresponding golang packages. Urls can be supported but this task was out of the scope.

func Handler

func Handler(si ServerInterface) http.Handler

Handler creates http.Handler with routing matching OpenAPI spec.

func HandlerFromMux

func HandlerFromMux(si ServerInterface, m ServeMux) http.Handler

HandlerFromMux creates http.Handler with routing matching OpenAPI spec based on the provided mux.

func HandlerFromMuxWithBaseURL

func HandlerFromMuxWithBaseURL(si ServerInterface, m ServeMux, baseURL string) http.Handler

func HandlerWithOptions

func HandlerWithOptions(si ServerInterface, options StdHTTPServerOptions) http.Handler

HandlerWithOptions creates http.Handler with additional options

func PathToRawSpec

func PathToRawSpec(pathToFile string) map[string]func() ([]byte, error)

Constructs a synthetic filesystem for resolving external references when loading openapi specifications.

func Ptr

func Ptr[T any](v T) *T

Ptr returns a pointer to v. Convenience for populating the optional (pointer) fields of generated request/response types, e.g. Operation.Method / Operation.Path.

Types

type APIConfigData

type APIConfigData struct {
	// Context Base path for all API routes (must start with /, no trailing slash). Use $version to embed the version in the path (e.g., /reading-list/$version resolves to /reading-list/v1.0).
	Context string `json:"context" yaml:"context"`

	// DeploymentState Desired deployment state - 'deployed' (default) or 'undeployed'. When set to 'undeployed', the API is removed from router traffic but configuration, API keys, and policies are preserved for potential redeployment.
	DeploymentState *APIConfigDataDeploymentState `json:"deploymentState,omitempty" yaml:"deploymentState,omitempty"`

	// DisplayName Human-readable API name (must be URL-friendly - only letters, numbers, spaces, hyphens, underscores, and dots allowed)
	DisplayName string `json:"displayName" yaml:"displayName"`

	// Operations List of HTTP operations/routes
	Operations []Operation `json:"operations" yaml:"operations"`

	// Policies List of API-level policies applied to all operations unless overridden
	Policies *[]Policy `json:"policies,omitempty" yaml:"policies,omitempty"`

	// Resilience Backend/route timeout configuration. Maps to Envoy RouteAction timeouts. Can be set at the API level (applies to all routes) and/or the operation level (applies to that operation's route). When set at both levels, the operation-level value takes precedence. When unset, the gateway's global route timeout defaults apply.
	Resilience *Resilience `json:"resilience,omitempty" yaml:"resilience,omitempty"`

	// SubscriptionPlans List of subscription plan names available for this API
	SubscriptionPlans *[]string `json:"subscriptionPlans,omitempty" yaml:"subscriptionPlans,omitempty"`

	// Upstream API-level upstream configuration
	Upstream struct {
		// Main Upstream backend configuration (single target or reference)
		Main Upstream `json:"main" yaml:"main"`

		// Sandbox Upstream backend configuration (single target or reference)
		Sandbox *Upstream `json:"sandbox,omitempty" yaml:"sandbox,omitempty"`
	} `json:"upstream" yaml:"upstream"`

	// UpstreamDefinitions List of reusable upstream definitions with optional timeout configurations
	UpstreamDefinitions *[]UpstreamDefinition `json:"upstreamDefinitions,omitempty" yaml:"upstreamDefinitions,omitempty"`

	// Version Semantic version of the API
	Version string `json:"version" yaml:"version"`

	// Vhosts Custom virtual hosts/domains for the API
	Vhosts *struct {
		// Main Custom virtual host(s)/domain(s) for production traffic. One or more hostnames
		// separated by ';' — each hostname serves the main upstream (e.g. when a Gateway API
		// HTTPRoute attaches to multiple listener hostnames). The first entry is the primary
		// vhost. Each hostname may be a wildcard such as *.example.com.
		Main string `json:"main" yaml:"main"`

		// Sandbox Custom virtual host/domain for sandbox traffic
		Sandbox *string `json:"sandbox,omitempty" yaml:"sandbox,omitempty"`
	} `json:"vhosts,omitempty" yaml:"vhosts,omitempty"`
}

APIConfigData defines model for APIConfigData.

type APIConfigDataDeploymentState

type APIConfigDataDeploymentState string

APIConfigDataDeploymentState Desired deployment state - 'deployed' (default) or 'undeployed'. When set to 'undeployed', the API is removed from router traffic but configuration, API keys, and policies are preserved for potential redeployment.

const (
	APIConfigDataDeploymentStateDeployed   APIConfigDataDeploymentState = "deployed"
	APIConfigDataDeploymentStateUndeployed APIConfigDataDeploymentState = "undeployed"
)

Defines values for APIConfigDataDeploymentState.

type APIKey

type APIKey struct {
	// ApiId Unique public identifier of the API that the key is associated with
	ApiId string `json:"apiId" yaml:"apiId"`

	// ApiKey Generated API key with apip_ prefix
	ApiKey *string `json:"apiKey,omitempty" yaml:"apiKey,omitempty"`

	// CreatedAt Timestamp when the API key was generated
	CreatedAt time.Time `json:"createdAt" yaml:"createdAt"`

	// CreatedBy Identifier of the user who generated the API key
	CreatedBy string `json:"createdBy" yaml:"createdBy"`

	// DisplayName Human-readable name for the API key (user-provided, mutable)
	DisplayName *string `json:"displayName,omitempty" yaml:"displayName,omitempty"`

	// ExpiresAt Expiration timestamp (null if no expiration)
	ExpiresAt *time.Time `json:"expiresAt" yaml:"expiresAt"`

	// ExternalRefId External reference ID for the API key
	ExternalRefId *string `json:"externalRefId,omitempty" yaml:"externalRefId,omitempty"`

	// Name URL-safe identifier for the API key (auto-generated from displayName, immutable, used as path parameter)
	Name string `json:"name" yaml:"name"`

	// Source Source of the API key (local or external)
	Source APIKeySource `json:"source" yaml:"source"`

	// Status Status of the API key
	Status APIKeyStatus `json:"status" yaml:"status"`
}

APIKey Details of an API key

type APIKeyCreationRequest

type APIKeyCreationRequest struct {
	// ApiKey Optional plain-text API key value for external key injection.
	// If provided, this key will be used instead of generating a new one.
	// The key will be hashed before storage. The key can be in any format
	// (minimum 36 characters). Use this for injecting externally generated
	// API keys.
	ApiKey *string `json:"apiKey,omitempty" yaml:"apiKey,omitempty"`

	// ExpiresAt Expiration timestamp. If both expiresIn and expiresAt are provided, expiresAt takes precedence.
	ExpiresAt *time.Time `json:"expiresAt,omitempty" yaml:"expiresAt,omitempty"`

	// ExpiresIn Expiration duration for the API key
	ExpiresIn *struct {
		// Duration Duration value for expiration
		Duration int `json:"duration" yaml:"duration"`

		// Unit Time unit for expiration
		Unit APIKeyCreationRequestExpiresInUnit `json:"unit" yaml:"unit"`
	} `json:"expiresIn,omitempty" yaml:"expiresIn,omitempty"`

	// ExternalRefId External reference ID for the API key.
	// This field is optional and used for tracing purposes only.
	// The gateway generates its own internal ID for tracking.
	ExternalRefId *string `json:"externalRefId,omitempty" yaml:"externalRefId,omitempty"`

	// Issuer Identifies the portal that created this key. If provided, only api keys generated from
	// the same portal will be accepted. If not provided, there is no portal restriction.
	Issuer *string `json:"issuer,omitempty" yaml:"issuer,omitempty"`

	// MaskedApiKey Masked version of the API key for display purposes.
	// Provided by the platform API when injecting pre-hashed keys.
	MaskedApiKey *string `json:"maskedApiKey,omitempty" yaml:"maskedApiKey,omitempty"`

	// Name Identifier of the API key. If not provided, a default identifier will be generated
	Name *string `json:"name,omitempty" yaml:"name,omitempty"`
}

APIKeyCreationRequest defines model for APIKeyCreationRequest.

type APIKeyCreationRequestExpiresInUnit

type APIKeyCreationRequestExpiresInUnit string

APIKeyCreationRequestExpiresInUnit Time unit for expiration

const (
	APIKeyCreationRequestExpiresInUnitDays    APIKeyCreationRequestExpiresInUnit = "days"
	APIKeyCreationRequestExpiresInUnitHours   APIKeyCreationRequestExpiresInUnit = "hours"
	APIKeyCreationRequestExpiresInUnitMinutes APIKeyCreationRequestExpiresInUnit = "minutes"
	APIKeyCreationRequestExpiresInUnitMonths  APIKeyCreationRequestExpiresInUnit = "months"
	APIKeyCreationRequestExpiresInUnitSeconds APIKeyCreationRequestExpiresInUnit = "seconds"
	APIKeyCreationRequestExpiresInUnitWeeks   APIKeyCreationRequestExpiresInUnit = "weeks"
)

Defines values for APIKeyCreationRequestExpiresInUnit.

type APIKeyCreationResponse

type APIKeyCreationResponse struct {
	// ApiKey Details of an API key
	ApiKey  *APIKey `json:"apiKey,omitempty" yaml:"apiKey,omitempty"`
	Message string  `json:"message" yaml:"message"`

	// RemainingApiKeyQuota Remaining API key quota for the user
	RemainingApiKeyQuota *int   `json:"remainingApiKeyQuota,omitempty" yaml:"remainingApiKeyQuota,omitempty"`
	Status               string `json:"status" yaml:"status"`
}

APIKeyCreationResponse defines model for APIKeyCreationResponse.

type APIKeyListResponse

type APIKeyListResponse struct {
	ApiKeys *[]APIKey `json:"apiKeys,omitempty" yaml:"apiKeys,omitempty"`
	Status  *string   `json:"status,omitempty" yaml:"status,omitempty"`

	// TotalCount Total number of API keys
	TotalCount *int `json:"totalCount,omitempty" yaml:"totalCount,omitempty"`
}

APIKeyListResponse defines model for APIKeyListResponse.

type APIKeyRegenerationRequest

type APIKeyRegenerationRequest struct {
	// ExpiresAt Expiration timestamp
	ExpiresAt *time.Time `json:"expiresAt,omitempty" yaml:"expiresAt,omitempty"`

	// ExpiresIn Expiration duration for the API key
	ExpiresIn *struct {
		// Duration Duration value for expiration
		Duration int `json:"duration" yaml:"duration"`

		// Unit Time unit for expiration
		Unit APIKeyRegenerationRequestExpiresInUnit `json:"unit" yaml:"unit"`
	} `json:"expiresIn,omitempty" yaml:"expiresIn,omitempty"`
}

APIKeyRegenerationRequest defines model for APIKeyRegenerationRequest.

type APIKeyRegenerationRequestExpiresInUnit

type APIKeyRegenerationRequestExpiresInUnit string

APIKeyRegenerationRequestExpiresInUnit Time unit for expiration

const (
	APIKeyRegenerationRequestExpiresInUnitDays    APIKeyRegenerationRequestExpiresInUnit = "days"
	APIKeyRegenerationRequestExpiresInUnitHours   APIKeyRegenerationRequestExpiresInUnit = "hours"
	APIKeyRegenerationRequestExpiresInUnitMinutes APIKeyRegenerationRequestExpiresInUnit = "minutes"
	APIKeyRegenerationRequestExpiresInUnitMonths  APIKeyRegenerationRequestExpiresInUnit = "months"
	APIKeyRegenerationRequestExpiresInUnitSeconds APIKeyRegenerationRequestExpiresInUnit = "seconds"
	APIKeyRegenerationRequestExpiresInUnitWeeks   APIKeyRegenerationRequestExpiresInUnit = "weeks"
)

Defines values for APIKeyRegenerationRequestExpiresInUnit.

type APIKeyRevocationResponse

type APIKeyRevocationResponse struct {
	Message string `json:"message" yaml:"message"`
	Status  string `json:"status" yaml:"status"`
}

APIKeyRevocationResponse defines model for APIKeyRevocationResponse.

type APIKeySource

type APIKeySource string

APIKeySource Source of the API key (local or external)

const (
	External APIKeySource = "external"
	Local    APIKeySource = "local"
)

Defines values for APIKeySource.

type APIKeyStatus

type APIKeyStatus string

APIKeyStatus Status of the API key

const (
	Active  APIKeyStatus = "active"
	Expired APIKeyStatus = "expired"
	Revoked APIKeyStatus = "revoked"
)

Defines values for APIKeyStatus.

type APIKeyUpdateRequest

type APIKeyUpdateRequest = APIKeyCreationRequest

APIKeyUpdateRequest defines model for APIKeyUpdateRequest.

type CertificateListResponse

type CertificateListResponse struct {
	Certificates *[]CertificateResponse `json:"certificates,omitempty" yaml:"certificates,omitempty"`
	Status       *string                `json:"status,omitempty" yaml:"status,omitempty"`

	// TotalBytes Total bytes of all certificate files
	TotalBytes *int `json:"totalBytes,omitempty" yaml:"totalBytes,omitempty"`

	// TotalCount Total number of certificate files
	TotalCount *int `json:"totalCount,omitempty" yaml:"totalCount,omitempty"`
}

CertificateListResponse defines model for CertificateListResponse.

type CertificateResponse

type CertificateResponse struct {
	// Count Number of certificates in the file
	Count *int `json:"count,omitempty" yaml:"count,omitempty"`

	// Id Unique identifier (UUID) for the certificate
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// Issuer Certificate issuer DN (for first cert if bundle)
	Issuer *string `json:"issuer,omitempty" yaml:"issuer,omitempty"`

	// Message Success or informational message
	Message *string `json:"message,omitempty" yaml:"message,omitempty"`

	// Name Name of the certificate
	Name *string `json:"name,omitempty" yaml:"name,omitempty"`

	// NotAfter Certificate expiration date (for first cert if bundle)
	NotAfter *time.Time                 `json:"notAfter,omitempty" yaml:"notAfter,omitempty"`
	Status   *CertificateResponseStatus `json:"status,omitempty" yaml:"status,omitempty"`

	// Subject Certificate subject DN (for first cert if bundle)
	Subject *string `json:"subject,omitempty" yaml:"subject,omitempty"`
}

CertificateResponse defines model for CertificateResponse.

type CertificateResponseStatus

type CertificateResponseStatus string

CertificateResponseStatus defines model for CertificateResponse.Status.

const (
	Error   CertificateResponseStatus = "error"
	Success CertificateResponseStatus = "success"
)

Defines values for CertificateResponseStatus.

type CertificateUploadRequest

type CertificateUploadRequest struct {
	// Certificate PEM-encoded X.509 certificate(s). Can contain multiple certificates.
	Certificate string `json:"certificate" yaml:"certificate"`

	// Name Unique name for the certificate. Must be unique across all certificates.
	Name string `json:"name" yaml:"name"`
}

CertificateUploadRequest defines model for CertificateUploadRequest.

type CreateAPIKeyJSONRequestBody

type CreateAPIKeyJSONRequestBody = APIKeyCreationRequest

CreateAPIKeyJSONRequestBody defines body for CreateAPIKey for application/json ContentType.

type CreateLLMProviderAPIKeyJSONRequestBody

type CreateLLMProviderAPIKeyJSONRequestBody = APIKeyCreationRequest

CreateLLMProviderAPIKeyJSONRequestBody defines body for CreateLLMProviderAPIKey for application/json ContentType.

type CreateLLMProviderJSONRequestBody

type CreateLLMProviderJSONRequestBody = LLMProviderConfigurationRequest

CreateLLMProviderJSONRequestBody defines body for CreateLLMProvider for application/json ContentType.

type CreateLLMProviderTemplateJSONRequestBody

type CreateLLMProviderTemplateJSONRequestBody = LLMProviderTemplateRequest

CreateLLMProviderTemplateJSONRequestBody defines body for CreateLLMProviderTemplate for application/json ContentType.

type CreateLLMProxyAPIKeyJSONRequestBody

type CreateLLMProxyAPIKeyJSONRequestBody = APIKeyCreationRequest

CreateLLMProxyAPIKeyJSONRequestBody defines body for CreateLLMProxyAPIKey for application/json ContentType.

type CreateLLMProxyJSONRequestBody

type CreateLLMProxyJSONRequestBody = LLMProxyConfigurationRequest

CreateLLMProxyJSONRequestBody defines body for CreateLLMProxy for application/json ContentType.

type CreateMCPProxyJSONRequestBody

type CreateMCPProxyJSONRequestBody = MCPProxyConfigurationRequest

CreateMCPProxyJSONRequestBody defines body for CreateMCPProxy for application/json ContentType.

type CreateRestAPIJSONRequestBody

type CreateRestAPIJSONRequestBody = RestAPIRequest

CreateRestAPIJSONRequestBody defines body for CreateRestAPI for application/json ContentType.

type CreateSecretJSONRequestBody

type CreateSecretJSONRequestBody = SecretConfigurationRequest

CreateSecretJSONRequestBody defines body for CreateSecret for application/json ContentType.

type CreateSubscriptionJSONRequestBody

type CreateSubscriptionJSONRequestBody = SubscriptionCreateRequest

CreateSubscriptionJSONRequestBody defines body for CreateSubscription for application/json ContentType.

type CreateSubscriptionPlanJSONRequestBody

type CreateSubscriptionPlanJSONRequestBody = SubscriptionPlanCreateRequest

CreateSubscriptionPlanJSONRequestBody defines body for CreateSubscriptionPlan for application/json ContentType.

type ErrorResponse

type ErrorResponse struct {
	// Errors Detailed validation errors
	Errors *[]ValidationError `json:"errors,omitempty" yaml:"errors,omitempty"`

	// Message High-level error description
	Message string `json:"message" yaml:"message"`
	Status  string `json:"status" yaml:"status"`
}

ErrorResponse defines model for ErrorResponse.

type ExtractionIdentifier

type ExtractionIdentifier struct {
	// FallbackIdentifiers Additional locations to try when the primary identifier yields no
	// value, in order. Used where one provider returns several response
	// shapes on the same path.
	FallbackIdentifiers *[]string `json:"fallbackIdentifiers,omitempty" yaml:"fallbackIdentifiers,omitempty"`

	// Identifier JSONPath expression or header name to identify the token value
	Identifier string `json:"identifier" yaml:"identifier"`

	// Location Where to find the token information
	Location ExtractionIdentifierLocation `json:"location" yaml:"location"`

	// ValueMap Maps values this provider reports onto the vocabulary the gateway
	// bills on. A reported value that is not a key is used unchanged.
	// Used where providers name the same billing tier differently.
	ValueMap *map[string]string `json:"valueMap,omitempty" yaml:"valueMap,omitempty"`
}

ExtractionIdentifier defines model for ExtractionIdentifier.

type ExtractionIdentifierLocation

type ExtractionIdentifierLocation string

ExtractionIdentifierLocation Where to find the token information

const (
	Header     ExtractionIdentifierLocation = "header"
	PathParam  ExtractionIdentifierLocation = "pathParam"
	Payload    ExtractionIdentifierLocation = "payload"
	QueryParam ExtractionIdentifierLocation = "queryParam"
)

Defines values for ExtractionIdentifierLocation.

type InvalidParamFormatError

type InvalidParamFormatError struct {
	ParamName string
	Err       error
}

func (*InvalidParamFormatError) Error

func (e *InvalidParamFormatError) Error() string

func (*InvalidParamFormatError) Unwrap

func (e *InvalidParamFormatError) Unwrap() error

type LLMAccessControl

type LLMAccessControl struct {
	// Exceptions Path exceptions to the access control mode
	Exceptions *[]RouteException `json:"exceptions,omitempty" yaml:"exceptions,omitempty"`

	// Mode Access control mode
	Mode LLMAccessControlMode `json:"mode" yaml:"mode"`
}

LLMAccessControl defines model for LLMAccessControl.

type LLMAccessControlMode

type LLMAccessControlMode string

LLMAccessControlMode Access control mode

const (
	AllowAll LLMAccessControlMode = "allow_all"
	DenyAll  LLMAccessControlMode = "deny_all"
)

Defines values for LLMAccessControlMode.

type LLMPolicy

type LLMPolicy struct {
	Name    string          `json:"name" yaml:"name"`
	Paths   []LLMPolicyPath `json:"paths" yaml:"paths"`
	Version string          `json:"version" yaml:"version"`
}

LLMPolicy defines model for LLMPolicy.

type LLMPolicyPath

type LLMPolicyPath struct {
	Methods []LLMPolicyPathMethods `json:"methods" yaml:"methods"`

	// Params JSON Schema describing the parameters accepted by this policy. This itself is a JSON Schema document.
	Params map[string]interface{} `json:"params" yaml:"params"`
	Path   string                 `json:"path" yaml:"path"`
}

LLMPolicyPath defines model for LLMPolicyPath.

type LLMPolicyPathMethods

type LLMPolicyPathMethods string

LLMPolicyPathMethods defines model for LLMPolicyPath.Methods.

const (
	LLMPolicyPathMethodsAsterisk LLMPolicyPathMethods = "*"
	LLMPolicyPathMethodsDELETE   LLMPolicyPathMethods = "DELETE"
	LLMPolicyPathMethodsGET      LLMPolicyPathMethods = "GET"
	LLMPolicyPathMethodsHEAD     LLMPolicyPathMethods = "HEAD"
	LLMPolicyPathMethodsOPTIONS  LLMPolicyPathMethods = "OPTIONS"
	LLMPolicyPathMethodsPATCH    LLMPolicyPathMethods = "PATCH"
	LLMPolicyPathMethodsPOST     LLMPolicyPathMethods = "POST"
	LLMPolicyPathMethodsPUT      LLMPolicyPathMethods = "PUT"
)

Defines values for LLMPolicyPathMethods.

type LLMProviderConfigData

type LLMProviderConfigData struct {
	AccessControl LLMAccessControl `json:"accessControl" yaml:"accessControl"`

	// Context Base path for all API routes (must start with /, no trailing slash)
	Context *string `json:"context,omitempty" yaml:"context,omitempty"`

	// DeploymentState Desired deployment state - 'deployed' (default) or 'undeployed'. When set to 'undeployed', the LLM Provider is removed from router traffic but configuration and policies are preserved for potential redeployment.
	DeploymentState *LLMProviderConfigDataDeploymentState `json:"deploymentState,omitempty" yaml:"deploymentState,omitempty"`

	// DisplayName Human-readable LLM Provider name
	DisplayName string `json:"displayName" yaml:"displayName"`

	// GlobalPolicies Global (api-level) policies applied across ALL operations as one shared scope, evaluated before operation-level policies.
	GlobalPolicies *[]Policy `json:"globalPolicies,omitempty" yaml:"globalPolicies,omitempty"`

	// OperationPolicies Operation-level policies scoped to specific paths/methods, evaluated after global policies.
	OperationPolicies *[]OperationPolicy `json:"operationPolicies,omitempty" yaml:"operationPolicies,omitempty"`

	// Policies DEPRECATED - use operationPolicies. Still honoured (treated identically to operationPolicies).
	// Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set
	Policies *[]LLMPolicy `json:"policies,omitempty" yaml:"policies,omitempty"`

	// Resilience Backend/route timeout configuration. Maps to Envoy RouteAction timeouts. Can be set at the API level (applies to all routes) and/or the operation level (applies to that operation's route). When set at both levels, the operation-level value takes precedence. When unset, the gateway's global route timeout defaults apply.
	Resilience *Resilience `json:"resilience,omitempty" yaml:"resilience,omitempty"`

	// Template Template name to use for this LLM Provider
	Template string                         `json:"template" yaml:"template"`
	Upstream LLMProviderConfigData_Upstream `json:"upstream" yaml:"upstream"`

	// UpstreamDefinitions List of reusable upstream definitions with optional timeout configurations. Referenced by upstream.ref.
	UpstreamDefinitions *[]UpstreamDefinition `json:"upstreamDefinitions,omitempty" yaml:"upstreamDefinitions,omitempty"`

	// Version Semantic version of the LLM Provider
	Version string `json:"version" yaml:"version"`

	// Vhost Virtual host name used for routing. Supports standard domain names, subdomains, or wildcard domains. Must follow RFC-compliant hostname rules. Wildcards are only allowed in the left-most label (e.g., *.example.com).
	Vhost *string `json:"vhost,omitempty" yaml:"vhost,omitempty"`
}

LLMProviderConfigData defines model for LLMProviderConfigData.

type LLMProviderConfigDataDeploymentState

type LLMProviderConfigDataDeploymentState string

LLMProviderConfigDataDeploymentState Desired deployment state - 'deployed' (default) or 'undeployed'. When set to 'undeployed', the LLM Provider is removed from router traffic but configuration and policies are preserved for potential redeployment.

const (
	LLMProviderConfigDataDeploymentStateDeployed   LLMProviderConfigDataDeploymentState = "deployed"
	LLMProviderConfigDataDeploymentStateUndeployed LLMProviderConfigDataDeploymentState = "undeployed"
)

Defines values for LLMProviderConfigDataDeploymentState.

type LLMProviderConfigDataUpstream0

type LLMProviderConfigDataUpstream0 = interface{}

LLMProviderConfigDataUpstream0 defines model for .

type LLMProviderConfigDataUpstream1

type LLMProviderConfigDataUpstream1 = interface{}

LLMProviderConfigDataUpstream1 defines model for .

type LLMProviderConfigDataUpstreamAuthType

type LLMProviderConfigDataUpstreamAuthType string

LLMProviderConfigDataUpstreamAuthType defines model for LLMProviderConfigData.Upstream.Auth.Type.

const (
	LLMProviderConfigDataUpstreamAuthTypeApiKey LLMProviderConfigDataUpstreamAuthType = "api-key"
	LLMProviderConfigDataUpstreamAuthTypeNone   LLMProviderConfigDataUpstreamAuthType = "none"
	LLMProviderConfigDataUpstreamAuthTypeOther  LLMProviderConfigDataUpstreamAuthType = "other"
)

Defines values for LLMProviderConfigDataUpstreamAuthType.

type LLMProviderConfigDataUpstreamHostRewrite

type LLMProviderConfigDataUpstreamHostRewrite string

LLMProviderConfigDataUpstreamHostRewrite Controls how the Host header is handled when routing to the upstream. `auto` delegates host rewriting to Envoy, which rewrites the Host header using the upstream cluster host. `manual` disables automatic rewriting and expects explicit configuration.

const (
	LLMProviderConfigDataUpstreamHostRewriteAuto   LLMProviderConfigDataUpstreamHostRewrite = "auto"
	LLMProviderConfigDataUpstreamHostRewriteManual LLMProviderConfigDataUpstreamHostRewrite = "manual"
)

Defines values for LLMProviderConfigDataUpstreamHostRewrite.

type LLMProviderConfigData_Upstream

type LLMProviderConfigData_Upstream struct {
	Auth *struct {
		Header *string                               `json:"header,omitempty" yaml:"header,omitempty"`
		Type   LLMProviderConfigDataUpstreamAuthType `json:"type" yaml:"type"`

		// Value Upstream credential. Write-only: accepted on create/update and never returned by the management API on a read, for any role. Supply either a literal value or a secret reference (e.g. a `secret` template expression); either way the field is omitted from management API response bodies. An update that omits it inherits the stored value; set `type: none` to remove auth.
		Value *string `json:"value,omitempty" yaml:"value,omitempty"`
	} `json:"auth,omitempty" yaml:"auth,omitempty"`

	// HostRewrite Controls how the Host header is handled when routing to the upstream. `auto` delegates host rewriting to Envoy, which rewrites the Host header using the upstream cluster host. `manual` disables automatic rewriting and expects explicit configuration.
	HostRewrite *LLMProviderConfigDataUpstreamHostRewrite `json:"hostRewrite,omitempty" yaml:"hostRewrite,omitempty"`

	// Ref Reference to a predefined upstreamDefinition
	Ref *string `json:"ref,omitempty" yaml:"ref,omitempty"`

	// Url Direct backend URL to route traffic to
	Url *string `json:"url,omitempty" yaml:"url,omitempty"`
	// contains filtered or unexported fields
}

LLMProviderConfigData_Upstream defines model for LLMProviderConfigData.Upstream.

func (LLMProviderConfigData_Upstream) AsLLMProviderConfigDataUpstream0

func (t LLMProviderConfigData_Upstream) AsLLMProviderConfigDataUpstream0() (LLMProviderConfigDataUpstream0, error)

AsLLMProviderConfigDataUpstream0 returns the union data inside the LLMProviderConfigData_Upstream as a LLMProviderConfigDataUpstream0

func (LLMProviderConfigData_Upstream) AsLLMProviderConfigDataUpstream1

func (t LLMProviderConfigData_Upstream) AsLLMProviderConfigDataUpstream1() (LLMProviderConfigDataUpstream1, error)

AsLLMProviderConfigDataUpstream1 returns the union data inside the LLMProviderConfigData_Upstream as a LLMProviderConfigDataUpstream1

func (*LLMProviderConfigData_Upstream) FromLLMProviderConfigDataUpstream0

func (t *LLMProviderConfigData_Upstream) FromLLMProviderConfigDataUpstream0(v LLMProviderConfigDataUpstream0) error

FromLLMProviderConfigDataUpstream0 overwrites any union data inside the LLMProviderConfigData_Upstream as the provided LLMProviderConfigDataUpstream0

func (*LLMProviderConfigData_Upstream) FromLLMProviderConfigDataUpstream1

func (t *LLMProviderConfigData_Upstream) FromLLMProviderConfigDataUpstream1(v LLMProviderConfigDataUpstream1) error

FromLLMProviderConfigDataUpstream1 overwrites any union data inside the LLMProviderConfigData_Upstream as the provided LLMProviderConfigDataUpstream1

func (LLMProviderConfigData_Upstream) MarshalJSON

func (t LLMProviderConfigData_Upstream) MarshalJSON() ([]byte, error)

func (*LLMProviderConfigData_Upstream) MergeLLMProviderConfigDataUpstream0

func (t *LLMProviderConfigData_Upstream) MergeLLMProviderConfigDataUpstream0(v LLMProviderConfigDataUpstream0) error

MergeLLMProviderConfigDataUpstream0 performs a merge with any union data inside the LLMProviderConfigData_Upstream, using the provided LLMProviderConfigDataUpstream0

func (*LLMProviderConfigData_Upstream) MergeLLMProviderConfigDataUpstream1

func (t *LLMProviderConfigData_Upstream) MergeLLMProviderConfigDataUpstream1(v LLMProviderConfigDataUpstream1) error

MergeLLMProviderConfigDataUpstream1 performs a merge with any union data inside the LLMProviderConfigData_Upstream, using the provided LLMProviderConfigDataUpstream1

func (*LLMProviderConfigData_Upstream) UnmarshalJSON

func (t *LLMProviderConfigData_Upstream) UnmarshalJSON(b []byte) error

type LLMProviderConfiguration

type LLMProviderConfiguration struct {
	// ApiVersion Provider specification version
	ApiVersion LLMProviderConfigurationApiVersion `json:"apiVersion" yaml:"apiVersion"`

	// Kind Provider kind
	Kind     LLMProviderConfigurationKind `json:"kind" yaml:"kind"`
	Metadata Metadata                     `json:"metadata" yaml:"metadata"`
	Spec     LLMProviderConfigData        `json:"spec" yaml:"spec"`

	// Status Server-managed lifecycle fields. Populated on responses.
	Status *ResourceStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

LLMProviderConfiguration defines model for LLMProviderConfiguration.

type LLMProviderConfigurationApiVersion

type LLMProviderConfigurationApiVersion string

LLMProviderConfigurationApiVersion Provider specification version

const (
	LLMProviderConfigurationApiVersionGatewayApiPlatformWso2Comv1 LLMProviderConfigurationApiVersion = "gateway.api-platform.wso2.com/v1"
)

Defines values for LLMProviderConfigurationApiVersion.

type LLMProviderConfigurationKind

type LLMProviderConfigurationKind string

LLMProviderConfigurationKind Provider kind

const (
	LLMProviderConfigurationKindLlmProvider LLMProviderConfigurationKind = "LlmProvider"
)

Defines values for LLMProviderConfigurationKind.

type LLMProviderConfigurationRequest

type LLMProviderConfigurationRequest struct {
	// ApiVersion Provider specification version
	ApiVersion LLMProviderConfigurationRequestApiVersion `json:"apiVersion" yaml:"apiVersion"`

	// Kind Provider kind
	Kind     LLMProviderConfigurationRequestKind `json:"kind" yaml:"kind"`
	Metadata Metadata                            `json:"metadata" yaml:"metadata"`
	Spec     LLMProviderConfigData               `json:"spec" yaml:"spec"`
}

LLMProviderConfigurationRequest defines model for LLMProviderConfigurationRequest.

type LLMProviderConfigurationRequestApiVersion

type LLMProviderConfigurationRequestApiVersion string

LLMProviderConfigurationRequestApiVersion Provider specification version

const (
	LLMProviderConfigurationRequestApiVersionGatewayApiPlatformWso2Comv1 LLMProviderConfigurationRequestApiVersion = "gateway.api-platform.wso2.com/v1"
)

Defines values for LLMProviderConfigurationRequestApiVersion.

type LLMProviderConfigurationRequestKind

type LLMProviderConfigurationRequestKind string

LLMProviderConfigurationRequestKind Provider kind

const (
	LLMProviderConfigurationRequestKindLlmProvider LLMProviderConfigurationRequestKind = "LlmProvider"
)

Defines values for LLMProviderConfigurationRequestKind.

type LLMProviderTemplate

type LLMProviderTemplate struct {
	// ApiVersion Template specification version
	ApiVersion LLMProviderTemplateApiVersion `json:"apiVersion" yaml:"apiVersion"`

	// Kind Template kind
	Kind     LLMProviderTemplateKind `json:"kind" yaml:"kind"`
	Metadata Metadata                `json:"metadata" yaml:"metadata"`
	Spec     LLMProviderTemplateData `json:"spec" yaml:"spec"`

	// Status Server-managed lifecycle fields. Populated on responses.
	Status *ResourceStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

LLMProviderTemplate defines model for LLMProviderTemplate.

type LLMProviderTemplateApiVersion

type LLMProviderTemplateApiVersion string

LLMProviderTemplateApiVersion Template specification version

const (
	LLMProviderTemplateApiVersionGatewayApiPlatformWso2Comv1 LLMProviderTemplateApiVersion = "gateway.api-platform.wso2.com/v1"
)

Defines values for LLMProviderTemplateApiVersion.

type LLMProviderTemplateData

type LLMProviderTemplateData struct {
	AudioInputTokens  *ExtractionIdentifier `json:"audioInputTokens,omitempty" yaml:"audioInputTokens,omitempty"`
	AudioOutputTokens *ExtractionIdentifier `json:"audioOutputTokens,omitempty" yaml:"audioOutputTokens,omitempty"`

	// CacheAccounting Whether the cached token count reported by the provider is already
	// part of the input token total, or additional to it. One of
	// 'inclusive' or 'additive'. Defaults to inclusive when omitted.
	CacheAccounting    *string               `json:"cacheAccounting,omitempty" yaml:"cacheAccounting,omitempty"`
	CacheWrite1hTokens *ExtractionIdentifier `json:"cacheWrite1hTokens,omitempty" yaml:"cacheWrite1hTokens,omitempty"`
	CacheWriteTokens   *ExtractionIdentifier `json:"cacheWriteTokens,omitempty" yaml:"cacheWriteTokens,omitempty"`
	CachedTokens       *ExtractionIdentifier `json:"cachedTokens,omitempty" yaml:"cachedTokens,omitempty"`
	CompletionTokens   *ExtractionIdentifier `json:"completionTokens,omitempty" yaml:"completionTokens,omitempty"`

	// DisplayName Human-readable LLM Template name
	DisplayName string `json:"displayName" yaml:"displayName"`

	// GroupId Stable family-grouping identifier shared by every version of this
	// template. Multiple versions with the same groupId but different
	// handles are surfaced as versions of one template. Defaults to
	// metadata.name when omitted.
	GroupId *string `json:"groupId,omitempty" yaml:"groupId,omitempty"`

	// ManagedBy Origin of the template. Built-in templates use 'wso2'; custom
	// templates default to 'customer' and may be set to any value.
	ManagedBy    *string               `json:"managedBy,omitempty" yaml:"managedBy,omitempty"`
	PromptTokens *ExtractionIdentifier `json:"promptTokens,omitempty" yaml:"promptTokens,omitempty"`

	// ProviderFields Named locations a provider-specific calculator needs but the closed
	// vocabulary does not cover. The value at each location is handed to
	// the calculator as-is; only its position is declared here.
	ProviderFields   *map[string]ExtractionIdentifier     `json:"providerFields,omitempty" yaml:"providerFields,omitempty"`
	ReasoningTokens  *ExtractionIdentifier                `json:"reasoningTokens,omitempty" yaml:"reasoningTokens,omitempty"`
	RemainingTokens  *ExtractionIdentifier                `json:"remainingTokens,omitempty" yaml:"remainingTokens,omitempty"`
	RequestModel     *ExtractionIdentifier                `json:"requestModel,omitempty" yaml:"requestModel,omitempty"`
	ResourceMappings *LLMProviderTemplateResourceMappings `json:"resourceMappings,omitempty" yaml:"resourceMappings,omitempty"`
	ResponseModel    *ExtractionIdentifier                `json:"responseModel,omitempty" yaml:"responseModel,omitempty"`
	ServiceTier      *ExtractionIdentifier                `json:"serviceTier,omitempty" yaml:"serviceTier,omitempty"`
	TotalTokens      *ExtractionIdentifier                `json:"totalTokens,omitempty" yaml:"totalTokens,omitempty"`

	// Version Template content version (e.g. v1.0). Multiple versions of the same
	// groupId can coexist; defaults to v1.0 when omitted.
	Version *string `json:"version,omitempty" yaml:"version,omitempty"`
}

LLMProviderTemplateData defines model for LLMProviderTemplateData.

type LLMProviderTemplateKind

type LLMProviderTemplateKind string

LLMProviderTemplateKind Template kind

const (
	LLMProviderTemplateKindLlmProviderTemplate LLMProviderTemplateKind = "LlmProviderTemplate"
)

Defines values for LLMProviderTemplateKind.

type LLMProviderTemplateRequest

type LLMProviderTemplateRequest struct {
	// ApiVersion Template specification version
	ApiVersion LLMProviderTemplateRequestApiVersion `json:"apiVersion" yaml:"apiVersion"`

	// Kind Template kind
	Kind     LLMProviderTemplateRequestKind `json:"kind" yaml:"kind"`
	Metadata Metadata                       `json:"metadata" yaml:"metadata"`
	Spec     LLMProviderTemplateData        `json:"spec" yaml:"spec"`
}

LLMProviderTemplateRequest defines model for LLMProviderTemplateRequest.

type LLMProviderTemplateRequestApiVersion

type LLMProviderTemplateRequestApiVersion string

LLMProviderTemplateRequestApiVersion Template specification version

const (
	LLMProviderTemplateRequestApiVersionGatewayApiPlatformWso2Comv1 LLMProviderTemplateRequestApiVersion = "gateway.api-platform.wso2.com/v1"
)

Defines values for LLMProviderTemplateRequestApiVersion.

type LLMProviderTemplateRequestKind

type LLMProviderTemplateRequestKind string

LLMProviderTemplateRequestKind Template kind

const (
	LLMProviderTemplateRequestKindLlmProviderTemplate LLMProviderTemplateRequestKind = "LlmProviderTemplate"
)

Defines values for LLMProviderTemplateRequestKind.

type LLMProviderTemplateResourceMapping

type LLMProviderTemplateResourceMapping struct {
	AudioInputTokens  *ExtractionIdentifier `json:"audioInputTokens,omitempty" yaml:"audioInputTokens,omitempty"`
	AudioOutputTokens *ExtractionIdentifier `json:"audioOutputTokens,omitempty" yaml:"audioOutputTokens,omitempty"`

	// CacheAccounting Whether the cached token count reported by the provider is already
	// part of the input token total, or additional to it. One of
	// 'inclusive' or 'additive'. Overrides the template-level setting for
	// this resource; when omitted, the template-level value is inherited.
	CacheAccounting    *string               `json:"cacheAccounting,omitempty" yaml:"cacheAccounting,omitempty"`
	CacheWrite1hTokens *ExtractionIdentifier `json:"cacheWrite1hTokens,omitempty" yaml:"cacheWrite1hTokens,omitempty"`
	CacheWriteTokens   *ExtractionIdentifier `json:"cacheWriteTokens,omitempty" yaml:"cacheWriteTokens,omitempty"`
	CachedTokens       *ExtractionIdentifier `json:"cachedTokens,omitempty" yaml:"cachedTokens,omitempty"`
	CompletionTokens   *ExtractionIdentifier `json:"completionTokens,omitempty" yaml:"completionTokens,omitempty"`
	PromptTokens       *ExtractionIdentifier `json:"promptTokens,omitempty" yaml:"promptTokens,omitempty"`
	ReasoningTokens    *ExtractionIdentifier `json:"reasoningTokens,omitempty" yaml:"reasoningTokens,omitempty"`
	RemainingTokens    *ExtractionIdentifier `json:"remainingTokens,omitempty" yaml:"remainingTokens,omitempty"`
	RequestModel       *ExtractionIdentifier `json:"requestModel,omitempty" yaml:"requestModel,omitempty"`

	// Resource Resource path pattern for this mapping
	Resource      string                `json:"resource" yaml:"resource"`
	ResponseModel *ExtractionIdentifier `json:"responseModel,omitempty" yaml:"responseModel,omitempty"`
	ServiceTier   *ExtractionIdentifier `json:"serviceTier,omitempty" yaml:"serviceTier,omitempty"`
	TotalTokens   *ExtractionIdentifier `json:"totalTokens,omitempty" yaml:"totalTokens,omitempty"`
}

LLMProviderTemplateResourceMapping defines model for LLMProviderTemplateResourceMapping.

type LLMProviderTemplateResourceMappings

type LLMProviderTemplateResourceMappings struct {
	Resources *[]LLMProviderTemplateResourceMapping `json:"resources,omitempty" yaml:"resources,omitempty"`
}

LLMProviderTemplateResourceMappings defines model for LLMProviderTemplateResourceMappings.

type LLMProxyAdditionalProvider

type LLMProxyAdditionalProvider struct {
	// As Logical LLM Provider name used by policies to select this provider. Must be unique within the proxy. Defaults to `id` when omitted.
	As   *string          `json:"as,omitempty" yaml:"as,omitempty"`
	Auth *LLMUpstreamAuth `json:"auth,omitempty" yaml:"auth,omitempty"`

	// Id Unique id of a deployed llm provider
	Id string `json:"id" yaml:"id"`

	// Transformer Request/response translator applied when this provider is the selected upstream. The proxy injects the translator as a conditional policy whose execution condition matches this provider, so it runs only when the provider is selected. The provider's `as` name (defaults to `id`) is passed to the translator as its target upstream.
	Transformer *LLMProxyTransformer `json:"transformer,omitempty" yaml:"transformer,omitempty"`
}

LLMProxyAdditionalProvider Additional LLM provider attached to this proxy as a selectable upstream. Policies route to it by referring to the `as` name (defaults to `id`). Optional auth config is used by the proxy when calling a protected LlmProvider over the internal loopback route.

type LLMProxyConfigData

type LLMProxyConfigData struct {
	// AdditionalProviders Optional list of additional LLM providers attached to this proxy as selectable upstreams. Policies (e.g. an OpenAI translator) can route requests to any of these by setting the upstream name. The primary `provider` field above remains the default upstream and the FK target.
	AdditionalProviders *[]LLMProxyAdditionalProvider `json:"additionalProviders,omitempty" yaml:"additionalProviders,omitempty"`

	// Context Base path for all API routes (must start with /, no trailing slash)
	Context *string `json:"context,omitempty" yaml:"context,omitempty"`

	// DeploymentState Desired deployment state - 'deployed' (default) or 'undeployed'. When set to 'undeployed', the LLM Proxy is removed from router traffic but configuration and policies are preserved for potential redeployment.
	DeploymentState *LLMProxyConfigDataDeploymentState `json:"deploymentState,omitempty" yaml:"deploymentState,omitempty"`

	// DisplayName Human-readable LLM proxy name (must be URL-friendly - only letters, numbers, spaces, hyphens, underscores, and dots allowed)
	DisplayName string `json:"displayName" yaml:"displayName"`

	// GlobalPolicies Global (api-level) policies applied across ALL operations as one shared scope, evaluated before operation-level policies.
	GlobalPolicies *[]Policy `json:"globalPolicies,omitempty" yaml:"globalPolicies,omitempty"`

	// OperationPolicies Operation-level policies scoped to specific paths/methods, evaluated after global policies.
	OperationPolicies *[]OperationPolicy `json:"operationPolicies,omitempty" yaml:"operationPolicies,omitempty"`

	// Policies DEPRECATED - use operationPolicies. Still honoured (treated identically to operationPolicies).
	// Deprecated: this property has been marked as deprecated upstream, but no `x-deprecated-reason` was set
	Policies *[]LLMPolicy     `json:"policies,omitempty" yaml:"policies,omitempty"`
	Provider LLMProxyProvider `json:"provider" yaml:"provider"`

	// Resilience Backend/route timeout configuration. Maps to Envoy RouteAction timeouts. Can be set at the API level (applies to all routes) and/or the operation level (applies to that operation's route). When set at both levels, the operation-level value takes precedence. When unset, the gateway's global route timeout defaults apply.
	Resilience *Resilience `json:"resilience,omitempty" yaml:"resilience,omitempty"`

	// Version Semantic version of the LLM proxy
	Version string `json:"version" yaml:"version"`

	// Vhost Virtual host name used for routing. Supports standard domain names, subdomains, or wildcard domains. Must follow RFC-compliant hostname rules. Wildcards are only allowed in the left-most label (e.g., *.example.com).
	Vhost *string `json:"vhost,omitempty" yaml:"vhost,omitempty"`
}

LLMProxyConfigData defines model for LLMProxyConfigData.

type LLMProxyConfigDataDeploymentState

type LLMProxyConfigDataDeploymentState string

LLMProxyConfigDataDeploymentState Desired deployment state - 'deployed' (default) or 'undeployed'. When set to 'undeployed', the LLM Proxy is removed from router traffic but configuration and policies are preserved for potential redeployment.

const (
	LLMProxyConfigDataDeploymentStateDeployed   LLMProxyConfigDataDeploymentState = "deployed"
	LLMProxyConfigDataDeploymentStateUndeployed LLMProxyConfigDataDeploymentState = "undeployed"
)

Defines values for LLMProxyConfigDataDeploymentState.

type LLMProxyConfiguration

type LLMProxyConfiguration struct {
	// ApiVersion Proxy specification version
	ApiVersion LLMProxyConfigurationApiVersion `json:"apiVersion" yaml:"apiVersion"`

	// Kind Proxy kind
	Kind     LLMProxyConfigurationKind `json:"kind" yaml:"kind"`
	Metadata Metadata                  `json:"metadata" yaml:"metadata"`
	Spec     LLMProxyConfigData        `json:"spec" yaml:"spec"`

	// Status Server-managed lifecycle fields. Populated on responses.
	Status *ResourceStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

LLMProxyConfiguration defines model for LLMProxyConfiguration.

type LLMProxyConfigurationApiVersion

type LLMProxyConfigurationApiVersion string

LLMProxyConfigurationApiVersion Proxy specification version

const (
	LLMProxyConfigurationApiVersionGatewayApiPlatformWso2Comv1 LLMProxyConfigurationApiVersion = "gateway.api-platform.wso2.com/v1"
)

Defines values for LLMProxyConfigurationApiVersion.

type LLMProxyConfigurationKind

type LLMProxyConfigurationKind string

LLMProxyConfigurationKind Proxy kind

const (
	LLMProxyConfigurationKindLlmProxy LLMProxyConfigurationKind = "LlmProxy"
)

Defines values for LLMProxyConfigurationKind.

type LLMProxyConfigurationRequest

type LLMProxyConfigurationRequest struct {
	// ApiVersion Proxy specification version
	ApiVersion LLMProxyConfigurationRequestApiVersion `json:"apiVersion" yaml:"apiVersion"`

	// Kind Proxy kind
	Kind     LLMProxyConfigurationRequestKind `json:"kind" yaml:"kind"`
	Metadata Metadata                         `json:"metadata" yaml:"metadata"`
	Spec     LLMProxyConfigData               `json:"spec" yaml:"spec"`
}

LLMProxyConfigurationRequest defines model for LLMProxyConfigurationRequest.

type LLMProxyConfigurationRequestApiVersion

type LLMProxyConfigurationRequestApiVersion string

LLMProxyConfigurationRequestApiVersion Proxy specification version

const (
	LLMProxyConfigurationRequestApiVersionGatewayApiPlatformWso2Comv1 LLMProxyConfigurationRequestApiVersion = "gateway.api-platform.wso2.com/v1"
)

Defines values for LLMProxyConfigurationRequestApiVersion.

type LLMProxyConfigurationRequestKind

type LLMProxyConfigurationRequestKind string

LLMProxyConfigurationRequestKind Proxy kind

const (
	LLMProxyConfigurationRequestKindLlmProxy LLMProxyConfigurationRequestKind = "LlmProxy"
)

Defines values for LLMProxyConfigurationRequestKind.

type LLMProxyProvider

type LLMProxyProvider struct {
	Auth *LLMUpstreamAuth `json:"auth,omitempty" yaml:"auth,omitempty"`

	// Id Unique id of a deployed llm provider
	Id string `json:"id" yaml:"id"`
}

LLMProxyProvider defines model for LLMProxyProvider.

type LLMProxyTransformer

type LLMProxyTransformer struct {
	// Params Translator-specific parameters (for example model, apiVersion).
	Params *map[string]interface{} `json:"params,omitempty" yaml:"params,omitempty"`

	// Type Translator policy name (for example openai-to-anthropic).
	Type string `json:"type" yaml:"type"`

	// Version Major-only translator policy version (for example v1). The Gateway Controller resolves it to the installed full version.
	Version string `json:"version" yaml:"version"`
}

LLMProxyTransformer Request/response translator applied when this provider is the selected upstream. The proxy injects the translator as a conditional policy whose execution condition matches this provider, so it runs only when the provider is selected. The provider's `as` name (defaults to `id`) is passed to the translator as its target upstream.

type LLMUpstreamAuth

type LLMUpstreamAuth struct {
	Header *string             `json:"header,omitempty" yaml:"header,omitempty"`
	Type   LLMUpstreamAuthType `json:"type" yaml:"type"`

	// Value Upstream credential. Write-only: accepted on create/update and never returned by the management API on a read, for any role. An update that omits it inherits the stored value; set `type: none` to remove auth.
	Value *string `json:"value,omitempty" yaml:"value,omitempty"`
}

LLMUpstreamAuth defines model for LLMUpstreamAuth.

type LLMUpstreamAuthType

type LLMUpstreamAuthType string

LLMUpstreamAuthType defines model for LLMUpstreamAuth.Type.

const (
	LLMUpstreamAuthTypeApiKey LLMUpstreamAuthType = "api-key"
	LLMUpstreamAuthTypeNone   LLMUpstreamAuthType = "none"
	LLMUpstreamAuthTypeOther  LLMUpstreamAuthType = "other"
)

Defines values for LLMUpstreamAuthType.

type ListLLMProviderTemplatesParams

type ListLLMProviderTemplatesParams struct {
	// DisplayName Filter by template display name
	DisplayName *string `form:"displayName,omitempty" json:"displayName,omitempty" yaml:"displayName,omitempty"`
}

ListLLMProviderTemplatesParams defines parameters for ListLLMProviderTemplates.

type ListLLMProvidersParams

type ListLLMProvidersParams struct {
	// DisplayName Filter by LLM provider display name
	DisplayName *string `form:"displayName,omitempty" json:"displayName,omitempty" yaml:"displayName,omitempty"`

	// Version Filter by LLM provider version
	Version *string `form:"version,omitempty" json:"version,omitempty" yaml:"version,omitempty"`

	// Context Filter by LLM provider context/path
	Context *string `form:"context,omitempty" json:"context,omitempty" yaml:"context,omitempty"`

	// Status Filter by deployment status
	Status *ListLLMProvidersParamsStatus `form:"status,omitempty" json:"status,omitempty" yaml:"status,omitempty"`

	// Vhost Filter by LLM provider vhost
	Vhost *string `form:"vhost,omitempty" json:"vhost,omitempty" yaml:"vhost,omitempty"`
}

ListLLMProvidersParams defines parameters for ListLLMProviders.

type ListLLMProvidersParamsStatus

type ListLLMProvidersParamsStatus string

ListLLMProvidersParamsStatus defines parameters for ListLLMProviders.

const (
	ListLLMProvidersParamsStatusDeployed   ListLLMProvidersParamsStatus = "deployed"
	ListLLMProvidersParamsStatusUndeployed ListLLMProvidersParamsStatus = "undeployed"
)

Defines values for ListLLMProvidersParamsStatus.

type ListLLMProxiesParams

type ListLLMProxiesParams struct {
	// DisplayName Filter by LLM proxy displayName
	DisplayName *string `form:"displayName,omitempty" json:"displayName,omitempty" yaml:"displayName,omitempty"`

	// Version Filter by LLM proxy version
	Version *string `form:"version,omitempty" json:"version,omitempty" yaml:"version,omitempty"`

	// Context Filter by LLM proxy context/path
	Context *string `form:"context,omitempty" json:"context,omitempty" yaml:"context,omitempty"`

	// Status Filter by deployment status
	Status *ListLLMProxiesParamsStatus `form:"status,omitempty" json:"status,omitempty" yaml:"status,omitempty"`

	// Vhost Filter by LLM proxy vhost
	Vhost *string `form:"vhost,omitempty" json:"vhost,omitempty" yaml:"vhost,omitempty"`
}

ListLLMProxiesParams defines parameters for ListLLMProxies.

type ListLLMProxiesParamsStatus

type ListLLMProxiesParamsStatus string

ListLLMProxiesParamsStatus defines parameters for ListLLMProxies.

const (
	ListLLMProxiesParamsStatusDeployed   ListLLMProxiesParamsStatus = "deployed"
	ListLLMProxiesParamsStatusUndeployed ListLLMProxiesParamsStatus = "undeployed"
)

Defines values for ListLLMProxiesParamsStatus.

type ListMCPProxiesParams

type ListMCPProxiesParams struct {
	// DisplayName Filter by MCP proxy display name
	DisplayName *string `form:"displayName,omitempty" json:"displayName,omitempty" yaml:"displayName,omitempty"`

	// Version Filter by MCP proxy version
	Version *string `form:"version,omitempty" json:"version,omitempty" yaml:"version,omitempty"`

	// Context Filter by MCP proxy context/path
	Context *string `form:"context,omitempty" json:"context,omitempty" yaml:"context,omitempty"`

	// Status Filter by deployment status
	Status *ListMCPProxiesParamsStatus `form:"status,omitempty" json:"status,omitempty" yaml:"status,omitempty"`
}

ListMCPProxiesParams defines parameters for ListMCPProxies.

type ListMCPProxiesParamsStatus

type ListMCPProxiesParamsStatus string

ListMCPProxiesParamsStatus defines parameters for ListMCPProxies.

const (
	ListMCPProxiesParamsStatusDeployed   ListMCPProxiesParamsStatus = "deployed"
	ListMCPProxiesParamsStatusUndeployed ListMCPProxiesParamsStatus = "undeployed"
)

Defines values for ListMCPProxiesParamsStatus.

type ListRestAPIsParams

type ListRestAPIsParams struct {
	// DisplayName Filter by API display name
	DisplayName *string `form:"displayName,omitempty" json:"displayName,omitempty" yaml:"displayName,omitempty"`

	// Version Filter by API version
	Version *string `form:"version,omitempty" json:"version,omitempty" yaml:"version,omitempty"`

	// Context Filter by API context/path
	Context *string `form:"context,omitempty" json:"context,omitempty" yaml:"context,omitempty"`

	// Status Filter by deployment status
	Status *ListRestAPIsParamsStatus `form:"status,omitempty" json:"status,omitempty" yaml:"status,omitempty"`
}

ListRestAPIsParams defines parameters for ListRestAPIs.

type ListRestAPIsParamsStatus

type ListRestAPIsParamsStatus string

ListRestAPIsParamsStatus defines parameters for ListRestAPIs.

const (
	Deployed   ListRestAPIsParamsStatus = "deployed"
	Undeployed ListRestAPIsParamsStatus = "undeployed"
)

Defines values for ListRestAPIsParamsStatus.

type ListSubscriptionsParams

type ListSubscriptionsParams struct {
	// ApiId Filter by API ID (deployment ID or handle)
	ApiId         *string                        `form:"apiId,omitempty" json:"apiId,omitempty" yaml:"apiId,omitempty"`
	ApplicationId *string                        `form:"applicationId,omitempty" json:"applicationId,omitempty" yaml:"applicationId,omitempty"`
	Status        *ListSubscriptionsParamsStatus `form:"status,omitempty" json:"status,omitempty" yaml:"status,omitempty"`
}

ListSubscriptionsParams defines parameters for ListSubscriptions.

type ListSubscriptionsParamsStatus

type ListSubscriptionsParamsStatus string

ListSubscriptionsParamsStatus defines parameters for ListSubscriptions.

const (
	ACTIVE   ListSubscriptionsParamsStatus = "ACTIVE"
	INACTIVE ListSubscriptionsParamsStatus = "INACTIVE"
	REVOKED  ListSubscriptionsParamsStatus = "REVOKED"
)

Defines values for ListSubscriptionsParamsStatus.

type MCPPrompt

type MCPPrompt struct {
	// Arguments Optional list of arguments for customization
	Arguments *[]struct {
		// Description Description of the argument
		Description *string `json:"description,omitempty" yaml:"description,omitempty"`

		// Name Name of the argument
		Name string `json:"name" yaml:"name"`

		// Required Whether the argument is required
		Required *bool `json:"required,omitempty" yaml:"required,omitempty"`

		// Title Optional human-readable title of the argument
		Title *string `json:"title,omitempty" yaml:"title,omitempty"`
	} `json:"arguments,omitempty" yaml:"arguments,omitempty"`

	// Description Optional human-readable description
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// Name Unique identifier for the prompt
	Name string `json:"name" yaml:"name"`

	// Title Optional human-readable name of the prompt for display purposes
	Title *string `json:"title,omitempty" yaml:"title,omitempty"`
}

MCPPrompt defines model for MCPPrompt.

type MCPProxyConfigData

type MCPProxyConfigData struct {
	// Context MCP Proxy context path
	Context *string `json:"context,omitempty" yaml:"context,omitempty"`

	// DeploymentState Desired deployment state - 'deployed' (default) or 'undeployed'. When set to 'undeployed', the MCP Proxy is removed from router traffic but configuration and policies are preserved for potential redeployment.
	DeploymentState *MCPProxyConfigDataDeploymentState `json:"deploymentState,omitempty" yaml:"deploymentState,omitempty"`

	// DisplayName Human-readable MCP Proxy display name
	DisplayName string `json:"displayName" yaml:"displayName"`

	// Policies List of MCP Proxy level policies applied
	Policies *[]Policy    `json:"policies,omitempty" yaml:"policies,omitempty"`
	Prompts  *[]MCPPrompt `json:"prompts,omitempty" yaml:"prompts,omitempty"`

	// Resilience Backend/route timeout configuration. Maps to Envoy RouteAction timeouts. Can be set at the API level (applies to all routes) and/or the operation level (applies to that operation's route). When set at both levels, the operation-level value takes precedence. When unset, the gateway's global route timeout defaults apply.
	Resilience *Resilience    `json:"resilience,omitempty" yaml:"resilience,omitempty"`
	Resources  *[]MCPResource `json:"resources,omitempty" yaml:"resources,omitempty"`

	// SpecVersion MCP specification version
	SpecVersion *string    `json:"specVersion,omitempty" yaml:"specVersion,omitempty"`
	Tools       *[]MCPTool `json:"tools,omitempty" yaml:"tools,omitempty"`

	// Upstream The backend MCP server url and auth configurations
	Upstream MCPProxyConfigData_Upstream `json:"upstream" yaml:"upstream"`

	// UpstreamDefinitions List of reusable upstream definitions with optional timeout configurations. Referenced by upstream.ref.
	UpstreamDefinitions *[]UpstreamDefinition `json:"upstreamDefinitions,omitempty" yaml:"upstreamDefinitions,omitempty"`

	// Version MCP Proxy version
	Version string `json:"version" yaml:"version"`

	// Vhost Virtual host name used for routing. Supports standard domain names, subdomains, or wildcard domains. Must follow RFC-compliant hostname rules. Wildcards are only allowed in the left-most label (e.g., *.example.com).
	Vhost *string `json:"vhost,omitempty" yaml:"vhost,omitempty"`
}

MCPProxyConfigData defines model for MCPProxyConfigData.

type MCPProxyConfigDataDeploymentState

type MCPProxyConfigDataDeploymentState string

MCPProxyConfigDataDeploymentState Desired deployment state - 'deployed' (default) or 'undeployed'. When set to 'undeployed', the MCP Proxy is removed from router traffic but configuration and policies are preserved for potential redeployment.

const (
	MCPProxyConfigDataDeploymentStateDeployed   MCPProxyConfigDataDeploymentState = "deployed"
	MCPProxyConfigDataDeploymentStateUndeployed MCPProxyConfigDataDeploymentState = "undeployed"
)

Defines values for MCPProxyConfigDataDeploymentState.

type MCPProxyConfigDataUpstream0

type MCPProxyConfigDataUpstream0 = interface{}

MCPProxyConfigDataUpstream0 defines model for .

type MCPProxyConfigDataUpstream1

type MCPProxyConfigDataUpstream1 = interface{}

MCPProxyConfigDataUpstream1 defines model for .

type MCPProxyConfigDataUpstreamAuthType

type MCPProxyConfigDataUpstreamAuthType string

MCPProxyConfigDataUpstreamAuthType defines model for MCPProxyConfigData.Upstream.Auth.Type.

const (
	MCPProxyConfigDataUpstreamAuthTypeApiKey MCPProxyConfigDataUpstreamAuthType = "api-key"
	MCPProxyConfigDataUpstreamAuthTypeNone   MCPProxyConfigDataUpstreamAuthType = "none"
	MCPProxyConfigDataUpstreamAuthTypeOther  MCPProxyConfigDataUpstreamAuthType = "other"
)

Defines values for MCPProxyConfigDataUpstreamAuthType.

type MCPProxyConfigDataUpstreamHostRewrite

type MCPProxyConfigDataUpstreamHostRewrite string

MCPProxyConfigDataUpstreamHostRewrite Controls how the Host header is handled when routing to the upstream. `auto` delegates host rewriting to Envoy, which rewrites the Host header using the upstream cluster host. `manual` disables automatic rewriting and expects explicit configuration.

const (
	MCPProxyConfigDataUpstreamHostRewriteAuto   MCPProxyConfigDataUpstreamHostRewrite = "auto"
	MCPProxyConfigDataUpstreamHostRewriteManual MCPProxyConfigDataUpstreamHostRewrite = "manual"
)

Defines values for MCPProxyConfigDataUpstreamHostRewrite.

type MCPProxyConfigData_Upstream

type MCPProxyConfigData_Upstream struct {
	Auth *struct {
		Header *string                            `json:"header,omitempty" yaml:"header,omitempty"`
		Type   MCPProxyConfigDataUpstreamAuthType `json:"type" yaml:"type"`

		// Value Upstream credential. Write-only: accepted on create/update and never returned by the management API on a read, for any role. Supply either a literal value or a secret reference (e.g. a `secret` template expression); either way the field is omitted from management API response bodies. An update that omits it inherits the stored value; set `type: none` to remove auth.
		Value *string `json:"value,omitempty" yaml:"value,omitempty"`
	} `json:"auth,omitempty" yaml:"auth,omitempty"`

	// HostRewrite Controls how the Host header is handled when routing to the upstream. `auto` delegates host rewriting to Envoy, which rewrites the Host header using the upstream cluster host. `manual` disables automatic rewriting and expects explicit configuration.
	HostRewrite *MCPProxyConfigDataUpstreamHostRewrite `json:"hostRewrite,omitempty" yaml:"hostRewrite,omitempty"`

	// Ref Reference to a predefined upstreamDefinition
	Ref *string `json:"ref,omitempty" yaml:"ref,omitempty"`

	// Url Direct backend URL to route traffic to
	Url *string `json:"url,omitempty" yaml:"url,omitempty"`
	// contains filtered or unexported fields
}

MCPProxyConfigData_Upstream defines model for MCPProxyConfigData.Upstream.

func (MCPProxyConfigData_Upstream) AsMCPProxyConfigDataUpstream0

func (t MCPProxyConfigData_Upstream) AsMCPProxyConfigDataUpstream0() (MCPProxyConfigDataUpstream0, error)

AsMCPProxyConfigDataUpstream0 returns the union data inside the MCPProxyConfigData_Upstream as a MCPProxyConfigDataUpstream0

func (MCPProxyConfigData_Upstream) AsMCPProxyConfigDataUpstream1

func (t MCPProxyConfigData_Upstream) AsMCPProxyConfigDataUpstream1() (MCPProxyConfigDataUpstream1, error)

AsMCPProxyConfigDataUpstream1 returns the union data inside the MCPProxyConfigData_Upstream as a MCPProxyConfigDataUpstream1

func (*MCPProxyConfigData_Upstream) FromMCPProxyConfigDataUpstream0

func (t *MCPProxyConfigData_Upstream) FromMCPProxyConfigDataUpstream0(v MCPProxyConfigDataUpstream0) error

FromMCPProxyConfigDataUpstream0 overwrites any union data inside the MCPProxyConfigData_Upstream as the provided MCPProxyConfigDataUpstream0

func (*MCPProxyConfigData_Upstream) FromMCPProxyConfigDataUpstream1

func (t *MCPProxyConfigData_Upstream) FromMCPProxyConfigDataUpstream1(v MCPProxyConfigDataUpstream1) error

FromMCPProxyConfigDataUpstream1 overwrites any union data inside the MCPProxyConfigData_Upstream as the provided MCPProxyConfigDataUpstream1

func (MCPProxyConfigData_Upstream) MarshalJSON

func (t MCPProxyConfigData_Upstream) MarshalJSON() ([]byte, error)

func (*MCPProxyConfigData_Upstream) MergeMCPProxyConfigDataUpstream0

func (t *MCPProxyConfigData_Upstream) MergeMCPProxyConfigDataUpstream0(v MCPProxyConfigDataUpstream0) error

MergeMCPProxyConfigDataUpstream0 performs a merge with any union data inside the MCPProxyConfigData_Upstream, using the provided MCPProxyConfigDataUpstream0

func (*MCPProxyConfigData_Upstream) MergeMCPProxyConfigDataUpstream1

func (t *MCPProxyConfigData_Upstream) MergeMCPProxyConfigDataUpstream1(v MCPProxyConfigDataUpstream1) error

MergeMCPProxyConfigDataUpstream1 performs a merge with any union data inside the MCPProxyConfigData_Upstream, using the provided MCPProxyConfigDataUpstream1

func (*MCPProxyConfigData_Upstream) UnmarshalJSON

func (t *MCPProxyConfigData_Upstream) UnmarshalJSON(b []byte) error

type MCPProxyConfiguration

type MCPProxyConfiguration struct {
	// ApiVersion MCP Proxy specification version
	ApiVersion MCPProxyConfigurationApiVersion `json:"apiVersion" yaml:"apiVersion"`

	// Kind MCP Proxy type
	Kind     MCPProxyConfigurationKind `json:"kind" yaml:"kind"`
	Metadata Metadata                  `json:"metadata" yaml:"metadata"`
	Spec     MCPProxyConfigData        `json:"spec" yaml:"spec"`

	// Status Server-managed lifecycle fields. Populated on responses.
	Status *ResourceStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

MCPProxyConfiguration defines model for MCPProxyConfiguration.

type MCPProxyConfigurationApiVersion

type MCPProxyConfigurationApiVersion string

MCPProxyConfigurationApiVersion MCP Proxy specification version

const (
	MCPProxyConfigurationApiVersionGatewayApiPlatformWso2Comv1 MCPProxyConfigurationApiVersion = "gateway.api-platform.wso2.com/v1"
)

Defines values for MCPProxyConfigurationApiVersion.

type MCPProxyConfigurationKind

type MCPProxyConfigurationKind string

MCPProxyConfigurationKind MCP Proxy type

const (
	MCPProxyConfigurationKindMcp MCPProxyConfigurationKind = "Mcp"
)

Defines values for MCPProxyConfigurationKind.

type MCPProxyConfigurationRequest

type MCPProxyConfigurationRequest struct {
	// ApiVersion MCP Proxy specification version
	ApiVersion MCPProxyConfigurationRequestApiVersion `json:"apiVersion" yaml:"apiVersion"`

	// Kind MCP Proxy type
	Kind     MCPProxyConfigurationRequestKind `json:"kind" yaml:"kind"`
	Metadata Metadata                         `json:"metadata" yaml:"metadata"`
	Spec     MCPProxyConfigData               `json:"spec" yaml:"spec"`
}

MCPProxyConfigurationRequest defines model for MCPProxyConfigurationRequest.

type MCPProxyConfigurationRequestApiVersion

type MCPProxyConfigurationRequestApiVersion string

MCPProxyConfigurationRequestApiVersion MCP Proxy specification version

const (
	MCPProxyConfigurationRequestApiVersionGatewayApiPlatformWso2Comv1 MCPProxyConfigurationRequestApiVersion = "gateway.api-platform.wso2.com/v1"
)

Defines values for MCPProxyConfigurationRequestApiVersion.

type MCPProxyConfigurationRequestKind

type MCPProxyConfigurationRequestKind string

MCPProxyConfigurationRequestKind MCP Proxy type

const (
	MCPProxyConfigurationRequestKindMcp MCPProxyConfigurationRequestKind = "Mcp"
)

Defines values for MCPProxyConfigurationRequestKind.

type MCPResource

type MCPResource struct {
	// Description Optional description
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// MimeType Optional MIME type
	MimeType *string `json:"mimeType,omitempty" yaml:"mimeType,omitempty"`

	// Name The name of the resource
	Name string `json:"name" yaml:"name"`

	// Size Optional size in bytes
	Size *int `json:"size,omitempty" yaml:"size,omitempty"`

	// Title Optional human-readable name of the resource for display purposes
	Title *string `json:"title,omitempty" yaml:"title,omitempty"`

	// Uri Unique identifier for the resource
	Uri string `json:"uri" yaml:"uri"`
}

MCPResource defines model for MCPResource.

type MCPTool

type MCPTool struct {
	// Description Human-readable description of functionality
	Description string `json:"description" yaml:"description"`

	// InputSchema JSON Schema defining expected parameters
	InputSchema string `json:"inputSchema" yaml:"inputSchema"`

	// Name Unique identifier for the tool
	Name string `json:"name" yaml:"name"`

	// OutputSchema Optional JSON Schema defining expected output structure
	OutputSchema *string `json:"outputSchema,omitempty" yaml:"outputSchema,omitempty"`

	// Title Optional human-readable name of the tool for display purposes.
	Title *string `json:"title,omitempty" yaml:"title,omitempty"`
}

MCPTool defines model for MCPTool.

type Metadata

type Metadata struct {
	// Annotations Annotations are arbitrary non-identifying metadata. Use domain-prefixed keys.
	Annotations *map[string]string `json:"annotations,omitempty" yaml:"annotations,omitempty"`

	// Labels Labels are key-value pairs for organizing and selecting APIs. Keys must not contain spaces.
	Labels *map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"`

	// Name Unique handle for the resource
	Name string `json:"name" yaml:"name"`
}

Metadata defines model for Metadata.

type MiddlewareFunc

type MiddlewareFunc func(http.Handler) http.Handler

type Operation

type Operation struct {
	// Match Request matching criteria for an operation. Extensible with query params, cookies, etc.
	Match *OperationMatch `json:"match,omitempty" yaml:"match,omitempty"`

	// Method HTTP method (simple form; ignored when 'match' is set)
	Method *OperationMethod `json:"method,omitempty" yaml:"method,omitempty"`

	// Path Route path with optional {param} placeholders (simple form; ignored when 'match' is set)
	Path *string `json:"path,omitempty" yaml:"path,omitempty"`

	// Policies List of policies applied only to this operation (overrides or adds to API-level policies)
	Policies *[]Policy `json:"policies,omitempty" yaml:"policies,omitempty"`

	// Resilience Backend/route timeout configuration. Maps to Envoy RouteAction timeouts. Can be set at the API level (applies to all routes) and/or the operation level (applies to that operation's route). When set at both levels, the operation-level value takes precedence. When unset, the gateway's global route timeout defaults apply.
	Resilience *Resilience `json:"resilience,omitempty" yaml:"resilience,omitempty"`
}

Operation An operation is matched either by the simple top-level method+path form, or by the richer 'match' block (method + path + headers). When 'match' is present it is authoritative and the top-level method/path are ignored. At least one form must be provided.

func (Operation) EffectiveHeaders

func (o Operation) EffectiveHeaders() []OperationHeaderMatch

EffectiveHeaders returns the operation's header matchers. Header matching is expressible only via the match form; the simple form has none.

func (Operation) EffectiveMethod

func (o Operation) EffectiveMethod() string

EffectiveMethod returns the operation's effective HTTP method.

func (Operation) EffectivePath

func (o Operation) EffectivePath() string

EffectivePath returns the operation's effective route path.

func (Operation) EffectivePathMatchType

func (o Operation) EffectivePathMatchType() string

EffectivePathMatchType returns the effective path match type. For the match form it is the explicit type or "Exact" (the schema default) when omitted. For the simple form it is empty, preserving the legacy path-matching behavior for operations that never carried a type.

type OperationHeaderMatch

type OperationHeaderMatch struct {
	// Name Header name (case-insensitive)
	Name string `json:"name" yaml:"name"`

	// Type Header match type
	Type *OperationHeaderMatchType `json:"type,omitempty" yaml:"type,omitempty"`

	// Value Header value to match
	Value string `json:"value" yaml:"value"`
}

OperationHeaderMatch defines model for OperationHeaderMatch.

type OperationHeaderMatchType

type OperationHeaderMatchType string

OperationHeaderMatchType Header match type

const (
	OperationHeaderMatchTypeExact             OperationHeaderMatchType = "Exact"
	OperationHeaderMatchTypeRegularExpression OperationHeaderMatchType = "RegularExpression"
)

Defines values for OperationHeaderMatchType.

type OperationMatch

type OperationMatch struct {
	// Headers Header matchers ANDed with the path match for Envoy route selection
	Headers *[]OperationHeaderMatch `json:"headers,omitempty" yaml:"headers,omitempty"`

	// Method HTTP method
	Method OperationMethod    `json:"method" yaml:"method"`
	Path   OperationPathMatch `json:"path" yaml:"path"`
}

OperationMatch Request matching criteria for an operation. Extensible with query params, cookies, etc.

type OperationMethod

type OperationMethod string

OperationMethod HTTP method

const (
	OperationMethodDELETE  OperationMethod = "DELETE"
	OperationMethodGET     OperationMethod = "GET"
	OperationMethodHEAD    OperationMethod = "HEAD"
	OperationMethodOPTIONS OperationMethod = "OPTIONS"
	OperationMethodPATCH   OperationMethod = "PATCH"
	OperationMethodPOST    OperationMethod = "POST"
	OperationMethodPUT     OperationMethod = "PUT"
)

Defines values for OperationMethod.

type OperationPathMatch

type OperationPathMatch struct {
	// Type Path matching semantics for the operation route
	Type *OperationPathMatchType `json:"type,omitempty" yaml:"type,omitempty"`

	// Value Route path with optional {param} placeholders
	Value string `json:"value" yaml:"value"`
}

OperationPathMatch defines model for OperationPathMatch.

type OperationPathMatchType

type OperationPathMatchType string

OperationPathMatchType Path matching semantics for the operation route

const (
	OperationPathMatchTypeExact      OperationPathMatchType = "Exact"
	OperationPathMatchTypePathPrefix OperationPathMatchType = "PathPrefix"
)

Defines values for OperationPathMatchType.

type OperationPolicy

type OperationPolicy struct {
	// ExecutionCondition Expression controlling conditional execution of the policy
	ExecutionCondition *string               `json:"executionCondition,omitempty" yaml:"executionCondition,omitempty"`
	Name               string                `json:"name" yaml:"name"`
	Paths              []OperationPolicyPath `json:"paths" yaml:"paths"`
	Version            string                `json:"version" yaml:"version"`
}

OperationPolicy defines model for OperationPolicy.

type OperationPolicyPath

type OperationPolicyPath struct {
	Methods []OperationPolicyPathMethods `json:"methods" yaml:"methods"`

	// Params JSON Schema describing the parameters accepted by this policy. This itself is a JSON Schema document.
	Params map[string]interface{} `json:"params" yaml:"params"`
	Path   string                 `json:"path" yaml:"path"`
}

OperationPolicyPath defines model for OperationPolicyPath.

type OperationPolicyPathMethods

type OperationPolicyPathMethods string

OperationPolicyPathMethods HTTP method: GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD, or * for all

const (
	OperationPolicyPathMethodsAsterisk OperationPolicyPathMethods = "*"
	OperationPolicyPathMethodsDELETE   OperationPolicyPathMethods = "DELETE"
	OperationPolicyPathMethodsGET      OperationPolicyPathMethods = "GET"
	OperationPolicyPathMethodsHEAD     OperationPolicyPathMethods = "HEAD"
	OperationPolicyPathMethodsOPTIONS  OperationPolicyPathMethods = "OPTIONS"
	OperationPolicyPathMethodsPATCH    OperationPolicyPathMethods = "PATCH"
	OperationPolicyPathMethodsPOST     OperationPolicyPathMethods = "POST"
	OperationPolicyPathMethodsPUT      OperationPolicyPathMethods = "PUT"
)

Defines values for OperationPolicyPathMethods.

type Policy

type Policy struct {
	// ExecutionCondition Expression controlling conditional execution of the policy
	ExecutionCondition *string `json:"executionCondition,omitempty" yaml:"executionCondition,omitempty"`

	// Name Name of the policy
	Name string `json:"name" yaml:"name"`

	// Params Arbitrary parameters for the policy (free-form key/value structure)
	Params *map[string]interface{} `json:"params,omitempty" yaml:"params,omitempty"`

	// Version Version of the policy. Only major-only version is allowed (e.g., v0, v1). Full semantic version (e.g., v1.0.0) is not accepted and will be rejected. The Gateway Controller resolves the major version to the single matching full version installed in the gateway image.
	Version string `json:"version" yaml:"version"`
}

Policy defines model for Policy.

type RegenerateAPIKeyJSONRequestBody

type RegenerateAPIKeyJSONRequestBody = APIKeyRegenerationRequest

RegenerateAPIKeyJSONRequestBody defines body for RegenerateAPIKey for application/json ContentType.

type RegenerateLLMProviderAPIKeyJSONRequestBody

type RegenerateLLMProviderAPIKeyJSONRequestBody = APIKeyRegenerationRequest

RegenerateLLMProviderAPIKeyJSONRequestBody defines body for RegenerateLLMProviderAPIKey for application/json ContentType.

type RegenerateLLMProxyAPIKeyJSONRequestBody

type RegenerateLLMProxyAPIKeyJSONRequestBody = APIKeyRegenerationRequest

RegenerateLLMProxyAPIKeyJSONRequestBody defines body for RegenerateLLMProxyAPIKey for application/json ContentType.

type RequiredHeaderError

type RequiredHeaderError struct {
	ParamName string
	Err       error
}

func (*RequiredHeaderError) Error

func (e *RequiredHeaderError) Error() string

func (*RequiredHeaderError) Unwrap

func (e *RequiredHeaderError) Unwrap() error

type RequiredParamError

type RequiredParamError struct {
	ParamName string
}

func (*RequiredParamError) Error

func (e *RequiredParamError) Error() string

type Resilience

type Resilience struct {
	// IdleTimeout Per-route stream idle timeout (overrides the listener stream idle timeout for this route). "0s" disables the timeout.
	IdleTimeout *string `json:"idleTimeout,omitempty" yaml:"idleTimeout,omitempty"`

	// Timeout Maximum time for the entire route (request to upstream response). "0s" disables the timeout.
	Timeout *string `json:"timeout,omitempty" yaml:"timeout,omitempty"`
}

Resilience Backend/route timeout configuration. Maps to Envoy RouteAction timeouts. Can be set at the API level (applies to all routes) and/or the operation level (applies to that operation's route). When set at both levels, the operation-level value takes precedence. When unset, the gateway's global route timeout defaults apply.

type ResourceStatus

type ResourceStatus struct {
	// CreatedAt Timestamp when the resource was first created (UTC)
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// DeployedAt Timestamp when the resource was last deployed (omitted when undeployed)
	DeployedAt *time.Time `json:"deployedAt,omitempty" yaml:"deployedAt,omitempty"`

	// Id Unique identifier assigned by the server (equal to metadata.name)
	Id *string `json:"id,omitempty" yaml:"id,omitempty"`

	// State Desired deployment state reported by the server
	State *ResourceStatusState `json:"state,omitempty" yaml:"state,omitempty"`

	// UpdatedAt Timestamp when the resource was last updated (UTC)
	UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
}

ResourceStatus Server-managed lifecycle information for a resource

type ResourceStatusState

type ResourceStatusState string

ResourceStatusState Desired deployment state reported by the server

const (
	ResourceStatusStateDeployed   ResourceStatusState = "deployed"
	ResourceStatusStateUndeployed ResourceStatusState = "undeployed"
)

Defines values for ResourceStatusState.

type RestAPI

type RestAPI struct {
	// ApiVersion API specification version
	ApiVersion RestAPIApiVersion `json:"apiVersion" yaml:"apiVersion"`

	// Kind API type
	Kind     RestAPIKind   `json:"kind" yaml:"kind"`
	Metadata Metadata      `json:"metadata" yaml:"metadata"`
	Spec     APIConfigData `json:"spec" yaml:"spec"`

	// Status Server-managed lifecycle fields. Populated on responses.
	Status *ResourceStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

RestAPI defines model for RestAPI.

type RestAPIApiVersion

type RestAPIApiVersion string

RestAPIApiVersion API specification version

const (
	RestAPIApiVersionGatewayApiPlatformWso2Comv1 RestAPIApiVersion = "gateway.api-platform.wso2.com/v1"
)

Defines values for RestAPIApiVersion.

type RestAPIKind

type RestAPIKind string

RestAPIKind API type

const (
	RestAPIKindRestApi RestAPIKind = "RestApi"
)

Defines values for RestAPIKind.

type RestAPIRequest

type RestAPIRequest struct {
	// ApiVersion API specification version
	ApiVersion RestAPIRequestApiVersion `json:"apiVersion" yaml:"apiVersion"`

	// Kind API type
	Kind     RestAPIRequestKind `json:"kind" yaml:"kind"`
	Metadata Metadata           `json:"metadata" yaml:"metadata"`
	Spec     APIConfigData      `json:"spec" yaml:"spec"`
}

RestAPIRequest defines model for RestAPIRequest.

type RestAPIRequestApiVersion

type RestAPIRequestApiVersion string

RestAPIRequestApiVersion API specification version

const (
	RestAPIRequestApiVersionGatewayApiPlatformWso2Comv1 RestAPIRequestApiVersion = "gateway.api-platform.wso2.com/v1"
)

Defines values for RestAPIRequestApiVersion.

type RestAPIRequestKind

type RestAPIRequestKind string

RestAPIRequestKind API type

const (
	RestAPIRequestKindRestApi RestAPIRequestKind = "RestApi"
)

Defines values for RestAPIRequestKind.

type RouteException

type RouteException struct {
	// Methods HTTP methods
	Methods []RouteExceptionMethods `json:"methods" yaml:"methods"`

	// Path Path pattern
	Path string `json:"path" yaml:"path"`
}

RouteException defines model for RouteException.

type RouteExceptionMethods

type RouteExceptionMethods string

RouteExceptionMethods defines model for RouteException.Methods.

const (
	RouteExceptionMethodsDELETE RouteExceptionMethods = "DELETE"
	RouteExceptionMethodsGET    RouteExceptionMethods = "GET"
	RouteExceptionMethodsPATCH  RouteExceptionMethods = "PATCH"
	RouteExceptionMethodsPOST   RouteExceptionMethods = "POST"
	RouteExceptionMethodsPUT    RouteExceptionMethods = "PUT"
)

Defines values for RouteExceptionMethods.

type SecretConfigData

type SecretConfigData struct {
	// Description Description of the secret
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable secret name (must be URL-friendly - only letters, numbers, spaces, hyphens, underscores, and dots allowed)
	DisplayName string `json:"displayName" yaml:"displayName"`

	// Value Secret value (stored encrypted)
	Value string `json:"value" yaml:"value"`
}

SecretConfigData defines model for SecretConfigData.

type SecretConfigListData

type SecretConfigListData struct {
	// Description Description of the secret, if the server includes it
	Description *string `json:"description,omitempty" yaml:"description,omitempty"`

	// DisplayName Human-readable secret name (must be URL-friendly - only letters, numbers, spaces, hyphens, underscores, and dots allowed)
	DisplayName string `json:"displayName" yaml:"displayName"`
}

SecretConfigListData defines model for SecretConfigListData.

type SecretConfigurationRequest

type SecretConfigurationRequest struct {
	// ApiVersion Secret specification version
	ApiVersion SecretConfigurationRequestApiVersion `json:"apiVersion" yaml:"apiVersion"`

	// Kind Secret resource kind
	Kind     SecretConfigurationRequestKind `json:"kind" yaml:"kind"`
	Metadata Metadata                       `json:"metadata" yaml:"metadata"`
	Spec     SecretConfigData               `json:"spec" yaml:"spec"`
}

SecretConfigurationRequest defines model for SecretConfigurationRequest.

type SecretConfigurationRequestApiVersion

type SecretConfigurationRequestApiVersion string

SecretConfigurationRequestApiVersion Secret specification version

const (
	SecretConfigurationRequestApiVersionGatewayApiPlatformWso2Comv1 SecretConfigurationRequestApiVersion = "gateway.api-platform.wso2.com/v1"
)

Defines values for SecretConfigurationRequestApiVersion.

type SecretConfigurationRequestKind

type SecretConfigurationRequestKind string

SecretConfigurationRequestKind Secret resource kind

const (
	SecretConfigurationRequestKindSecret SecretConfigurationRequestKind = "Secret"
)

Defines values for SecretConfigurationRequestKind.

type SecretConfigurationResponseCreateUpdate

type SecretConfigurationResponseCreateUpdate struct {
	ApiVersion SecretConfigurationResponseCreateUpdateApiVersion `json:"apiVersion" yaml:"apiVersion"`
	Kind       SecretConfigurationResponseCreateUpdateKind       `json:"kind" yaml:"kind"`
	Metadata   Metadata                                          `json:"metadata" yaml:"metadata"`
	Spec       SecretConfigListData                              `json:"spec" yaml:"spec"`

	// Status Id and optional timestamps. Not the full ResourceStatus model (no `state` or
	// `deployedAt`).
	Status SecretResourceServiceStatus `json:"status" yaml:"status"`
}

SecretConfigurationResponseCreateUpdate POST/PUT /secrets response. `spec.value` is not returned; see SecretConfigurationRequest for create/update request bodies.

type SecretConfigurationResponseCreateUpdateApiVersion

type SecretConfigurationResponseCreateUpdateApiVersion string

SecretConfigurationResponseCreateUpdateApiVersion defines model for SecretConfigurationResponseCreateUpdate.ApiVersion.

const (
	SecretConfigurationResponseCreateUpdateApiVersionGatewayApiPlatformWso2Comv1 SecretConfigurationResponseCreateUpdateApiVersion = "gateway.api-platform.wso2.com/v1"
)

Defines values for SecretConfigurationResponseCreateUpdateApiVersion.

type SecretConfigurationResponseCreateUpdateKind

type SecretConfigurationResponseCreateUpdateKind string

SecretConfigurationResponseCreateUpdateKind defines model for SecretConfigurationResponseCreateUpdate.Kind.

const (
	SecretConfigurationResponseCreateUpdateKindSecret SecretConfigurationResponseCreateUpdateKind = "Secret"
)

Defines values for SecretConfigurationResponseCreateUpdateKind.

type SecretConfigurationResponseRetrieved

type SecretConfigurationResponseRetrieved struct {
	ApiVersion SecretConfigurationResponseRetrievedApiVersion `json:"apiVersion" yaml:"apiVersion"`
	Kind       SecretConfigurationResponseRetrievedKind       `json:"kind" yaml:"kind"`
	Metadata   Metadata                                       `json:"metadata" yaml:"metadata"`
	Spec       SecretConfigData                               `json:"spec" yaml:"spec"`

	// Status Id and optional timestamps. Not the full ResourceStatus model (no `state` or
	// `deployedAt`).
	Status SecretResourceServiceStatus `json:"status" yaml:"status"`
}

SecretConfigurationResponseRetrieved GET /secrets/{id} response including decrypted `spec.value`.

type SecretConfigurationResponseRetrievedApiVersion

type SecretConfigurationResponseRetrievedApiVersion string

SecretConfigurationResponseRetrievedApiVersion defines model for SecretConfigurationResponseRetrieved.ApiVersion.

const (
	SecretConfigurationResponseRetrievedApiVersionGatewayApiPlatformWso2Comv1 SecretConfigurationResponseRetrievedApiVersion = "gateway.api-platform.wso2.com/v1"
)

Defines values for SecretConfigurationResponseRetrievedApiVersion.

type SecretConfigurationResponseRetrievedKind

type SecretConfigurationResponseRetrievedKind string

SecretConfigurationResponseRetrievedKind defines model for SecretConfigurationResponseRetrieved.Kind.

const (
	SecretConfigurationResponseRetrievedKindSecret SecretConfigurationResponseRetrievedKind = "Secret"
)

Defines values for SecretConfigurationResponseRetrievedKind.

type SecretListItem

type SecretListItem struct {
	// ApiVersion Secret specification version
	ApiVersion SecretListItemApiVersion `json:"apiVersion" yaml:"apiVersion"`

	// Kind Secret resource kind
	Kind     SecretListItemKind   `json:"kind" yaml:"kind"`
	Metadata Metadata             `json:"metadata" yaml:"metadata"`
	Spec     SecretConfigListData `json:"spec" yaml:"spec"`

	// Status Server-managed lifecycle fields. Omitted in list items may vary; the secret value is never included here.
	Status *ResourceStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

SecretListItem defines model for SecretListItem.

type SecretListItemApiVersion

type SecretListItemApiVersion string

SecretListItemApiVersion Secret specification version

const (
	SecretListItemApiVersionGatewayApiPlatformWso2Comv1 SecretListItemApiVersion = "gateway.api-platform.wso2.com/v1"
)

Defines values for SecretListItemApiVersion.

type SecretListItemKind

type SecretListItemKind string

SecretListItemKind Secret resource kind

const (
	SecretListItemKindSecret SecretListItemKind = "Secret"
)

Defines values for SecretListItemKind.

type SecretListResponse

type SecretListResponse struct {
	// Count Total number of secrets
	Count *int `json:"count,omitempty" yaml:"count,omitempty"`

	// Secrets List of secrets. For security, the spec.value field is omitted for every item in the list; retrieve a single secret by id to obtain the decrypted value.
	Secrets *[]SecretListItem `json:"secrets,omitempty" yaml:"secrets,omitempty"`
	Status  *string           `json:"status,omitempty" yaml:"status,omitempty"`
}

SecretListResponse defines model for SecretListResponse.

type SecretResourceServiceStatus

type SecretResourceServiceStatus struct {
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`

	// Id Same as metadata.name / secret handle
	Id        string     `json:"id" yaml:"id"`
	UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
}

SecretResourceServiceStatus Id and optional timestamps. Not the full ResourceStatus model (no `state` or `deployedAt`).

type ServeMux

type ServeMux interface {
	HandleFunc(pattern string, handler func(http.ResponseWriter, *http.Request))
	ServeHTTP(w http.ResponseWriter, r *http.Request)
}

ServeMux is an abstraction of http.ServeMux.

type ServerInterface

type ServerInterface interface {
	// List all custom certificates
	// (GET /certificates)
	ListCertificates(w http.ResponseWriter, r *http.Request)
	// Upload a new certificate
	// (POST /certificates)
	UploadCertificate(w http.ResponseWriter, r *http.Request)
	// Manually reload certificates
	// (POST /certificates/reload)
	ReloadCertificates(w http.ResponseWriter, r *http.Request)
	// Delete a certificate
	// (DELETE /certificates/{id})
	DeleteCertificate(w http.ResponseWriter, r *http.Request, id string)
	// List all LLM provider templates
	// (GET /llm-provider-templates)
	ListLLMProviderTemplates(w http.ResponseWriter, r *http.Request, params ListLLMProviderTemplatesParams)
	// Create a new LLM provider template
	// (POST /llm-provider-templates)
	CreateLLMProviderTemplate(w http.ResponseWriter, r *http.Request)
	// Delete an LLM provider template
	// (DELETE /llm-provider-templates/{id})
	DeleteLLMProviderTemplate(w http.ResponseWriter, r *http.Request, id string)
	// Get LLM provider template by id
	// (GET /llm-provider-templates/{id})
	GetLLMProviderTemplateById(w http.ResponseWriter, r *http.Request, id string)
	// Update an existing LLM provider template
	// (PUT /llm-provider-templates/{id})
	UpdateLLMProviderTemplate(w http.ResponseWriter, r *http.Request, id string)
	// List all LLM providers
	// (GET /llm-providers)
	ListLLMProviders(w http.ResponseWriter, r *http.Request, params ListLLMProvidersParams)
	// Create a new LLM provider
	// (POST /llm-providers)
	CreateLLMProvider(w http.ResponseWriter, r *http.Request)
	// Delete an LLM provider
	// (DELETE /llm-providers/{id})
	DeleteLLMProvider(w http.ResponseWriter, r *http.Request, id string)
	// Get LLM provider by identifier
	// (GET /llm-providers/{id})
	GetLLMProviderById(w http.ResponseWriter, r *http.Request, id string)
	// Update an existing LLM provider
	// (PUT /llm-providers/{id})
	UpdateLLMProvider(w http.ResponseWriter, r *http.Request, id string)
	// Get the list of API keys for an LLM provider
	// (GET /llm-providers/{id}/api-keys)
	ListLLMProviderAPIKeys(w http.ResponseWriter, r *http.Request, id string)
	// Create a new API key for an LLM provider
	// (POST /llm-providers/{id}/api-keys)
	CreateLLMProviderAPIKey(w http.ResponseWriter, r *http.Request, id string)
	// Revoke an API key for an LLM provider
	// (DELETE /llm-providers/{id}/api-keys/{apiKeyName})
	RevokeLLMProviderAPIKey(w http.ResponseWriter, r *http.Request, id string, apiKeyName string)
	// Update an API key for an LLM provider
	// (PUT /llm-providers/{id}/api-keys/{apiKeyName})
	UpdateLLMProviderAPIKey(w http.ResponseWriter, r *http.Request, id string, apiKeyName string)
	// Regenerate API key for an LLM provider
	// (POST /llm-providers/{id}/api-keys/{apiKeyName}/regenerate)
	RegenerateLLMProviderAPIKey(w http.ResponseWriter, r *http.Request, id string, apiKeyName string)
	// List all LLM proxies
	// (GET /llm-proxies)
	ListLLMProxies(w http.ResponseWriter, r *http.Request, params ListLLMProxiesParams)
	// Create a new LLM proxy
	// (POST /llm-proxies)
	CreateLLMProxy(w http.ResponseWriter, r *http.Request)
	// Delete an LLM proxy
	// (DELETE /llm-proxies/{id})
	DeleteLLMProxy(w http.ResponseWriter, r *http.Request, id string)
	// Get LLM proxy by unique identifier
	// (GET /llm-proxies/{id})
	GetLLMProxyById(w http.ResponseWriter, r *http.Request, id string)
	// Update an existing LLM proxy
	// (PUT /llm-proxies/{id})
	UpdateLLMProxy(w http.ResponseWriter, r *http.Request, id string)
	// Get the list of API keys for an LLM proxy
	// (GET /llm-proxies/{id}/api-keys)
	ListLLMProxyAPIKeys(w http.ResponseWriter, r *http.Request, id string)
	// Create a new API key for an LLM proxy
	// (POST /llm-proxies/{id}/api-keys)
	CreateLLMProxyAPIKey(w http.ResponseWriter, r *http.Request, id string)
	// Revoke an API key for an LLM proxy
	// (DELETE /llm-proxies/{id}/api-keys/{apiKeyName})
	RevokeLLMProxyAPIKey(w http.ResponseWriter, r *http.Request, id string, apiKeyName string)
	// Update an API key for an LLM proxy
	// (PUT /llm-proxies/{id}/api-keys/{apiKeyName})
	UpdateLLMProxyAPIKey(w http.ResponseWriter, r *http.Request, id string, apiKeyName string)
	// Regenerate API key for an LLM proxy
	// (POST /llm-proxies/{id}/api-keys/{apiKeyName}/regenerate)
	RegenerateLLMProxyAPIKey(w http.ResponseWriter, r *http.Request, id string, apiKeyName string)
	// List all MCPProxies
	// (GET /mcp-proxies)
	ListMCPProxies(w http.ResponseWriter, r *http.Request, params ListMCPProxiesParams)
	// Create a new MCPProxy
	// (POST /mcp-proxies)
	CreateMCPProxy(w http.ResponseWriter, r *http.Request)
	// Delete a MCPProxy
	// (DELETE /mcp-proxies/{id})
	DeleteMCPProxy(w http.ResponseWriter, r *http.Request, id string)
	// Get MCPProxy by id
	// (GET /mcp-proxies/{id})
	GetMCPProxyById(w http.ResponseWriter, r *http.Request, id string)
	// Update an existing MCPProxy
	// (PUT /mcp-proxies/{id})
	UpdateMCPProxy(w http.ResponseWriter, r *http.Request, id string)
	// List all RestAPIs
	// (GET /rest-apis)
	ListRestAPIs(w http.ResponseWriter, r *http.Request, params ListRestAPIsParams)
	// Create a new RestAPI
	// (POST /rest-apis)
	CreateRestAPI(w http.ResponseWriter, r *http.Request)
	// Delete a RestAPI
	// (DELETE /rest-apis/{id})
	DeleteRestAPI(w http.ResponseWriter, r *http.Request, id string)
	// Get RestAPI by id
	// (GET /rest-apis/{id})
	GetRestAPIById(w http.ResponseWriter, r *http.Request, id string)
	// Update an existing RestAPI
	// (PUT /rest-apis/{id})
	UpdateRestAPI(w http.ResponseWriter, r *http.Request, id string)
	// Get the list of API keys for an API
	// (GET /rest-apis/{id}/api-keys)
	ListAPIKeys(w http.ResponseWriter, r *http.Request, id string)
	// Create a new API key for an API
	// (POST /rest-apis/{id}/api-keys)
	CreateAPIKey(w http.ResponseWriter, r *http.Request, id string)
	// Revoke an API key
	// (DELETE /rest-apis/{id}/api-keys/{apiKeyName})
	RevokeAPIKey(w http.ResponseWriter, r *http.Request, id string, apiKeyName string)
	// Update an API key with a new regenerated value
	// (PUT /rest-apis/{id}/api-keys/{apiKeyName})
	UpdateAPIKey(w http.ResponseWriter, r *http.Request, id string, apiKeyName string)
	// Regenerate API key for an API
	// (POST /rest-apis/{id}/api-keys/{apiKeyName}/regenerate)
	RegenerateAPIKey(w http.ResponseWriter, r *http.Request, id string, apiKeyName string)
	// List all secrets
	// (GET /secrets)
	ListSecrets(w http.ResponseWriter, r *http.Request)
	// Create a new secret
	// (POST /secrets)
	CreateSecret(w http.ResponseWriter, r *http.Request)
	// Delete a secret
	// (DELETE /secrets/{id})
	DeleteSecret(w http.ResponseWriter, r *http.Request, id string)
	// Retrieve a secret
	// (GET /secrets/{id})
	GetSecret(w http.ResponseWriter, r *http.Request, id string)
	// Update a secret
	// (PUT /secrets/{id})
	UpdateSecret(w http.ResponseWriter, r *http.Request, id string)
	// List subscription plans
	// (GET /subscription-plans)
	ListSubscriptionPlans(w http.ResponseWriter, r *http.Request)
	// Create a subscription plan
	// (POST /subscription-plans)
	CreateSubscriptionPlan(w http.ResponseWriter, r *http.Request)
	// Delete a subscription plan
	// (DELETE /subscription-plans/{planId})
	DeleteSubscriptionPlan(w http.ResponseWriter, r *http.Request, planId string)
	// Get a subscription plan by ID
	// (GET /subscription-plans/{planId})
	GetSubscriptionPlan(w http.ResponseWriter, r *http.Request, planId string)
	// Update a subscription plan
	// (PUT /subscription-plans/{planId})
	UpdateSubscriptionPlan(w http.ResponseWriter, r *http.Request, planId string)
	// List subscriptions
	// (GET /subscriptions)
	ListSubscriptions(w http.ResponseWriter, r *http.Request, params ListSubscriptionsParams)
	// Create a subscription
	// (POST /subscriptions)
	CreateSubscription(w http.ResponseWriter, r *http.Request)
	// Delete a subscription
	// (DELETE /subscriptions/{subscriptionId})
	DeleteSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string)
	// Get a subscription by ID
	// (GET /subscriptions/{subscriptionId})
	GetSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string)
	// Update a subscription
	// (PUT /subscriptions/{subscriptionId})
	UpdateSubscription(w http.ResponseWriter, r *http.Request, subscriptionId string)
}

ServerInterface represents all server handlers.

type ServerInterfaceWrapper

type ServerInterfaceWrapper struct {
	Handler            ServerInterface
	HandlerMiddlewares []MiddlewareFunc
	ErrorHandlerFunc   func(w http.ResponseWriter, r *http.Request, err error)
}

ServerInterfaceWrapper converts contexts to parameters.

func (*ServerInterfaceWrapper) CreateAPIKey

func (siw *ServerInterfaceWrapper) CreateAPIKey(w http.ResponseWriter, r *http.Request)

CreateAPIKey operation middleware

func (*ServerInterfaceWrapper) CreateLLMProvider

func (siw *ServerInterfaceWrapper) CreateLLMProvider(w http.ResponseWriter, r *http.Request)

CreateLLMProvider operation middleware

func (*ServerInterfaceWrapper) CreateLLMProviderAPIKey

func (siw *ServerInterfaceWrapper) CreateLLMProviderAPIKey(w http.ResponseWriter, r *http.Request)

CreateLLMProviderAPIKey operation middleware

func (*ServerInterfaceWrapper) CreateLLMProviderTemplate

func (siw *ServerInterfaceWrapper) CreateLLMProviderTemplate(w http.ResponseWriter, r *http.Request)

CreateLLMProviderTemplate operation middleware

func (*ServerInterfaceWrapper) CreateLLMProxy

func (siw *ServerInterfaceWrapper) CreateLLMProxy(w http.ResponseWriter, r *http.Request)

CreateLLMProxy operation middleware

func (*ServerInterfaceWrapper) CreateLLMProxyAPIKey

func (siw *ServerInterfaceWrapper) CreateLLMProxyAPIKey(w http.ResponseWriter, r *http.Request)

CreateLLMProxyAPIKey operation middleware

func (*ServerInterfaceWrapper) CreateMCPProxy

func (siw *ServerInterfaceWrapper) CreateMCPProxy(w http.ResponseWriter, r *http.Request)

CreateMCPProxy operation middleware

func (*ServerInterfaceWrapper) CreateRestAPI

func (siw *ServerInterfaceWrapper) CreateRestAPI(w http.ResponseWriter, r *http.Request)

CreateRestAPI operation middleware

func (*ServerInterfaceWrapper) CreateSecret

func (siw *ServerInterfaceWrapper) CreateSecret(w http.ResponseWriter, r *http.Request)

CreateSecret operation middleware

func (*ServerInterfaceWrapper) CreateSubscription

func (siw *ServerInterfaceWrapper) CreateSubscription(w http.ResponseWriter, r *http.Request)

CreateSubscription operation middleware

func (*ServerInterfaceWrapper) CreateSubscriptionPlan

func (siw *ServerInterfaceWrapper) CreateSubscriptionPlan(w http.ResponseWriter, r *http.Request)

CreateSubscriptionPlan operation middleware

func (*ServerInterfaceWrapper) DeleteCertificate

func (siw *ServerInterfaceWrapper) DeleteCertificate(w http.ResponseWriter, r *http.Request)

DeleteCertificate operation middleware

func (*ServerInterfaceWrapper) DeleteLLMProvider

func (siw *ServerInterfaceWrapper) DeleteLLMProvider(w http.ResponseWriter, r *http.Request)

DeleteLLMProvider operation middleware

func (*ServerInterfaceWrapper) DeleteLLMProviderTemplate

func (siw *ServerInterfaceWrapper) DeleteLLMProviderTemplate(w http.ResponseWriter, r *http.Request)

DeleteLLMProviderTemplate operation middleware

func (*ServerInterfaceWrapper) DeleteLLMProxy

func (siw *ServerInterfaceWrapper) DeleteLLMProxy(w http.ResponseWriter, r *http.Request)

DeleteLLMProxy operation middleware

func (*ServerInterfaceWrapper) DeleteMCPProxy

func (siw *ServerInterfaceWrapper) DeleteMCPProxy(w http.ResponseWriter, r *http.Request)

DeleteMCPProxy operation middleware

func (*ServerInterfaceWrapper) DeleteRestAPI

func (siw *ServerInterfaceWrapper) DeleteRestAPI(w http.ResponseWriter, r *http.Request)

DeleteRestAPI operation middleware

func (*ServerInterfaceWrapper) DeleteSecret

func (siw *ServerInterfaceWrapper) DeleteSecret(w http.ResponseWriter, r *http.Request)

DeleteSecret operation middleware

func (*ServerInterfaceWrapper) DeleteSubscription

func (siw *ServerInterfaceWrapper) DeleteSubscription(w http.ResponseWriter, r *http.Request)

DeleteSubscription operation middleware

func (*ServerInterfaceWrapper) DeleteSubscriptionPlan

func (siw *ServerInterfaceWrapper) DeleteSubscriptionPlan(w http.ResponseWriter, r *http.Request)

DeleteSubscriptionPlan operation middleware

func (*ServerInterfaceWrapper) GetLLMProviderById

func (siw *ServerInterfaceWrapper) GetLLMProviderById(w http.ResponseWriter, r *http.Request)

GetLLMProviderById operation middleware

func (*ServerInterfaceWrapper) GetLLMProviderTemplateById

func (siw *ServerInterfaceWrapper) GetLLMProviderTemplateById(w http.ResponseWriter, r *http.Request)

GetLLMProviderTemplateById operation middleware

func (*ServerInterfaceWrapper) GetLLMProxyById

func (siw *ServerInterfaceWrapper) GetLLMProxyById(w http.ResponseWriter, r *http.Request)

GetLLMProxyById operation middleware

func (*ServerInterfaceWrapper) GetMCPProxyById

func (siw *ServerInterfaceWrapper) GetMCPProxyById(w http.ResponseWriter, r *http.Request)

GetMCPProxyById operation middleware

func (*ServerInterfaceWrapper) GetRestAPIById

func (siw *ServerInterfaceWrapper) GetRestAPIById(w http.ResponseWriter, r *http.Request)

GetRestAPIById operation middleware

func (*ServerInterfaceWrapper) GetSecret

func (siw *ServerInterfaceWrapper) GetSecret(w http.ResponseWriter, r *http.Request)

GetSecret operation middleware

func (*ServerInterfaceWrapper) GetSubscription

func (siw *ServerInterfaceWrapper) GetSubscription(w http.ResponseWriter, r *http.Request)

GetSubscription operation middleware

func (*ServerInterfaceWrapper) GetSubscriptionPlan

func (siw *ServerInterfaceWrapper) GetSubscriptionPlan(w http.ResponseWriter, r *http.Request)

GetSubscriptionPlan operation middleware

func (*ServerInterfaceWrapper) ListAPIKeys

func (siw *ServerInterfaceWrapper) ListAPIKeys(w http.ResponseWriter, r *http.Request)

ListAPIKeys operation middleware

func (*ServerInterfaceWrapper) ListCertificates

func (siw *ServerInterfaceWrapper) ListCertificates(w http.ResponseWriter, r *http.Request)

ListCertificates operation middleware

func (*ServerInterfaceWrapper) ListLLMProviderAPIKeys

func (siw *ServerInterfaceWrapper) ListLLMProviderAPIKeys(w http.ResponseWriter, r *http.Request)

ListLLMProviderAPIKeys operation middleware

func (*ServerInterfaceWrapper) ListLLMProviderTemplates

func (siw *ServerInterfaceWrapper) ListLLMProviderTemplates(w http.ResponseWriter, r *http.Request)

ListLLMProviderTemplates operation middleware

func (*ServerInterfaceWrapper) ListLLMProviders

func (siw *ServerInterfaceWrapper) ListLLMProviders(w http.ResponseWriter, r *http.Request)

ListLLMProviders operation middleware

func (*ServerInterfaceWrapper) ListLLMProxies

func (siw *ServerInterfaceWrapper) ListLLMProxies(w http.ResponseWriter, r *http.Request)

ListLLMProxies operation middleware

func (*ServerInterfaceWrapper) ListLLMProxyAPIKeys

func (siw *ServerInterfaceWrapper) ListLLMProxyAPIKeys(w http.ResponseWriter, r *http.Request)

ListLLMProxyAPIKeys operation middleware

func (*ServerInterfaceWrapper) ListMCPProxies

func (siw *ServerInterfaceWrapper) ListMCPProxies(w http.ResponseWriter, r *http.Request)

ListMCPProxies operation middleware

func (*ServerInterfaceWrapper) ListRestAPIs

func (siw *ServerInterfaceWrapper) ListRestAPIs(w http.ResponseWriter, r *http.Request)

ListRestAPIs operation middleware

func (*ServerInterfaceWrapper) ListSecrets

func (siw *ServerInterfaceWrapper) ListSecrets(w http.ResponseWriter, r *http.Request)

ListSecrets operation middleware

func (*ServerInterfaceWrapper) ListSubscriptionPlans

func (siw *ServerInterfaceWrapper) ListSubscriptionPlans(w http.ResponseWriter, r *http.Request)

ListSubscriptionPlans operation middleware

func (*ServerInterfaceWrapper) ListSubscriptions

func (siw *ServerInterfaceWrapper) ListSubscriptions(w http.ResponseWriter, r *http.Request)

ListSubscriptions operation middleware

func (*ServerInterfaceWrapper) RegenerateAPIKey

func (siw *ServerInterfaceWrapper) RegenerateAPIKey(w http.ResponseWriter, r *http.Request)

RegenerateAPIKey operation middleware

func (*ServerInterfaceWrapper) RegenerateLLMProviderAPIKey

func (siw *ServerInterfaceWrapper) RegenerateLLMProviderAPIKey(w http.ResponseWriter, r *http.Request)

RegenerateLLMProviderAPIKey operation middleware

func (*ServerInterfaceWrapper) RegenerateLLMProxyAPIKey

func (siw *ServerInterfaceWrapper) RegenerateLLMProxyAPIKey(w http.ResponseWriter, r *http.Request)

RegenerateLLMProxyAPIKey operation middleware

func (*ServerInterfaceWrapper) ReloadCertificates

func (siw *ServerInterfaceWrapper) ReloadCertificates(w http.ResponseWriter, r *http.Request)

ReloadCertificates operation middleware

func (*ServerInterfaceWrapper) RevokeAPIKey

func (siw *ServerInterfaceWrapper) RevokeAPIKey(w http.ResponseWriter, r *http.Request)

RevokeAPIKey operation middleware

func (*ServerInterfaceWrapper) RevokeLLMProviderAPIKey

func (siw *ServerInterfaceWrapper) RevokeLLMProviderAPIKey(w http.ResponseWriter, r *http.Request)

RevokeLLMProviderAPIKey operation middleware

func (*ServerInterfaceWrapper) RevokeLLMProxyAPIKey

func (siw *ServerInterfaceWrapper) RevokeLLMProxyAPIKey(w http.ResponseWriter, r *http.Request)

RevokeLLMProxyAPIKey operation middleware

func (*ServerInterfaceWrapper) UpdateAPIKey

func (siw *ServerInterfaceWrapper) UpdateAPIKey(w http.ResponseWriter, r *http.Request)

UpdateAPIKey operation middleware

func (*ServerInterfaceWrapper) UpdateLLMProvider

func (siw *ServerInterfaceWrapper) UpdateLLMProvider(w http.ResponseWriter, r *http.Request)

UpdateLLMProvider operation middleware

func (*ServerInterfaceWrapper) UpdateLLMProviderAPIKey

func (siw *ServerInterfaceWrapper) UpdateLLMProviderAPIKey(w http.ResponseWriter, r *http.Request)

UpdateLLMProviderAPIKey operation middleware

func (*ServerInterfaceWrapper) UpdateLLMProviderTemplate

func (siw *ServerInterfaceWrapper) UpdateLLMProviderTemplate(w http.ResponseWriter, r *http.Request)

UpdateLLMProviderTemplate operation middleware

func (*ServerInterfaceWrapper) UpdateLLMProxy

func (siw *ServerInterfaceWrapper) UpdateLLMProxy(w http.ResponseWriter, r *http.Request)

UpdateLLMProxy operation middleware

func (*ServerInterfaceWrapper) UpdateLLMProxyAPIKey

func (siw *ServerInterfaceWrapper) UpdateLLMProxyAPIKey(w http.ResponseWriter, r *http.Request)

UpdateLLMProxyAPIKey operation middleware

func (*ServerInterfaceWrapper) UpdateMCPProxy

func (siw *ServerInterfaceWrapper) UpdateMCPProxy(w http.ResponseWriter, r *http.Request)

UpdateMCPProxy operation middleware

func (*ServerInterfaceWrapper) UpdateRestAPI

func (siw *ServerInterfaceWrapper) UpdateRestAPI(w http.ResponseWriter, r *http.Request)

UpdateRestAPI operation middleware

func (*ServerInterfaceWrapper) UpdateSecret

func (siw *ServerInterfaceWrapper) UpdateSecret(w http.ResponseWriter, r *http.Request)

UpdateSecret operation middleware

func (*ServerInterfaceWrapper) UpdateSubscription

func (siw *ServerInterfaceWrapper) UpdateSubscription(w http.ResponseWriter, r *http.Request)

UpdateSubscription operation middleware

func (*ServerInterfaceWrapper) UpdateSubscriptionPlan

func (siw *ServerInterfaceWrapper) UpdateSubscriptionPlan(w http.ResponseWriter, r *http.Request)

UpdateSubscriptionPlan operation middleware

func (*ServerInterfaceWrapper) UploadCertificate

func (siw *ServerInterfaceWrapper) UploadCertificate(w http.ResponseWriter, r *http.Request)

UploadCertificate operation middleware

type StdHTTPServerOptions

type StdHTTPServerOptions struct {
	BaseURL          string
	BaseRouter       ServeMux
	Middlewares      []MiddlewareFunc
	ErrorHandlerFunc func(w http.ResponseWriter, r *http.Request, err error)
}

type SubscriptionCreateRequest

type SubscriptionCreateRequest struct {
	// ApiId API identifier (deployment ID or handle)
	ApiId string `json:"apiId" yaml:"apiId"`

	// ApplicationId Application identifier (from DevPortal/STS). Optional for token-based subscriptions.
	ApplicationId *string `json:"applicationId,omitempty" yaml:"applicationId,omitempty"`

	// BillingCustomerId Billing customer identifier (optional, for analytics tracking).
	BillingCustomerId *string `json:"billingCustomerId,omitempty" yaml:"billingCustomerId,omitempty"`

	// BillingSubscriptionId Billing subscription identifier (optional, for analytics tracking).
	BillingSubscriptionId *string                          `json:"billingSubscriptionId,omitempty" yaml:"billingSubscriptionId,omitempty"`
	Status                *SubscriptionCreateRequestStatus `json:"status,omitempty" yaml:"status,omitempty"`

	// SubscriptionPlanId Subscription plan UUID for rate limit and billing configuration.
	SubscriptionPlanId *string `json:"subscriptionPlanId,omitempty" yaml:"subscriptionPlanId,omitempty"`

	// SubscriptionToken Opaque subscription token for API invocation (required; stored as hash only)
	SubscriptionToken string `json:"subscriptionToken" yaml:"subscriptionToken"`
}

SubscriptionCreateRequest defines model for SubscriptionCreateRequest.

type SubscriptionCreateRequestStatus

type SubscriptionCreateRequestStatus string

SubscriptionCreateRequestStatus defines model for SubscriptionCreateRequest.Status.

const (
	SubscriptionCreateRequestStatusACTIVE   SubscriptionCreateRequestStatus = "ACTIVE"
	SubscriptionCreateRequestStatusINACTIVE SubscriptionCreateRequestStatus = "INACTIVE"
	SubscriptionCreateRequestStatusREVOKED  SubscriptionCreateRequestStatus = "REVOKED"
)

Defines values for SubscriptionCreateRequestStatus.

type SubscriptionListResponse

type SubscriptionListResponse struct {
	Count         *int                    `json:"count,omitempty" yaml:"count,omitempty"`
	Subscriptions *[]SubscriptionResponse `json:"subscriptions,omitempty" yaml:"subscriptions,omitempty"`
}

SubscriptionListResponse defines model for SubscriptionListResponse.

type SubscriptionPlanCreateRequest

type SubscriptionPlanCreateRequest struct {
	BillingPlan        *string                                         `json:"billingPlan,omitempty" yaml:"billingPlan,omitempty"`
	ExpiryTime         *time.Time                                      `json:"expiryTime,omitempty" yaml:"expiryTime,omitempty"`
	PlanName           string                                          `json:"planName" yaml:"planName"`
	Status             *SubscriptionPlanCreateRequestStatus            `json:"status,omitempty" yaml:"status,omitempty"`
	StopOnQuotaReach   *bool                                           `json:"stopOnQuotaReach,omitempty" yaml:"stopOnQuotaReach,omitempty"`
	ThrottleLimitCount *int                                            `json:"throttleLimitCount,omitempty" yaml:"throttleLimitCount,omitempty"`
	ThrottleLimitUnit  *SubscriptionPlanCreateRequestThrottleLimitUnit `json:"throttleLimitUnit,omitempty" yaml:"throttleLimitUnit,omitempty"`
}

SubscriptionPlanCreateRequest defines model for SubscriptionPlanCreateRequest.

type SubscriptionPlanCreateRequestStatus

type SubscriptionPlanCreateRequestStatus string

SubscriptionPlanCreateRequestStatus defines model for SubscriptionPlanCreateRequest.Status.

const (
	SubscriptionPlanCreateRequestStatusACTIVE   SubscriptionPlanCreateRequestStatus = "ACTIVE"
	SubscriptionPlanCreateRequestStatusINACTIVE SubscriptionPlanCreateRequestStatus = "INACTIVE"
)

Defines values for SubscriptionPlanCreateRequestStatus.

type SubscriptionPlanCreateRequestThrottleLimitUnit

type SubscriptionPlanCreateRequestThrottleLimitUnit string

SubscriptionPlanCreateRequestThrottleLimitUnit defines model for SubscriptionPlanCreateRequest.ThrottleLimitUnit.

const (
	SubscriptionPlanCreateRequestThrottleLimitUnitDay   SubscriptionPlanCreateRequestThrottleLimitUnit = "Day"
	SubscriptionPlanCreateRequestThrottleLimitUnitHour  SubscriptionPlanCreateRequestThrottleLimitUnit = "Hour"
	SubscriptionPlanCreateRequestThrottleLimitUnitMin   SubscriptionPlanCreateRequestThrottleLimitUnit = "Min"
	SubscriptionPlanCreateRequestThrottleLimitUnitMonth SubscriptionPlanCreateRequestThrottleLimitUnit = "Month"
)

Defines values for SubscriptionPlanCreateRequestThrottleLimitUnit.

type SubscriptionPlanListResponse

type SubscriptionPlanListResponse struct {
	Count             *int                        `json:"count,omitempty" yaml:"count,omitempty"`
	SubscriptionPlans *[]SubscriptionPlanResponse `json:"subscriptionPlans,omitempty" yaml:"subscriptionPlans,omitempty"`
}

SubscriptionPlanListResponse defines model for SubscriptionPlanListResponse.

type SubscriptionPlanResponse

type SubscriptionPlanResponse struct {
	BillingPlan        *string                         `json:"billingPlan,omitempty" yaml:"billingPlan,omitempty"`
	CreatedAt          *time.Time                      `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`
	ExpiryTime         *time.Time                      `json:"expiryTime,omitempty" yaml:"expiryTime,omitempty"`
	GatewayId          *string                         `json:"gatewayId,omitempty" yaml:"gatewayId,omitempty"`
	Id                 *string                         `json:"id,omitempty" yaml:"id,omitempty"`
	PlanName           *string                         `json:"planName,omitempty" yaml:"planName,omitempty"`
	Status             *SubscriptionPlanResponseStatus `json:"status,omitempty" yaml:"status,omitempty"`
	StopOnQuotaReach   *bool                           `json:"stopOnQuotaReach,omitempty" yaml:"stopOnQuotaReach,omitempty"`
	ThrottleLimitCount *int                            `json:"throttleLimitCount,omitempty" yaml:"throttleLimitCount,omitempty"`
	ThrottleLimitUnit  *string                         `json:"throttleLimitUnit,omitempty" yaml:"throttleLimitUnit,omitempty"`
	UpdatedAt          *time.Time                      `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
}

SubscriptionPlanResponse defines model for SubscriptionPlanResponse.

type SubscriptionPlanResponseStatus

type SubscriptionPlanResponseStatus string

SubscriptionPlanResponseStatus defines model for SubscriptionPlanResponse.Status.

const (
	SubscriptionPlanResponseStatusACTIVE   SubscriptionPlanResponseStatus = "ACTIVE"
	SubscriptionPlanResponseStatusINACTIVE SubscriptionPlanResponseStatus = "INACTIVE"
)

Defines values for SubscriptionPlanResponseStatus.

type SubscriptionPlanUpdateRequest

type SubscriptionPlanUpdateRequest struct {
	BillingPlan        *string                                         `json:"billingPlan,omitempty" yaml:"billingPlan,omitempty"`
	ExpiryTime         *time.Time                                      `json:"expiryTime,omitempty" yaml:"expiryTime,omitempty"`
	PlanName           *string                                         `json:"planName,omitempty" yaml:"planName,omitempty"`
	Status             *SubscriptionPlanUpdateRequestStatus            `json:"status,omitempty" yaml:"status,omitempty"`
	StopOnQuotaReach   *bool                                           `json:"stopOnQuotaReach,omitempty" yaml:"stopOnQuotaReach,omitempty"`
	ThrottleLimitCount *int                                            `json:"throttleLimitCount,omitempty" yaml:"throttleLimitCount,omitempty"`
	ThrottleLimitUnit  *SubscriptionPlanUpdateRequestThrottleLimitUnit `json:"throttleLimitUnit,omitempty" yaml:"throttleLimitUnit,omitempty"`
}

SubscriptionPlanUpdateRequest defines model for SubscriptionPlanUpdateRequest.

type SubscriptionPlanUpdateRequestStatus

type SubscriptionPlanUpdateRequestStatus string

SubscriptionPlanUpdateRequestStatus defines model for SubscriptionPlanUpdateRequest.Status.

const (
	SubscriptionPlanUpdateRequestStatusACTIVE   SubscriptionPlanUpdateRequestStatus = "ACTIVE"
	SubscriptionPlanUpdateRequestStatusINACTIVE SubscriptionPlanUpdateRequestStatus = "INACTIVE"
)

Defines values for SubscriptionPlanUpdateRequestStatus.

type SubscriptionPlanUpdateRequestThrottleLimitUnit

type SubscriptionPlanUpdateRequestThrottleLimitUnit string

SubscriptionPlanUpdateRequestThrottleLimitUnit defines model for SubscriptionPlanUpdateRequest.ThrottleLimitUnit.

const (
	SubscriptionPlanUpdateRequestThrottleLimitUnitDay   SubscriptionPlanUpdateRequestThrottleLimitUnit = "Day"
	SubscriptionPlanUpdateRequestThrottleLimitUnitHour  SubscriptionPlanUpdateRequestThrottleLimitUnit = "Hour"
	SubscriptionPlanUpdateRequestThrottleLimitUnitMin   SubscriptionPlanUpdateRequestThrottleLimitUnit = "Min"
	SubscriptionPlanUpdateRequestThrottleLimitUnitMonth SubscriptionPlanUpdateRequestThrottleLimitUnit = "Month"
)

Defines values for SubscriptionPlanUpdateRequestThrottleLimitUnit.

type SubscriptionResponse

type SubscriptionResponse struct {
	ApiId         *string `json:"apiId,omitempty" yaml:"apiId,omitempty"`
	ApplicationId *string `json:"applicationId,omitempty" yaml:"applicationId,omitempty"`

	// BillingCustomerId Billing customer identifier
	BillingCustomerId *string `json:"billingCustomerId,omitempty" yaml:"billingCustomerId,omitempty"`

	// BillingSubscriptionId Billing subscription identifier
	BillingSubscriptionId *string                     `json:"billingSubscriptionId,omitempty" yaml:"billingSubscriptionId,omitempty"`
	CreatedAt             *time.Time                  `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`
	GatewayId             *string                     `json:"gatewayId,omitempty" yaml:"gatewayId,omitempty"`
	Id                    *string                     `json:"id,omitempty" yaml:"id,omitempty"`
	Status                *SubscriptionResponseStatus `json:"status,omitempty" yaml:"status,omitempty"`

	// SubscriptionPlanId Subscription plan UUID
	SubscriptionPlanId *string `json:"subscriptionPlanId,omitempty" yaml:"subscriptionPlanId,omitempty"`

	// SubscriptionToken Opaque subscription token (returned only on create; use Platform-API to retrieve for existing subscriptions)
	SubscriptionToken *string    `json:"subscriptionToken,omitempty" yaml:"subscriptionToken,omitempty"`
	UpdatedAt         *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
}

SubscriptionResponse defines model for SubscriptionResponse.

type SubscriptionResponseStatus

type SubscriptionResponseStatus string

SubscriptionResponseStatus defines model for SubscriptionResponse.Status.

const (
	SubscriptionResponseStatusACTIVE   SubscriptionResponseStatus = "ACTIVE"
	SubscriptionResponseStatusINACTIVE SubscriptionResponseStatus = "INACTIVE"
	SubscriptionResponseStatusREVOKED  SubscriptionResponseStatus = "REVOKED"
)

Defines values for SubscriptionResponseStatus.

type SubscriptionUpdateRequest

type SubscriptionUpdateRequest struct {
	Status *SubscriptionUpdateRequestStatus `json:"status,omitempty" yaml:"status,omitempty"`
}

SubscriptionUpdateRequest defines model for SubscriptionUpdateRequest.

type SubscriptionUpdateRequestStatus

type SubscriptionUpdateRequestStatus string

SubscriptionUpdateRequestStatus defines model for SubscriptionUpdateRequest.Status.

const (
	SubscriptionUpdateRequestStatusACTIVE   SubscriptionUpdateRequestStatus = "ACTIVE"
	SubscriptionUpdateRequestStatusINACTIVE SubscriptionUpdateRequestStatus = "INACTIVE"
	SubscriptionUpdateRequestStatusREVOKED  SubscriptionUpdateRequestStatus = "REVOKED"
)

Defines values for SubscriptionUpdateRequestStatus.

type TooManyValuesForParamError

type TooManyValuesForParamError struct {
	ParamName string
	Count     int
}

func (*TooManyValuesForParamError) Error

type UnescapedCookieParamError

type UnescapedCookieParamError struct {
	ParamName string
	Err       error
}

func (*UnescapedCookieParamError) Error

func (e *UnescapedCookieParamError) Error() string

func (*UnescapedCookieParamError) Unwrap

func (e *UnescapedCookieParamError) Unwrap() error

type UnmarshalingParamError

type UnmarshalingParamError struct {
	ParamName string
	Err       error
}

func (*UnmarshalingParamError) Error

func (e *UnmarshalingParamError) Error() string

func (*UnmarshalingParamError) Unwrap

func (e *UnmarshalingParamError) Unwrap() error

type UpdateAPIKeyJSONRequestBody

type UpdateAPIKeyJSONRequestBody = APIKeyUpdateRequest

UpdateAPIKeyJSONRequestBody defines body for UpdateAPIKey for application/json ContentType.

type UpdateLLMProviderAPIKeyJSONRequestBody

type UpdateLLMProviderAPIKeyJSONRequestBody = APIKeyUpdateRequest

UpdateLLMProviderAPIKeyJSONRequestBody defines body for UpdateLLMProviderAPIKey for application/json ContentType.

type UpdateLLMProviderJSONRequestBody

type UpdateLLMProviderJSONRequestBody = LLMProviderConfigurationRequest

UpdateLLMProviderJSONRequestBody defines body for UpdateLLMProvider for application/json ContentType.

type UpdateLLMProviderTemplateJSONRequestBody

type UpdateLLMProviderTemplateJSONRequestBody = LLMProviderTemplateRequest

UpdateLLMProviderTemplateJSONRequestBody defines body for UpdateLLMProviderTemplate for application/json ContentType.

type UpdateLLMProxyAPIKeyJSONRequestBody

type UpdateLLMProxyAPIKeyJSONRequestBody = APIKeyUpdateRequest

UpdateLLMProxyAPIKeyJSONRequestBody defines body for UpdateLLMProxyAPIKey for application/json ContentType.

type UpdateLLMProxyJSONRequestBody

type UpdateLLMProxyJSONRequestBody = LLMProxyConfigurationRequest

UpdateLLMProxyJSONRequestBody defines body for UpdateLLMProxy for application/json ContentType.

type UpdateMCPProxyJSONRequestBody

type UpdateMCPProxyJSONRequestBody = MCPProxyConfigurationRequest

UpdateMCPProxyJSONRequestBody defines body for UpdateMCPProxy for application/json ContentType.

type UpdateRestAPIJSONRequestBody

type UpdateRestAPIJSONRequestBody = RestAPIRequest

UpdateRestAPIJSONRequestBody defines body for UpdateRestAPI for application/json ContentType.

type UpdateSecretJSONRequestBody

type UpdateSecretJSONRequestBody = SecretConfigurationRequest

UpdateSecretJSONRequestBody defines body for UpdateSecret for application/json ContentType.

type UpdateSubscriptionJSONRequestBody

type UpdateSubscriptionJSONRequestBody = SubscriptionUpdateRequest

UpdateSubscriptionJSONRequestBody defines body for UpdateSubscription for application/json ContentType.

type UpdateSubscriptionPlanJSONRequestBody

type UpdateSubscriptionPlanJSONRequestBody = SubscriptionPlanUpdateRequest

UpdateSubscriptionPlanJSONRequestBody defines body for UpdateSubscriptionPlan for application/json ContentType.

type UploadCertificateJSONRequestBody

type UploadCertificateJSONRequestBody = CertificateUploadRequest

UploadCertificateJSONRequestBody defines body for UploadCertificate for application/json ContentType.

type Upstream

type Upstream struct {
	// HostRewrite Controls how the Host header is handled when routing to the upstream. `auto` delegates host rewriting to Envoy, which rewrites the Host header using the upstream cluster host. `manual` disables automatic rewriting and expects explicit configuration.
	HostRewrite *UpstreamHostRewrite `json:"hostRewrite,omitempty" yaml:"hostRewrite,omitempty"`

	// Ref Reference to a predefined upstreamDefinition
	Ref *string `json:"ref,omitempty" yaml:"ref,omitempty"`

	// Url Direct backend URL to route traffic to
	Url *string `json:"url,omitempty" yaml:"url,omitempty"`
	// contains filtered or unexported fields
}

Upstream Upstream backend configuration (single target or reference)

func (Upstream) AsUpstream0

func (t Upstream) AsUpstream0() (Upstream0, error)

AsUpstream0 returns the union data inside the Upstream as a Upstream0

func (Upstream) AsUpstream1

func (t Upstream) AsUpstream1() (Upstream1, error)

AsUpstream1 returns the union data inside the Upstream as a Upstream1

func (*Upstream) FromUpstream0

func (t *Upstream) FromUpstream0(v Upstream0) error

FromUpstream0 overwrites any union data inside the Upstream as the provided Upstream0

func (*Upstream) FromUpstream1

func (t *Upstream) FromUpstream1(v Upstream1) error

FromUpstream1 overwrites any union data inside the Upstream as the provided Upstream1

func (Upstream) MarshalJSON

func (t Upstream) MarshalJSON() ([]byte, error)

func (*Upstream) MergeUpstream0

func (t *Upstream) MergeUpstream0(v Upstream0) error

MergeUpstream0 performs a merge with any union data inside the Upstream, using the provided Upstream0

func (*Upstream) MergeUpstream1

func (t *Upstream) MergeUpstream1(v Upstream1) error

MergeUpstream1 performs a merge with any union data inside the Upstream, using the provided Upstream1

func (*Upstream) UnmarshalJSON

func (t *Upstream) UnmarshalJSON(b []byte) error

type Upstream0

type Upstream0 = interface{}

Upstream0 defines model for .

type Upstream1

type Upstream1 = interface{}

Upstream1 defines model for .

type UpstreamAuth

type UpstreamAuth struct {
	Auth *struct {
		Header *string              `json:"header,omitempty" yaml:"header,omitempty"`
		Type   UpstreamAuthAuthType `json:"type" yaml:"type"`

		// Value Upstream credential. Write-only: accepted on create/update and never returned by the management API on a read, for any role. Supply either a literal value or a secret reference (e.g. a `secret` template expression); either way the field is omitted from management API response bodies. An update that omits it inherits the stored value; set `type: none` to remove auth.
		Value *string `json:"value,omitempty" yaml:"value,omitempty"`
	} `json:"auth,omitempty" yaml:"auth,omitempty"`
}

UpstreamAuth defines model for UpstreamAuth.

type UpstreamAuthAuthType

type UpstreamAuthAuthType string

UpstreamAuthAuthType defines model for UpstreamAuth.Auth.Type.

const (
	UpstreamAuthAuthTypeApiKey UpstreamAuthAuthType = "api-key"
	UpstreamAuthAuthTypeNone   UpstreamAuthAuthType = "none"
	UpstreamAuthAuthTypeOther  UpstreamAuthAuthType = "other"
)

Defines values for UpstreamAuthAuthType.

type UpstreamDefinition

type UpstreamDefinition struct {
	// BasePath Base path prefix for all endpoints in this upstream (e.g., /api/v2). All requests to this upstream will have this path prepended. Must start with '/' and must not end with '/'; omit for root.
	BasePath *string `json:"basePath,omitempty" yaml:"basePath,omitempty"`

	// Name Unique identifier for this upstream definition
	Name string `json:"name" yaml:"name"`

	// Timeout Timeout configuration for upstream requests
	Timeout *UpstreamTimeout `json:"timeout,omitempty" yaml:"timeout,omitempty"`

	// Upstreams List of backend targets with optional weights for load balancing
	Upstreams []struct {
		// Url Backend URL (host and port only, path comes from basePath)
		Url string `json:"url" yaml:"url"`

		// Weight Relative weight for load balancing across multiple upstream targets. Reserved for future multi-target load balancing; not applied yet (only the first target is currently used).
		Weight *int `json:"weight,omitempty" yaml:"weight,omitempty"`
	} `json:"upstreams" yaml:"upstreams"`
}

UpstreamDefinition Reusable upstream configuration with optional timeout and load balancing settings

type UpstreamHostRewrite

type UpstreamHostRewrite string

UpstreamHostRewrite Controls how the Host header is handled when routing to the upstream. `auto` delegates host rewriting to Envoy, which rewrites the Host header using the upstream cluster host. `manual` disables automatic rewriting and expects explicit configuration.

const (
	Auto   UpstreamHostRewrite = "auto"
	Manual UpstreamHostRewrite = "manual"
)

Defines values for UpstreamHostRewrite.

type UpstreamTimeout

type UpstreamTimeout struct {
	// Connect Connection timeout duration (e.g., "5s", "500ms")
	Connect *string `json:"connect,omitempty" yaml:"connect,omitempty"`
}

UpstreamTimeout Timeout configuration for upstream requests

type ValidationError

type ValidationError struct {
	// Field Field that failed validation
	Field *string `json:"field,omitempty" yaml:"field,omitempty"`

	// Message Human-readable error message
	Message *string `json:"message,omitempty" yaml:"message,omitempty"`
}

ValidationError defines model for ValidationError.

Jump to

Keyboard shortcuts

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