management

package
v0.0.0-...-79ce0ab Latest Latest
Warning

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

Go to latest
Published: Apr 11, 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 PathToRawSpec

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

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

func RegisterHandlers

func RegisterHandlers(router gin.IRouter, si ServerInterface)

RegisterHandlers creates http.Handler with routing matching OpenAPI spec.

func RegisterHandlersWithOptions

func RegisterHandlersWithOptions(router gin.IRouter, si ServerInterface, options GinServerOptions)

RegisterHandlersWithOptions creates http.Handler with additional options

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

	// 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/domain for production traffic
		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 Channel

type Channel struct {
	// Method Operation method type.
	Method ChannelMethod `json:"method" yaml:"method"`

	// Name Channel name or topic identifier relative to API context.
	Name string `json:"name" yaml:"name"`

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

Channel Channel (topic/event stream) definition for async APIs.

type ChannelMethod

type ChannelMethod string

ChannelMethod Operation method type.

const (
	SUB ChannelMethod = "SUB"
)

Defines values for ChannelMethod.

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

CreateLLMProviderJSONRequestBody defines body for CreateLLMProvider for application/json ContentType.

type CreateLLMProviderTemplateJSONRequestBody

type CreateLLMProviderTemplateJSONRequestBody = LLMProviderTemplate

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

CreateLLMProxyJSONRequestBody defines body for CreateLLMProxy for application/json ContentType.

type CreateMCPProxyJSONRequestBody

type CreateMCPProxyJSONRequestBody = MCPProxyConfiguration

CreateMCPProxyJSONRequestBody defines body for CreateMCPProxy for application/json ContentType.

type CreateRestAPIJSONRequestBody

type CreateRestAPIJSONRequestBody = RestAPI

CreateRestAPIJSONRequestBody defines body for CreateRestAPI for application/json ContentType.

type CreateSecretJSONRequestBody

type CreateSecretJSONRequestBody = SecretConfiguration

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 CreateWebSubAPIJSONRequestBody

type CreateWebSubAPIJSONRequestBody = WebSubAPI

CreateWebSubAPIJSONRequestBody defines body for CreateWebSubAPI 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 {
	// 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"`
}

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 GinServerOptions

type GinServerOptions struct {
	BaseURL      string
	Middlewares  []MiddlewareFunc
	ErrorHandler func(*gin.Context, error, int)
}

GinServerOptions provides options for the Gin server.

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

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

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

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

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

LLMProviderConfiguration defines model for LLMProviderConfiguration.

type LLMProviderConfigurationApiVersion

type LLMProviderConfigurationApiVersion string

LLMProviderConfigurationApiVersion Provider specification version

const (
	LLMProviderConfigurationApiVersionGatewayApiPlatformWso2Comv1alpha1 LLMProviderConfigurationApiVersion = "gateway.api-platform.wso2.com/v1alpha1"
)

Defines values for LLMProviderConfigurationApiVersion.

type LLMProviderConfigurationKind

type LLMProviderConfigurationKind string

LLMProviderConfigurationKind Provider kind

const (
	LlmProvider LLMProviderConfigurationKind = "LlmProvider"
)

Defines values for LLMProviderConfigurationKind.

type LLMProviderCreateResponse

type LLMProviderCreateResponse struct {
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`
	Id        *string    `json:"id,omitempty" yaml:"id,omitempty"`
	Message   *string    `json:"message,omitempty" yaml:"message,omitempty"`
	Status    *string    `json:"status,omitempty" yaml:"status,omitempty"`
}

LLMProviderCreateResponse defines model for LLMProviderCreateResponse.

type LLMProviderDetailResponse

type LLMProviderDetailResponse struct {
	Provider *struct {
		Configuration    *LLMProviderConfiguration                          `json:"configuration,omitempty" yaml:"configuration,omitempty"`
		DeploymentStatus *LLMProviderDetailResponseProviderDeploymentStatus `json:"deploymentStatus,omitempty" yaml:"deploymentStatus,omitempty"`
		Id               *string                                            `json:"id,omitempty" yaml:"id,omitempty"`
		Metadata         *struct {
			CreatedAt  *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`
			DeployedAt *time.Time `json:"deployedAt,omitempty" yaml:"deployedAt,omitempty"`
			UpdatedAt  *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
		} `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	} `json:"provider,omitempty" yaml:"provider,omitempty"`
	Status *string `json:"status,omitempty" yaml:"status,omitempty"`
}

LLMProviderDetailResponse defines model for LLMProviderDetailResponse.

type LLMProviderDetailResponseProviderDeploymentStatus

type LLMProviderDetailResponseProviderDeploymentStatus string

LLMProviderDetailResponseProviderDeploymentStatus defines model for LLMProviderDetailResponse.Provider.DeploymentStatus.

const (
	LLMProviderDetailResponseProviderDeploymentStatusDeployed   LLMProviderDetailResponseProviderDeploymentStatus = "deployed"
	LLMProviderDetailResponseProviderDeploymentStatusUndeployed LLMProviderDetailResponseProviderDeploymentStatus = "undeployed"
)

Defines values for LLMProviderDetailResponseProviderDeploymentStatus.

type LLMProviderListItem

type LLMProviderListItem struct {
	CreatedAt   *time.Time                 `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`
	DisplayName *string                    `json:"displayName,omitempty" yaml:"displayName,omitempty"`
	Id          *string                    `json:"id,omitempty" yaml:"id,omitempty"`
	Status      *LLMProviderListItemStatus `json:"status,omitempty" yaml:"status,omitempty"`
	Template    *string                    `json:"template,omitempty" yaml:"template,omitempty"`
	UpdatedAt   *time.Time                 `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
	Version     *string                    `json:"version,omitempty" yaml:"version,omitempty"`
}

LLMProviderListItem defines model for LLMProviderListItem.

type LLMProviderListItemStatus

type LLMProviderListItemStatus string

LLMProviderListItemStatus defines model for LLMProviderListItem.Status.

const (
	LLMProviderListItemStatusDeployed   LLMProviderListItemStatus = "deployed"
	LLMProviderListItemStatusUndeployed LLMProviderListItemStatus = "undeployed"
)

Defines values for LLMProviderListItemStatus.

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

LLMProviderTemplate defines model for LLMProviderTemplate.

type LLMProviderTemplateApiVersion

type LLMProviderTemplateApiVersion string

LLMProviderTemplateApiVersion Template specification version

const (
	LLMProviderTemplateApiVersionGatewayApiPlatformWso2Comv1alpha1 LLMProviderTemplateApiVersion = "gateway.api-platform.wso2.com/v1alpha1"
)

Defines values for LLMProviderTemplateApiVersion.

type LLMProviderTemplateCreateResponse

type LLMProviderTemplateCreateResponse struct {
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`
	Id        *string    `json:"id,omitempty" yaml:"id,omitempty"`
	Message   *string    `json:"message,omitempty" yaml:"message,omitempty"`
	Status    *string    `json:"status,omitempty" yaml:"status,omitempty"`
}

LLMProviderTemplateCreateResponse defines model for LLMProviderTemplateCreateResponse.

type LLMProviderTemplateData

type LLMProviderTemplateData struct {
	CompletionTokens *ExtractionIdentifier `json:"completionTokens,omitempty" yaml:"completionTokens,omitempty"`

	// DisplayName Human-readable LLM Template name
	DisplayName      string                               `json:"displayName" yaml:"displayName"`
	PromptTokens     *ExtractionIdentifier                `json:"promptTokens,omitempty" yaml:"promptTokens,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"`
	TotalTokens      *ExtractionIdentifier                `json:"totalTokens,omitempty" yaml:"totalTokens,omitempty"`
}

LLMProviderTemplateData defines model for LLMProviderTemplateData.

type LLMProviderTemplateDetailResponse

type LLMProviderTemplateDetailResponse struct {
	Status   *string `json:"status,omitempty" yaml:"status,omitempty"`
	Template *struct {
		Configuration *LLMProviderTemplate `json:"configuration,omitempty" yaml:"configuration,omitempty"`
		Id            *string              `json:"id,omitempty" yaml:"id,omitempty"`
		Metadata      *struct {
			CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`
			UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
		} `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	} `json:"template,omitempty" yaml:"template,omitempty"`
}

LLMProviderTemplateDetailResponse defines model for LLMProviderTemplateDetailResponse.

type LLMProviderTemplateKind

type LLMProviderTemplateKind string

LLMProviderTemplateKind Template kind

const (
	LlmProviderTemplate LLMProviderTemplateKind = "LlmProviderTemplate"
)

Defines values for LLMProviderTemplateKind.

type LLMProviderTemplateListItem

type LLMProviderTemplateListItem struct {
	CreatedAt   *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`
	DisplayName *string    `json:"displayName,omitempty" yaml:"displayName,omitempty"`
	Id          *string    `json:"id,omitempty" yaml:"id,omitempty"`
	UpdatedAt   *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
}

LLMProviderTemplateListItem defines model for LLMProviderTemplateListItem.

type LLMProviderTemplateResourceMapping

type LLMProviderTemplateResourceMapping struct {
	CompletionTokens *ExtractionIdentifier `json:"completionTokens,omitempty" yaml:"completionTokens,omitempty"`
	PromptTokens     *ExtractionIdentifier `json:"promptTokens,omitempty" yaml:"promptTokens,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"`
	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 LLMProviderTemplateUpdateResponse

type LLMProviderTemplateUpdateResponse struct {
	Id        *string    `json:"id,omitempty" yaml:"id,omitempty"`
	Message   *string    `json:"message,omitempty" yaml:"message,omitempty"`
	Status    *string    `json:"status,omitempty" yaml:"status,omitempty"`
	UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
}

LLMProviderTemplateUpdateResponse defines model for LLMProviderTemplateUpdateResponse.

type LLMProviderUpdateResponse

type LLMProviderUpdateResponse struct {
	Id        *string    `json:"id,omitempty" yaml:"id,omitempty"`
	Message   *string    `json:"message,omitempty" yaml:"message,omitempty"`
	Status    *string    `json:"status,omitempty" yaml:"status,omitempty"`
	UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
}

LLMProviderUpdateResponse defines model for LLMProviderUpdateResponse.

type LLMProxyConfigData

type LLMProxyConfigData struct {
	// 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"`

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

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

LLMProxyConfiguration defines model for LLMProxyConfiguration.

type LLMProxyConfigurationApiVersion

type LLMProxyConfigurationApiVersion string

LLMProxyConfigurationApiVersion Proxy specification version

const (
	LLMProxyConfigurationApiVersionGatewayApiPlatformWso2Comv1alpha1 LLMProxyConfigurationApiVersion = "gateway.api-platform.wso2.com/v1alpha1"
)

Defines values for LLMProxyConfigurationApiVersion.

type LLMProxyConfigurationKind

type LLMProxyConfigurationKind string

LLMProxyConfigurationKind Proxy kind

const (
	LlmProxy LLMProxyConfigurationKind = "LlmProxy"
)

Defines values for LLMProxyConfigurationKind.

type LLMProxyCreateResponse

type LLMProxyCreateResponse struct {
	CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`
	Id        *string    `json:"id,omitempty" yaml:"id,omitempty"`
	Message   *string    `json:"message,omitempty" yaml:"message,omitempty"`
	Status    *string    `json:"status,omitempty" yaml:"status,omitempty"`
}

LLMProxyCreateResponse defines model for LLMProxyCreateResponse.

type LLMProxyDetailResponse

type LLMProxyDetailResponse struct {
	Proxy *struct {
		Configuration    *LLMProxyConfiguration                       `json:"configuration,omitempty" yaml:"configuration,omitempty"`
		DeploymentStatus *LLMProxyDetailResponseProxyDeploymentStatus `json:"deploymentStatus,omitempty" yaml:"deploymentStatus,omitempty"`
		Id               *string                                      `json:"id,omitempty" yaml:"id,omitempty"`
		Metadata         *struct {
			CreatedAt  *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`
			DeployedAt *time.Time `json:"deployedAt,omitempty" yaml:"deployedAt,omitempty"`
			UpdatedAt  *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
		} `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	} `json:"proxy,omitempty" yaml:"proxy,omitempty"`
	Status *string `json:"status,omitempty" yaml:"status,omitempty"`
}

LLMProxyDetailResponse defines model for LLMProxyDetailResponse.

type LLMProxyDetailResponseProxyDeploymentStatus

type LLMProxyDetailResponseProxyDeploymentStatus string

LLMProxyDetailResponseProxyDeploymentStatus defines model for LLMProxyDetailResponse.Proxy.DeploymentStatus.

const (
	LLMProxyDetailResponseProxyDeploymentStatusDeployed   LLMProxyDetailResponseProxyDeploymentStatus = "deployed"
	LLMProxyDetailResponseProxyDeploymentStatusUndeployed LLMProxyDetailResponseProxyDeploymentStatus = "undeployed"
)

Defines values for LLMProxyDetailResponseProxyDeploymentStatus.

type LLMProxyListItem

type LLMProxyListItem struct {
	CreatedAt   *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`
	DisplayName *string    `json:"displayName,omitempty" yaml:"displayName,omitempty"`
	Id          *string    `json:"id,omitempty" yaml:"id,omitempty"`

	// Provider Unique id of a deployed llm provider
	Provider  *string                 `json:"provider,omitempty" yaml:"provider,omitempty"`
	Status    *LLMProxyListItemStatus `json:"status,omitempty" yaml:"status,omitempty"`
	UpdatedAt *time.Time              `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
	Version   *string                 `json:"version,omitempty" yaml:"version,omitempty"`
}

LLMProxyListItem defines model for LLMProxyListItem.

type LLMProxyListItemStatus

type LLMProxyListItemStatus string

LLMProxyListItemStatus defines model for LLMProxyListItem.Status.

const (
	LLMProxyListItemStatusDeployed   LLMProxyListItemStatus = "deployed"
	LLMProxyListItemStatusUndeployed LLMProxyListItemStatus = "undeployed"
)

Defines values for LLMProxyListItemStatus.

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 LLMProxyUpdateResponse

type LLMProxyUpdateResponse struct {
	Id        *string    `json:"id,omitempty" yaml:"id,omitempty"`
	Message   *string    `json:"message,omitempty" yaml:"message,omitempty"`
	Status    *string    `json:"status,omitempty" yaml:"status,omitempty"`
	UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
}

LLMProxyUpdateResponse defines model for LLMProxyUpdateResponse.

type LLMUpstreamAuth

type LLMUpstreamAuth struct {
	Header *string             `json:"header,omitempty" yaml:"header,omitempty"`
	Type   LLMUpstreamAuthType `json:"type" yaml:"type"`
	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"
)

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 (
	ListRestAPIsParamsStatusDeployed   ListRestAPIsParamsStatus = "deployed"
	ListRestAPIsParamsStatusUndeployed 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 ListWebSubAPIsParams

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

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

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

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

ListWebSubAPIsParams defines parameters for ListWebSubAPIs.

type ListWebSubAPIsParamsStatus

type ListWebSubAPIsParamsStatus string

ListWebSubAPIsParamsStatus defines parameters for ListWebSubAPIs.

const (
	ListWebSubAPIsParamsStatusDeployed   ListWebSubAPIsParamsStatus = "deployed"
	ListWebSubAPIsParamsStatusUndeployed ListWebSubAPIsParamsStatus = "undeployed"
)

Defines values for ListWebSubAPIsParamsStatus.

type MCPDetailResponse

type MCPDetailResponse struct {
	Mcp *struct {
		Configuration *MCPProxyConfiguration `json:"configuration,omitempty" yaml:"configuration,omitempty"`

		// Id Unique id for the MCPProxy
		Id       *string `json:"id,omitempty" yaml:"id,omitempty"`
		Metadata *struct {
			CreatedAt  *time.Time                          `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`
			DeployedAt *time.Time                          `json:"deployedAt,omitempty" yaml:"deployedAt,omitempty"`
			Status     *MCPDetailResponseMcpMetadataStatus `json:"status,omitempty" yaml:"status,omitempty"`
			UpdatedAt  *time.Time                          `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
		} `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	} `json:"mcp,omitempty" yaml:"mcp,omitempty"`
	Status *string `json:"status,omitempty" yaml:"status,omitempty"`
}

MCPDetailResponse defines model for MCPDetailResponse.

type MCPDetailResponseMcpMetadataStatus

type MCPDetailResponseMcpMetadataStatus string

MCPDetailResponseMcpMetadataStatus defines model for MCPDetailResponse.Mcp.Metadata.Status.

const (
	MCPDetailResponseMcpMetadataStatusDeployed   MCPDetailResponseMcpMetadataStatus = "deployed"
	MCPDetailResponseMcpMetadataStatusUndeployed MCPDetailResponseMcpMetadataStatus = "undeployed"
)

Defines values for MCPDetailResponseMcpMetadataStatus.

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

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

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

MCPProxyConfiguration defines model for MCPProxyConfiguration.

type MCPProxyConfigurationApiVersion

type MCPProxyConfigurationApiVersion string

MCPProxyConfigurationApiVersion MCP Proxy specification version

const (
	MCPProxyConfigurationApiVersionGatewayApiPlatformWso2Comv1alpha1 MCPProxyConfigurationApiVersion = "gateway.api-platform.wso2.com/v1alpha1"
)

Defines values for MCPProxyConfigurationApiVersion.

type MCPProxyConfigurationKind

type MCPProxyConfigurationKind string

MCPProxyConfigurationKind MCP Proxy type

const (
	Mcp MCPProxyConfigurationKind = "Mcp"
)

Defines values for MCPProxyConfigurationKind.

type MCPProxyCreateResponse

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

	// Id Unique handle (metadata.name) for the created MCPProxy
	Id      *string `json:"id,omitempty" yaml:"id,omitempty"`
	Message *string `json:"message,omitempty" yaml:"message,omitempty"`
	Status  *string `json:"status,omitempty" yaml:"status,omitempty"`
}

MCPProxyCreateResponse defines model for MCPProxyCreateResponse.

type MCPProxyListItem

type MCPProxyListItem struct {
	Context     *string                 `json:"context,omitempty" yaml:"context,omitempty"`
	CreatedAt   *time.Time              `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`
	DisplayName *string                 `json:"displayName,omitempty" yaml:"displayName,omitempty"`
	Id          *string                 `json:"id,omitempty" yaml:"id,omitempty"`
	SpecVersion *string                 `json:"specVersion,omitempty" yaml:"specVersion,omitempty"`
	Status      *MCPProxyListItemStatus `json:"status,omitempty" yaml:"status,omitempty"`
	UpdatedAt   *time.Time              `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
	Version     *string                 `json:"version,omitempty" yaml:"version,omitempty"`
}

MCPProxyListItem defines model for MCPProxyListItem.

type MCPProxyListItemStatus

type MCPProxyListItemStatus string

MCPProxyListItemStatus defines model for MCPProxyListItem.Status.

const (
	MCPProxyListItemStatusDeployed   MCPProxyListItemStatus = "deployed"
	MCPProxyListItemStatusUndeployed MCPProxyListItemStatus = "undeployed"
)

Defines values for MCPProxyListItemStatus.

type MCPProxyUpdateResponse

type MCPProxyUpdateResponse struct {
	// Id Unique handle (metadata.name) for the created MCPProxy
	Id        *string    `json:"id,omitempty" yaml:"id,omitempty"`
	Message   *string    `json:"message,omitempty" yaml:"message,omitempty"`
	Status    *string    `json:"status,omitempty" yaml:"status,omitempty"`
	UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
}

MCPProxyUpdateResponse defines model for MCPProxyUpdateResponse.

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 {
	// 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(c *gin.Context)

type Operation

type Operation struct {
	// Method HTTP method
	Method OperationMethod `json:"method" yaml:"method"`

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

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

Operation defines model for Operation.

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

RestAPI defines model for RestAPI.

type RestAPIApiVersion

type RestAPIApiVersion string

RestAPIApiVersion API specification version

const (
	RestAPIApiVersionGatewayApiPlatformWso2Comv1alpha1 RestAPIApiVersion = "gateway.api-platform.wso2.com/v1alpha1"
)

Defines values for RestAPIApiVersion.

type RestAPICreateResponse

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

	// Id Unique id for the created RestAPI
	Id      *string `json:"id,omitempty" yaml:"id,omitempty"`
	Message *string `json:"message,omitempty" yaml:"message,omitempty"`
	Status  *string `json:"status,omitempty" yaml:"status,omitempty"`
}

RestAPICreateResponse defines model for RestAPICreateResponse.

type RestAPIDetailResponse

type RestAPIDetailResponse struct {
	Api *struct {
		Configuration *RestAPI `json:"configuration,omitempty" yaml:"configuration,omitempty"`

		// Id Unique id for the RestAPI
		Id       *string `json:"id,omitempty" yaml:"id,omitempty"`
		Metadata *struct {
			CreatedAt  *time.Time                              `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`
			DeployedAt *time.Time                              `json:"deployedAt,omitempty" yaml:"deployedAt,omitempty"`
			Status     *RestAPIDetailResponseApiMetadataStatus `json:"status,omitempty" yaml:"status,omitempty"`
			UpdatedAt  *time.Time                              `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
		} `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	} `json:"api,omitempty" yaml:"api,omitempty"`
	Status *string `json:"status,omitempty" yaml:"status,omitempty"`
}

RestAPIDetailResponse defines model for RestAPIDetailResponse.

type RestAPIDetailResponseApiMetadataStatus

type RestAPIDetailResponseApiMetadataStatus string

RestAPIDetailResponseApiMetadataStatus defines model for RestAPIDetailResponse.Api.Metadata.Status.

const (
	RestAPIDetailResponseApiMetadataStatusDeployed   RestAPIDetailResponseApiMetadataStatus = "deployed"
	RestAPIDetailResponseApiMetadataStatusUndeployed RestAPIDetailResponseApiMetadataStatus = "undeployed"
)

Defines values for RestAPIDetailResponseApiMetadataStatus.

type RestAPIKind

type RestAPIKind string

RestAPIKind API type

const (
	RestApi RestAPIKind = "RestApi"
)

Defines values for RestAPIKind.

type RestAPIListItem

type RestAPIListItem struct {
	Context     *string                `json:"context,omitempty" yaml:"context,omitempty"`
	CreatedAt   *time.Time             `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`
	DisplayName *string                `json:"displayName,omitempty" yaml:"displayName,omitempty"`
	Id          *string                `json:"id,omitempty" yaml:"id,omitempty"`
	Status      *RestAPIListItemStatus `json:"status,omitempty" yaml:"status,omitempty"`
	UpdatedAt   *time.Time             `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
	Version     *string                `json:"version,omitempty" yaml:"version,omitempty"`
}

RestAPIListItem defines model for RestAPIListItem.

type RestAPIListItemStatus

type RestAPIListItemStatus string

RestAPIListItemStatus defines model for RestAPIListItem.Status.

const (
	RestAPIListItemStatusDeployed   RestAPIListItemStatus = "deployed"
	RestAPIListItemStatusUndeployed RestAPIListItemStatus = "undeployed"
)

Defines values for RestAPIListItemStatus.

type RestAPIUpdateResponse

type RestAPIUpdateResponse struct {
	Id        *string    `json:"id,omitempty" yaml:"id,omitempty"`
	Message   *string    `json:"message,omitempty" yaml:"message,omitempty"`
	Status    *string    `json:"status,omitempty" yaml:"status,omitempty"`
	UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
}

RestAPIUpdateResponse defines model for RestAPIUpdateResponse.

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 (
	DELETE RouteExceptionMethods = "DELETE"
	GET    RouteExceptionMethods = "GET"
	PATCH  RouteExceptionMethods = "PATCH"
	POST   RouteExceptionMethods = "POST"
	PUT    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 SecretConfiguration

type SecretConfiguration struct {
	// ApiVersion Secret specification version
	ApiVersion SecretConfigurationApiVersion `json:"apiVersion" yaml:"apiVersion"`

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

SecretConfiguration defines model for SecretConfiguration.

type SecretConfigurationApiVersion

type SecretConfigurationApiVersion string

SecretConfigurationApiVersion Secret specification version

const (
	SecretConfigurationApiVersionGatewayApiPlatformWso2Comv1alpha1 SecretConfigurationApiVersion = "gateway.api-platform.wso2.com/v1alpha1"
)

Defines values for SecretConfigurationApiVersion.

type SecretConfigurationKind

type SecretConfigurationKind string

SecretConfigurationKind Secret resource kind

const (
	Secret SecretConfigurationKind = "Secret"
)

Defines values for SecretConfigurationKind.

type SecretDetailResponse

type SecretDetailResponse struct {
	Secret *struct {
		Configuration *SecretConfiguration `json:"configuration,omitempty" yaml:"configuration,omitempty"`

		// Id Unique secret identifier
		Id       *string `json:"id,omitempty" yaml:"id,omitempty"`
		Metadata *struct {
			CreatedAt *time.Time `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`
			UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
		} `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	} `json:"secret,omitempty" yaml:"secret,omitempty"`
	Status *string `json:"status,omitempty" yaml:"status,omitempty"`
}

SecretDetailResponse defines model for SecretDetailResponse.

type SecretListResponse

type SecretListResponse struct {
	// Secrets List of secrets (without values for security)
	Secrets *[]struct {
		// CreatedAt Timestamp when the secret was created (UTC)
		CreatedAt time.Time `json:"createdAt" yaml:"createdAt"`

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

		// Id Unique secret identifier (handle)
		Id string `json:"id" yaml:"id"`

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

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

SecretListResponse defines model for SecretListResponse.

type SecretResponse

type SecretResponse struct {
	// CreatedAt Timestamp when the secret was created (UTC)
	CreatedAt time.Time `json:"createdAt" yaml:"createdAt"`

	// Id Unique secret identifier
	Id string `json:"id" yaml:"id"`

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

SecretResponse defines model for SecretResponse.

type ServerInterface

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

ServerInterface represents all server handlers.

type ServerInterfaceWrapper

type ServerInterfaceWrapper struct {
	Handler            ServerInterface
	HandlerMiddlewares []MiddlewareFunc
	ErrorHandler       func(*gin.Context, error, int)
}

ServerInterfaceWrapper converts contexts to parameters.

func (*ServerInterfaceWrapper) CreateAPIKey

func (siw *ServerInterfaceWrapper) CreateAPIKey(c *gin.Context)

CreateAPIKey operation middleware

func (*ServerInterfaceWrapper) CreateLLMProvider

func (siw *ServerInterfaceWrapper) CreateLLMProvider(c *gin.Context)

CreateLLMProvider operation middleware

func (*ServerInterfaceWrapper) CreateLLMProviderAPIKey

func (siw *ServerInterfaceWrapper) CreateLLMProviderAPIKey(c *gin.Context)

CreateLLMProviderAPIKey operation middleware

func (*ServerInterfaceWrapper) CreateLLMProviderTemplate

func (siw *ServerInterfaceWrapper) CreateLLMProviderTemplate(c *gin.Context)

CreateLLMProviderTemplate operation middleware

func (*ServerInterfaceWrapper) CreateLLMProxy

func (siw *ServerInterfaceWrapper) CreateLLMProxy(c *gin.Context)

CreateLLMProxy operation middleware

func (*ServerInterfaceWrapper) CreateLLMProxyAPIKey

func (siw *ServerInterfaceWrapper) CreateLLMProxyAPIKey(c *gin.Context)

CreateLLMProxyAPIKey operation middleware

func (*ServerInterfaceWrapper) CreateMCPProxy

func (siw *ServerInterfaceWrapper) CreateMCPProxy(c *gin.Context)

CreateMCPProxy operation middleware

func (*ServerInterfaceWrapper) CreateRestAPI

func (siw *ServerInterfaceWrapper) CreateRestAPI(c *gin.Context)

CreateRestAPI operation middleware

func (*ServerInterfaceWrapper) CreateSecret

func (siw *ServerInterfaceWrapper) CreateSecret(c *gin.Context)

CreateSecret operation middleware

func (*ServerInterfaceWrapper) CreateSubscription

func (siw *ServerInterfaceWrapper) CreateSubscription(c *gin.Context)

CreateSubscription operation middleware

func (*ServerInterfaceWrapper) CreateSubscriptionPlan

func (siw *ServerInterfaceWrapper) CreateSubscriptionPlan(c *gin.Context)

CreateSubscriptionPlan operation middleware

func (*ServerInterfaceWrapper) CreateWebSubAPI

func (siw *ServerInterfaceWrapper) CreateWebSubAPI(c *gin.Context)

CreateWebSubAPI operation middleware

func (*ServerInterfaceWrapper) DeleteCertificate

func (siw *ServerInterfaceWrapper) DeleteCertificate(c *gin.Context)

DeleteCertificate operation middleware

func (*ServerInterfaceWrapper) DeleteLLMProvider

func (siw *ServerInterfaceWrapper) DeleteLLMProvider(c *gin.Context)

DeleteLLMProvider operation middleware

func (*ServerInterfaceWrapper) DeleteLLMProviderTemplate

func (siw *ServerInterfaceWrapper) DeleteLLMProviderTemplate(c *gin.Context)

DeleteLLMProviderTemplate operation middleware

func (*ServerInterfaceWrapper) DeleteLLMProxy

func (siw *ServerInterfaceWrapper) DeleteLLMProxy(c *gin.Context)

DeleteLLMProxy operation middleware

func (*ServerInterfaceWrapper) DeleteMCPProxy

func (siw *ServerInterfaceWrapper) DeleteMCPProxy(c *gin.Context)

DeleteMCPProxy operation middleware

func (*ServerInterfaceWrapper) DeleteRestAPI

func (siw *ServerInterfaceWrapper) DeleteRestAPI(c *gin.Context)

DeleteRestAPI operation middleware

func (*ServerInterfaceWrapper) DeleteSecret

func (siw *ServerInterfaceWrapper) DeleteSecret(c *gin.Context)

DeleteSecret operation middleware

func (*ServerInterfaceWrapper) DeleteSubscription

func (siw *ServerInterfaceWrapper) DeleteSubscription(c *gin.Context)

DeleteSubscription operation middleware

func (*ServerInterfaceWrapper) DeleteSubscriptionPlan

func (siw *ServerInterfaceWrapper) DeleteSubscriptionPlan(c *gin.Context)

DeleteSubscriptionPlan operation middleware

func (*ServerInterfaceWrapper) DeleteWebSubAPI

func (siw *ServerInterfaceWrapper) DeleteWebSubAPI(c *gin.Context)

DeleteWebSubAPI operation middleware

func (*ServerInterfaceWrapper) GetLLMProviderById

func (siw *ServerInterfaceWrapper) GetLLMProviderById(c *gin.Context)

GetLLMProviderById operation middleware

func (*ServerInterfaceWrapper) GetLLMProviderTemplateById

func (siw *ServerInterfaceWrapper) GetLLMProviderTemplateById(c *gin.Context)

GetLLMProviderTemplateById operation middleware

func (*ServerInterfaceWrapper) GetLLMProxyById

func (siw *ServerInterfaceWrapper) GetLLMProxyById(c *gin.Context)

GetLLMProxyById operation middleware

func (*ServerInterfaceWrapper) GetMCPProxyById

func (siw *ServerInterfaceWrapper) GetMCPProxyById(c *gin.Context)

GetMCPProxyById operation middleware

func (*ServerInterfaceWrapper) GetRestAPIById

func (siw *ServerInterfaceWrapper) GetRestAPIById(c *gin.Context)

GetRestAPIById operation middleware

func (*ServerInterfaceWrapper) GetSecret

func (siw *ServerInterfaceWrapper) GetSecret(c *gin.Context)

GetSecret operation middleware

func (*ServerInterfaceWrapper) GetSubscription

func (siw *ServerInterfaceWrapper) GetSubscription(c *gin.Context)

GetSubscription operation middleware

func (*ServerInterfaceWrapper) GetSubscriptionPlan

func (siw *ServerInterfaceWrapper) GetSubscriptionPlan(c *gin.Context)

GetSubscriptionPlan operation middleware

func (*ServerInterfaceWrapper) GetWebSubAPIById

func (siw *ServerInterfaceWrapper) GetWebSubAPIById(c *gin.Context)

GetWebSubAPIById operation middleware

func (*ServerInterfaceWrapper) ListAPIKeys

func (siw *ServerInterfaceWrapper) ListAPIKeys(c *gin.Context)

ListAPIKeys operation middleware

func (*ServerInterfaceWrapper) ListCertificates

func (siw *ServerInterfaceWrapper) ListCertificates(c *gin.Context)

ListCertificates operation middleware

func (*ServerInterfaceWrapper) ListLLMProviderAPIKeys

func (siw *ServerInterfaceWrapper) ListLLMProviderAPIKeys(c *gin.Context)

ListLLMProviderAPIKeys operation middleware

func (*ServerInterfaceWrapper) ListLLMProviderTemplates

func (siw *ServerInterfaceWrapper) ListLLMProviderTemplates(c *gin.Context)

ListLLMProviderTemplates operation middleware

func (*ServerInterfaceWrapper) ListLLMProviders

func (siw *ServerInterfaceWrapper) ListLLMProviders(c *gin.Context)

ListLLMProviders operation middleware

func (*ServerInterfaceWrapper) ListLLMProxies

func (siw *ServerInterfaceWrapper) ListLLMProxies(c *gin.Context)

ListLLMProxies operation middleware

func (*ServerInterfaceWrapper) ListLLMProxyAPIKeys

func (siw *ServerInterfaceWrapper) ListLLMProxyAPIKeys(c *gin.Context)

ListLLMProxyAPIKeys operation middleware

func (*ServerInterfaceWrapper) ListMCPProxies

func (siw *ServerInterfaceWrapper) ListMCPProxies(c *gin.Context)

ListMCPProxies operation middleware

func (*ServerInterfaceWrapper) ListRestAPIs

func (siw *ServerInterfaceWrapper) ListRestAPIs(c *gin.Context)

ListRestAPIs operation middleware

func (*ServerInterfaceWrapper) ListSecrets

func (siw *ServerInterfaceWrapper) ListSecrets(c *gin.Context)

ListSecrets operation middleware

func (*ServerInterfaceWrapper) ListSubscriptionPlans

func (siw *ServerInterfaceWrapper) ListSubscriptionPlans(c *gin.Context)

ListSubscriptionPlans operation middleware

func (*ServerInterfaceWrapper) ListSubscriptions

func (siw *ServerInterfaceWrapper) ListSubscriptions(c *gin.Context)

ListSubscriptions operation middleware

func (*ServerInterfaceWrapper) ListWebSubAPIs

func (siw *ServerInterfaceWrapper) ListWebSubAPIs(c *gin.Context)

ListWebSubAPIs operation middleware

func (*ServerInterfaceWrapper) RegenerateAPIKey

func (siw *ServerInterfaceWrapper) RegenerateAPIKey(c *gin.Context)

RegenerateAPIKey operation middleware

func (*ServerInterfaceWrapper) RegenerateLLMProviderAPIKey

func (siw *ServerInterfaceWrapper) RegenerateLLMProviderAPIKey(c *gin.Context)

RegenerateLLMProviderAPIKey operation middleware

func (*ServerInterfaceWrapper) RegenerateLLMProxyAPIKey

func (siw *ServerInterfaceWrapper) RegenerateLLMProxyAPIKey(c *gin.Context)

RegenerateLLMProxyAPIKey operation middleware

func (*ServerInterfaceWrapper) ReloadCertificates

func (siw *ServerInterfaceWrapper) ReloadCertificates(c *gin.Context)

ReloadCertificates operation middleware

func (*ServerInterfaceWrapper) RevokeAPIKey

func (siw *ServerInterfaceWrapper) RevokeAPIKey(c *gin.Context)

RevokeAPIKey operation middleware

func (*ServerInterfaceWrapper) RevokeLLMProviderAPIKey

func (siw *ServerInterfaceWrapper) RevokeLLMProviderAPIKey(c *gin.Context)

RevokeLLMProviderAPIKey operation middleware

func (*ServerInterfaceWrapper) RevokeLLMProxyAPIKey

func (siw *ServerInterfaceWrapper) RevokeLLMProxyAPIKey(c *gin.Context)

RevokeLLMProxyAPIKey operation middleware

func (*ServerInterfaceWrapper) UpdateAPIKey

func (siw *ServerInterfaceWrapper) UpdateAPIKey(c *gin.Context)

UpdateAPIKey operation middleware

func (*ServerInterfaceWrapper) UpdateLLMProvider

func (siw *ServerInterfaceWrapper) UpdateLLMProvider(c *gin.Context)

UpdateLLMProvider operation middleware

func (*ServerInterfaceWrapper) UpdateLLMProviderAPIKey

func (siw *ServerInterfaceWrapper) UpdateLLMProviderAPIKey(c *gin.Context)

UpdateLLMProviderAPIKey operation middleware

func (*ServerInterfaceWrapper) UpdateLLMProviderTemplate

func (siw *ServerInterfaceWrapper) UpdateLLMProviderTemplate(c *gin.Context)

UpdateLLMProviderTemplate operation middleware

func (*ServerInterfaceWrapper) UpdateLLMProxy

func (siw *ServerInterfaceWrapper) UpdateLLMProxy(c *gin.Context)

UpdateLLMProxy operation middleware

func (*ServerInterfaceWrapper) UpdateLLMProxyAPIKey

func (siw *ServerInterfaceWrapper) UpdateLLMProxyAPIKey(c *gin.Context)

UpdateLLMProxyAPIKey operation middleware

func (*ServerInterfaceWrapper) UpdateMCPProxy

func (siw *ServerInterfaceWrapper) UpdateMCPProxy(c *gin.Context)

UpdateMCPProxy operation middleware

func (*ServerInterfaceWrapper) UpdateRestAPI

func (siw *ServerInterfaceWrapper) UpdateRestAPI(c *gin.Context)

UpdateRestAPI operation middleware

func (*ServerInterfaceWrapper) UpdateSecret

func (siw *ServerInterfaceWrapper) UpdateSecret(c *gin.Context)

UpdateSecret operation middleware

func (*ServerInterfaceWrapper) UpdateSubscription

func (siw *ServerInterfaceWrapper) UpdateSubscription(c *gin.Context)

UpdateSubscription operation middleware

func (*ServerInterfaceWrapper) UpdateSubscriptionPlan

func (siw *ServerInterfaceWrapper) UpdateSubscriptionPlan(c *gin.Context)

UpdateSubscriptionPlan operation middleware

func (*ServerInterfaceWrapper) UpdateWebSubAPI

func (siw *ServerInterfaceWrapper) UpdateWebSubAPI(c *gin.Context)

UpdateWebSubAPI operation middleware

func (*ServerInterfaceWrapper) UploadCertificate

func (siw *ServerInterfaceWrapper) UploadCertificate(c *gin.Context)

UploadCertificate operation middleware

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

UpdateLLMProviderJSONRequestBody defines body for UpdateLLMProvider for application/json ContentType.

type UpdateLLMProviderTemplateJSONRequestBody

type UpdateLLMProviderTemplateJSONRequestBody = LLMProviderTemplate

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

UpdateLLMProxyJSONRequestBody defines body for UpdateLLMProxy for application/json ContentType.

type UpdateMCPProxyJSONRequestBody

type UpdateMCPProxyJSONRequestBody = MCPProxyConfiguration

UpdateMCPProxyJSONRequestBody defines body for UpdateMCPProxy for application/json ContentType.

type UpdateRestAPIJSONRequestBody

type UpdateRestAPIJSONRequestBody = RestAPI

UpdateRestAPIJSONRequestBody defines body for UpdateRestAPI for application/json ContentType.

type UpdateSecretJSONRequestBody

type UpdateSecretJSONRequestBody = SecretConfiguration

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 UpdateWebSubAPIJSONRequestBody

type UpdateWebSubAPIJSONRequestBody = WebSubAPI

UpdateWebSubAPIJSONRequestBody defines body for UpdateWebSubAPI 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  *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"
)

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.
	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 Weight for load balancing (optional, default 100)
		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.

type WebSubAPI

type WebSubAPI struct {
	// ApiVersion API specification version
	ApiVersion WebSubAPIApiVersion `json:"apiVersion" yaml:"apiVersion"`

	// Kind API type
	Kind     WebSubAPIKind  `json:"kind" yaml:"kind"`
	Metadata Metadata       `json:"metadata" yaml:"metadata"`
	Spec     WebhookAPIData `json:"spec" yaml:"spec"`
}

WebSubAPI defines model for WebSubAPI.

type WebSubAPIApiVersion

type WebSubAPIApiVersion string

WebSubAPIApiVersion API specification version

const (
	GatewayApiPlatformWso2Comv1alpha1 WebSubAPIApiVersion = "gateway.api-platform.wso2.com/v1alpha1"
)

Defines values for WebSubAPIApiVersion.

type WebSubAPICreateResponse

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

	// Id Unique id for the created WebSubAPI
	Id      *string `json:"id,omitempty" yaml:"id,omitempty"`
	Message *string `json:"message,omitempty" yaml:"message,omitempty"`
	Status  *string `json:"status,omitempty" yaml:"status,omitempty"`
}

WebSubAPICreateResponse defines model for WebSubAPICreateResponse.

type WebSubAPIDetailResponse

type WebSubAPIDetailResponse struct {
	Api *struct {
		Configuration *WebSubAPI `json:"configuration,omitempty" yaml:"configuration,omitempty"`

		// Id Unique id for the WebSubAPI
		Id       *string `json:"id,omitempty" yaml:"id,omitempty"`
		Metadata *struct {
			CreatedAt  *time.Time                                `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`
			DeployedAt *time.Time                                `json:"deployedAt,omitempty" yaml:"deployedAt,omitempty"`
			Status     *WebSubAPIDetailResponseApiMetadataStatus `json:"status,omitempty" yaml:"status,omitempty"`
			UpdatedAt  *time.Time                                `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
		} `json:"metadata,omitempty" yaml:"metadata,omitempty"`
	} `json:"api,omitempty" yaml:"api,omitempty"`
	Status *string `json:"status,omitempty" yaml:"status,omitempty"`
}

WebSubAPIDetailResponse defines model for WebSubAPIDetailResponse.

type WebSubAPIDetailResponseApiMetadataStatus

type WebSubAPIDetailResponseApiMetadataStatus string

WebSubAPIDetailResponseApiMetadataStatus defines model for WebSubAPIDetailResponse.Api.Metadata.Status.

const (
	WebSubAPIDetailResponseApiMetadataStatusDeployed   WebSubAPIDetailResponseApiMetadataStatus = "deployed"
	WebSubAPIDetailResponseApiMetadataStatusUndeployed WebSubAPIDetailResponseApiMetadataStatus = "undeployed"
)

Defines values for WebSubAPIDetailResponseApiMetadataStatus.

type WebSubAPIKind

type WebSubAPIKind string

WebSubAPIKind API type

const (
	WebSubApi WebSubAPIKind = "WebSubApi"
)

Defines values for WebSubAPIKind.

type WebSubAPIListItem

type WebSubAPIListItem struct {
	Context     *string                  `json:"context,omitempty" yaml:"context,omitempty"`
	CreatedAt   *time.Time               `json:"createdAt,omitempty" yaml:"createdAt,omitempty"`
	DisplayName *string                  `json:"displayName,omitempty" yaml:"displayName,omitempty"`
	Id          *string                  `json:"id,omitempty" yaml:"id,omitempty"`
	Status      *WebSubAPIListItemStatus `json:"status,omitempty" yaml:"status,omitempty"`
	UpdatedAt   *time.Time               `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
	Version     *string                  `json:"version,omitempty" yaml:"version,omitempty"`
}

WebSubAPIListItem defines model for WebSubAPIListItem.

type WebSubAPIListItemStatus

type WebSubAPIListItemStatus string

WebSubAPIListItemStatus defines model for WebSubAPIListItem.Status.

const (
	WebSubAPIListItemStatusDeployed   WebSubAPIListItemStatus = "deployed"
	WebSubAPIListItemStatusUndeployed WebSubAPIListItemStatus = "undeployed"
)

Defines values for WebSubAPIListItemStatus.

type WebSubAPIUpdateResponse

type WebSubAPIUpdateResponse struct {
	Id        *string    `json:"id,omitempty" yaml:"id,omitempty"`
	Message   *string    `json:"message,omitempty" yaml:"message,omitempty"`
	Status    *string    `json:"status,omitempty" yaml:"status,omitempty"`
	UpdatedAt *time.Time `json:"updatedAt,omitempty" yaml:"updatedAt,omitempty"`
}

WebSubAPIUpdateResponse defines model for WebSubAPIUpdateResponse.

type WebhookAPIData

type WebhookAPIData struct {
	// Channels List of channels - Async operations(SUB) for WebSub APIs
	Channels []Channel `json:"channels" yaml:"channels"`

	// Context Base path for all API routes (must start with /, no trailing slash)
	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 *WebhookAPIDataDeploymentState `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"`

	// Policies List of API-level policies applied to all operations unless overridden
	Policies *[]Policy `json:"policies,omitempty" yaml:"policies,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/domain for production traffic
		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"`
}

WebhookAPIData defines model for WebhookAPIData.

type WebhookAPIDataDeploymentState

type WebhookAPIDataDeploymentState string

WebhookAPIDataDeploymentState 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 (
	WebhookAPIDataDeploymentStateDeployed   WebhookAPIDataDeploymentState = "deployed"
	WebhookAPIDataDeploymentStateUndeployed WebhookAPIDataDeploymentState = "undeployed"
)

Defines values for WebhookAPIDataDeploymentState.

Jump to

Keyboard shortcuts

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