modelserving

package
v0.0.1-dev.1 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Ai21LabsConfig

type Ai21LabsConfig struct {
	// The <Databricks> secret key reference for an AI21 Labs API key. If you prefer
	// to paste your API key directly, see `ai21labs_api_key_plaintext`. You must
	// provide an API key using one of the following fields: `ai21labs_api_key` or
	// `ai21labs_api_key_plaintext`.
	Ai21labsApiKey *string
	// An AI21 Labs API key provided as a plaintext string. If you prefer to
	// reference your key using Databricks Secrets, see `ai21labs_api_key`. You must
	// provide an API key using one of the following fields: `ai21labs_api_key` or
	// `ai21labs_api_key_plaintext`.
	Ai21labsApiKeyPlaintext *string
}

type AiGatewayConfig

type AiGatewayConfig struct {
	// Configuration to enable usage tracking using system tables. These tables
	// allow you to monitor operational usage on endpoints and their associated
	// costs.
	UsageTrackingConfig *UsageTrackingConfig
	// Configuration for payload logging using inference tables. Use these tables to
	// monitor and audit data being sent to and received from model APIs and to
	// improve model quality.
	InferenceTableConfig *InferenceTableConfig
	// Configuration for rate limits which can be set to limit endpoint traffic.
	RateLimits []AiGatewayRateLimit
	// Configuration for AI Guardrails to prevent unwanted data and unsafe data in
	// requests and responses.
	Guardrails *AiGuardrails
	// Configuration for traffic fallback which auto fallbacks to other served
	// entities if the request to a served entity fails with certain error codes, to
	// increase availability.
	FallbackConfig *FallbackConfig
}

type AiGatewayRateLimit

type AiGatewayRateLimit struct {
	// Used to specify how many calls are allowed for a key within the
	// renewal_period.
	Calls *int64
	// Key field for a rate limit. Currently, 'user', 'user_group,
	// 'service_principal', and 'endpoint' are supported, with 'endpoint' being the
	// default if not specified.
	Key *string
	// Renewal period field for a rate limit. Currently, only 'minute' is supported.
	RenewalPeriod *string
	// Principal field for a user, user group, or service principal to apply rate
	// limiting to. Accepts a user email, group name, or service principal
	// application ID.
	Principal *string
	// Used to specify how many tokens are allowed for a key within the
	// renewal_period.
	Tokens *int64
}

type AiGuardrailParameters

type AiGuardrailParameters struct {
	// Indicates whether the safety filter is enabled.
	Safety *bool
	// Configuration for guardrail PII filter.
	Pii *PiiSettings
	// The list of allowed topics. Given a chat request, this guardrail flags the
	// request if its topic is not in the allowed topics.
	ValidTopics []string
	// List of invalid keywords. AI guardrail uses keyword or string matching to
	// decide if the keyword exists in the request or response content.
	InvalidKeywords []string
}

type AiGuardrails

type AiGuardrails struct {
	// Configuration for input guardrail filters.
	Input *AiGuardrailParameters
	// Configuration for output guardrail filters.
	Output *AiGuardrailParameters
}

type AmazonBedrockConfig

type AmazonBedrockConfig struct {
	// The AWS region to use. Bedrock has to be enabled there.
	AwsRegion *string
	// The <Databricks> secret key reference for an AWS access key ID with
	// permissions to interact with Bedrock services. If you prefer to paste your
	// API key directly, see `aws_access_key_id_plaintext`. You must provide an API
	// key using one of the following fields: `aws_access_key_id` or
	// `aws_access_key_id_plaintext`.
	AwsAccessKeyId *string
	// The <Databricks> secret key reference for an AWS secret access key paired
	// with the access key ID, with permissions to interact with Bedrock services.
	// If you prefer to paste your API key directly, see
	// `aws_secret_access_key_plaintext`. You must provide an API key using one of
	// the following fields: `aws_secret_access_key` or
	// `aws_secret_access_key_plaintext`.
	AwsSecretAccessKey *string
	// The underlying provider in Amazon Bedrock. Supported values (case
	// insensitive) include: Anthropic, Cohere, AI21Labs, Amazon.
	BedrockProvider *string
	// An AWS access key ID with permissions to interact with Bedrock services
	// provided as a plaintext string. If you prefer to reference your key using
	// Databricks Secrets, see `aws_access_key_id`. You must provide an API key
	// using one of the following fields: `aws_access_key_id` or
	// `aws_access_key_id_plaintext`.
	AwsAccessKeyIdPlaintext *string
	// An AWS secret access key paired with the access key ID, with permissions to
	// interact with Bedrock services provided as a plaintext string. If you prefer
	// to reference your key using Databricks Secrets, see `aws_secret_access_key`.
	// You must provide an API key using one of the following fields:
	// `aws_secret_access_key` or `aws_secret_access_key_plaintext`.
	AwsSecretAccessKeyPlaintext *string
	// ARN of the instance profile that the external model will use to access AWS
	// resources. You must authenticate using an instance profile or access keys. If
	// you prefer to authenticate using access keys, see `aws_access_key_id`,
	// `aws_access_key_id_plaintext`, `aws_secret_access_key` and
	// `aws_secret_access_key_plaintext`.
	InstanceProfileArn *string
}

type AnthropicConfig

type AnthropicConfig struct {
	// The <Databricks> secret key reference for an Anthropic API key. If you prefer
	// to paste your API key directly, see `anthropic_api_key_plaintext`. You must
	// provide an API key using one of the following fields: `anthropic_api_key` or
	// `anthropic_api_key_plaintext`.
	AnthropicApiKey *string
	// The Anthropic API key provided as a plaintext string. If you prefer to
	// reference your key using Databricks Secrets, see `anthropic_api_key`. You
	// must provide an API key using one of the following fields:
	// `anthropic_api_key` or `anthropic_api_key_plaintext`.
	AnthropicApiKeyPlaintext *string
}

type ApiKeyAuth

type ApiKeyAuth struct {
	// The name of the API key parameter used for authentication.
	Key *string
	// The <Databricks> secret key reference for an API Key. If you prefer to paste
	// your token directly, see `value_plaintext`.
	Value *string
	// The API Key provided as a plaintext string. If you prefer to reference your
	// token using Databricks Secrets, see `value`.
	ValuePlaintext *string
}

type AutoCaptureConfig deprecated

type AutoCaptureConfig struct {
	// The name of the catalog in Unity Catalog. NOTE: On update, you cannot change
	// the catalog name if the inference table is already enabled.
	CatalogName *string
	// The name of the schema in Unity Catalog. NOTE: On update, you cannot change
	// the schema name if the inference table is already enabled.
	SchemaName *string
	// The prefix of the table in Unity Catalog. NOTE: On update, you cannot change
	// the prefix name if the inference table is already enabled.
	TableNamePrefix *string
	State           *AutoCaptureState
	// Indicates whether the inference table is enabled.
	Enabled *bool
}

Deprecated: legacy inference table configuration. Please use AI Gateway inference tables instead. See https://docs.databricks.com/aws/en/ai-gateway/inference-tables..

type AutoCaptureState

type AutoCaptureState struct {
	PayloadTable *PayloadTable
}

type BearerTokenAuth

type BearerTokenAuth struct {
	// The <Databricks> secret key reference for a token. If you prefer to paste
	// your token directly, see `token_plaintext`.
	Token *string
	// The token provided as a plaintext string. If you prefer to reference your
	// token using Databricks Secrets, see `token`.
	TokenPlaintext *string
}

type Behavior

type Behavior string
const (
	Behavior_Unspecified Behavior = ""
	Behavior_None        Behavior = "NONE"
	Behavior_Block       Behavior = "BLOCK"
	Behavior_Mask        Behavior = "MASK"
)

type Client

type Client struct {
	// contains filtered or unexported fields
}

func NewClient

func NewClient(ctx context.Context, opts ...client.Option) (*Client, error)

func (*Client) CreateInferenceEndpoint

func (c *Client) CreateInferenceEndpoint(ctx context.Context, req *CreateInferenceEndpointRequest, opts ...call.Option) (*CreateInferenceEndpointWaiter, error)

Create a new serving endpoint.

func (*Client) CreateProvisionedThroughputInferenceEndpoint

func (c *Client) CreateProvisionedThroughputInferenceEndpoint(ctx context.Context, req *CreatePtEndpointRequest, opts ...call.Option) (*CreateProvisionedThroughputInferenceEndpointWaiter, error)

Create a new PT serving endpoint.

func (*Client) DeleteInferenceEndpoint

func (c *Client) DeleteInferenceEndpoint(ctx context.Context, req *DeleteInferenceEndpointRequest, opts ...call.Option) (*DeleteInferenceEndpointResponse, error)

Delete a serving endpoint.

func (*Client) GetExportEndpointMetrics

func (c *Client) GetExportEndpointMetrics(ctx context.Context, req *GetExportEndpointMetricsRequest, opts ...call.Option) (*ExportMetricsResponse, error)

Retrieves the metrics associated with the provided serving endpoint in either Prometheus or OpenMetrics exposition format.

func (*Client) GetInferenceEndpoint

func (c *Client) GetInferenceEndpoint(ctx context.Context, req *GetInferenceEndpointRequest, opts ...call.Option) (*InferenceEndpointDetailed, error)

Retrieves the details for a single serving endpoint.

func (*Client) GetInferenceEndpointSchema

func (c *Client) GetInferenceEndpointSchema(ctx context.Context, req *GetInferenceEndpointSchemaRequest, opts ...call.Option) (*GetOpenApiResponse, error)

Get the query schema of the serving endpoint in OpenAPI format. The schema contains information for the supported paths, input and output format and datatypes.

func (*Client) GetServedModelBuildLogs

func (c *Client) GetServedModelBuildLogs(ctx context.Context, req *GetServedModelBuildLogsRequest, opts ...call.Option) (*GetServedModelBuildLogsResponse, error)

Retrieves the build logs associated with the provided served model.

func (*Client) GetServedModelLogs

func (c *Client) GetServedModelLogs(ctx context.Context, req *GetServedModelLogsRequest, opts ...call.Option) (*GetServedModelLogsResponse, error)

Retrieves the service logs associated with the provided served model.

func (*Client) HttpRequest

func (c *Client) HttpRequest(ctx context.Context, req *ExternalFunctionRequest, opts ...call.Option) (*ExternalFunctionResponse, error)

Make external services call using the credentials stored in UC Connection.

func (*Client) ListInferenceEndpoints

func (c *Client) ListInferenceEndpoints(ctx context.Context, req *ListInferenceEndpointsRequest, opts ...call.Option) (*ListInferenceEndpointsResponse, error)

Get all serving endpoints.

func (*Client) PatchInferenceEndpointTags

func (c *Client) PatchInferenceEndpointTags(ctx context.Context, req *PatchInferenceEndpointTagsRequest, opts ...call.Option) (*PatchInferenceEndpointTagsResponse, error)

Used to batch add and delete tags from a serving endpoint with a single API call.

func (*Client) PatchInferenceEndpointTelemetryConfig

func (c *Client) PatchInferenceEndpointTelemetryConfig(ctx context.Context, req *PatchInferenceEndpointTelemetryConfigRequest, opts ...call.Option) (*InferenceEndpointDetailed, error)

Updates the telemetry configuration of a serving endpoint.

func (*Client) PutInferenceEndpointAiGateway

func (c *Client) PutInferenceEndpointAiGateway(ctx context.Context, req *PutInferenceEndpointAiGatewayRequest, opts ...call.Option) (*PutInferenceEndpointAiGatewayResponse, error)

Used to update the AI Gateway of a serving endpoint. NOTE: External model, provisioned throughput, and pay-per-token endpoints are fully supported; agent endpoints currently only support inference tables.

func (*Client) PutInferenceEndpointConfig

func (c *Client) PutInferenceEndpointConfig(ctx context.Context, req *PutInferenceEndpointConfigRequest, opts ...call.Option) (*PutInferenceEndpointConfigWaiter, error)

Updates any combination of the serving endpoint's served entities, the compute configuration of those served entities, and the endpoint's traffic config. An endpoint that already has an update in progress can not be updated until the current update completes or fails.

func (*Client) PutInferenceEndpointRateLimits deprecated

func (c *Client) PutInferenceEndpointRateLimits(ctx context.Context, req *PutInferenceEndpointRateLimitsRequest, opts ...call.Option) (*PutInferenceEndpointRateLimitsResponse, error)

Deprecated: Please use AI Gateway to manage rate limits instead.

func (*Client) PutProvisionedThroughputInferenceEndpointConfig

func (c *Client) PutProvisionedThroughputInferenceEndpointConfig(ctx context.Context, req *PutPtEndpointConfigRequest, opts ...call.Option) (*PutProvisionedThroughputInferenceEndpointConfigWaiter, error)

Updates any combination of the pt endpoint's served entities, the compute configuration of those served entities, and the endpoint's traffic config. Updates are instantaneous and endpoint should be updated instantly

func (*Client) UpdateInferenceEndpointNotifications

func (c *Client) UpdateInferenceEndpointNotifications(ctx context.Context, req *UpdateInferenceEndpointNotificationsRequest, opts ...call.Option) (*UpdateInferenceEndpointNotificationsResponse, error)

Updates the email and webhook notification settings for an endpoint.

type CohereConfig

type CohereConfig struct {
	// The <Databricks> secret key reference for a Cohere API key. If you prefer to
	// paste your API key directly, see `cohere_api_key_plaintext`. You must provide
	// an API key using one of the following fields: `cohere_api_key` or
	// `cohere_api_key_plaintext`.
	CohereApiKey *string
	// The Cohere API key provided as a plaintext string. If you prefer to reference
	// your key using Databricks Secrets, see `cohere_api_key`. You must provide an
	// API key using one of the following fields: `cohere_api_key` or
	// `cohere_api_key_plaintext`.
	CohereApiKeyPlaintext *string
	// This is an optional field to provide a customized base URL for the Cohere
	// API. If left unspecified, the standard Cohere base URL is used.
	CohereApiBase *string
}

type CreateInferenceEndpointRequest

type CreateInferenceEndpointRequest struct {
	// The name of the serving endpoint. This field is required and must be unique
	// across a <Workspace>. An endpoint name can consist of alphanumeric
	// characters, dashes, and underscores.
	Name *string
	// The core config of the serving endpoint.
	Config *EndpointCoreConfig
	// Tags to be attached to the serving endpoint and automatically propagated to
	// billing logs.
	Tags []EndpointTag
	// Enable route optimization for the serving endpoint.
	RouteOptimized *bool
	// Rate limits to be applied to the serving endpoint. NOTE: this field is
	// deprecated, please use AI Gateway to manage rate limits.
	RateLimits []RateLimit
	// The AI Gateway configuration for the serving endpoint. NOTE: External model,
	// provisioned throughput, and pay-per-token endpoints are fully supported;
	// agent endpoints currently only support inference tables.
	AiGateway *AiGatewayConfig
	// The budget policy to be applied to the serving endpoint.
	BudgetPolicyId *string
	// Email notification settings.
	EmailNotifications *EmailNotifications
	Description        *string
	// Configuration for persisting endpoint telemetry (logs, traces, and metrics)
	// to Unity Catalog tables.
	TelemetryConfig *TelemetryConfig
}

type CreateInferenceEndpointWaiter

type CreateInferenceEndpointWaiter struct {
	// contains filtered or unexported fields
}

CreateInferenceEndpointWaiter tracks the state of the operation started by CreateInferenceEndpoint.

func (*CreateInferenceEndpointWaiter) Done

Done polls once and reports whether the operation has reached a terminal state.

func (*CreateInferenceEndpointWaiter) Wait

Wait polls until the operation reaches a terminal state.

type CreateProvisionedThroughputInferenceEndpointWaiter

type CreateProvisionedThroughputInferenceEndpointWaiter struct {
	// contains filtered or unexported fields
}

CreateProvisionedThroughputInferenceEndpointWaiter tracks the state of the operation started by CreateProvisionedThroughputInferenceEndpoint.

func (*CreateProvisionedThroughputInferenceEndpointWaiter) Done

Done polls once and reports whether the operation has reached a terminal state.

func (*CreateProvisionedThroughputInferenceEndpointWaiter) Wait

Wait polls until the operation reaches a terminal state.

type CreatePtEndpointRequest

type CreatePtEndpointRequest struct {
	// The name of the serving endpoint. This field is required and must be unique
	// across a <Workspace>. An endpoint name can consist of alphanumeric
	// characters, dashes, and underscores.
	Name *string
	// The core config of the serving endpoint.
	Config *PtEndpointCoreConfig
	// Tags to be attached to the serving endpoint and automatically propagated to
	// billing logs.
	Tags []EndpointTag
	// The AI Gateway configuration for the serving endpoint.
	AiGateway *AiGatewayConfig
	// The budget policy associated with the endpoint.
	BudgetPolicyId *string
	// Email notification settings.
	EmailNotifications *EmailNotifications
}

type CustomProviderConfig

type CustomProviderConfig struct {
	// This is a field to provide the URL of the custom provider API.
	CustomProviderUrl *string
	// This is a field to provide bearer token authentication for the custom
	// provider API. You can only specify one authentication method.
	BearerTokenAuth *BearerTokenAuth
	// This is a field to provide API key authentication for the custom provider
	// API. You can only specify one authentication method.
	ApiKeyAuth *ApiKeyAuth
}

Configs needed to create a custom provider model route..

type DataPlaneInfo

type DataPlaneInfo struct {
	// The URL of the endpoint for this operation in the dataplane.
	EndpointUrl *string
	// Authorization details as a string.
	AuthorizationDetails *string
}

Details necessary to query this object's API through the DataPlane APIs..

type DatabricksModelServingConfig

type DatabricksModelServingConfig struct {
	// The <Databricks> secret key reference for a Databricks API token that
	// corresponds to a user or service principal with Can Query access to the model
	// serving endpoint pointed to by this external model. If you prefer to paste
	// your API key directly, see `databricks_api_token_plaintext`. You must provide
	// an API key using one of the following fields: `databricks_api_token` or
	// `databricks_api_token_plaintext`.
	DatabricksApiToken *string
	// The URL of the <Databricks> workspace containing the model serving endpoint
	// pointed to by this external model.
	DatabricksWorkspaceUrl *string
	// The Databricks API token that corresponds to a user or service principal with
	// Can Query access to the model serving endpoint pointed to by this external
	// model provided as a plaintext string. If you prefer to reference your key
	// using Databricks Secrets, see `databricks_api_token`. You must provide an API
	// key using one of the following fields: `databricks_api_token` or
	// `databricks_api_token_plaintext`.
	DatabricksApiTokenPlaintext *string
}

type DeleteInferenceEndpointRequest

type DeleteInferenceEndpointRequest struct {
	Name *string
}

type DeleteInferenceEndpointResponse

type DeleteInferenceEndpointResponse struct {
}

type EmailNotifications

type EmailNotifications struct {
	// A list of email addresses to be notified when an endpoint successfully
	// updates its configuration or state.
	OnUpdateSuccess []string
	// A list of email addresses to be notified when an endpoint fails to update its
	// configuration or state.
	OnUpdateFailure []string
}

type EndpointCoreConfig

type EndpointCoreConfig struct {
	// The list of served entities under the serving endpoint config.
	ServedEntities []ServedModel
	// (Deprecated, use served_entities instead) The list of served models under the
	// serving endpoint config.
	ServedModels []ServedModel
	// The traffic configuration associated with the serving endpoint config.
	TrafficConfig *TrafficConfig
	// Configuration for legacy Inference Tables which automatically log requests
	// and responses to Unity Catalog. Deprecated: please use AI Gateway inference
	// tables instead. See
	// https://docs.databricks.com/aws/en/ai-gateway/inference-tables.
	AutoCaptureConfig *AutoCaptureConfig
}

type EndpointCoreConfigOutput

type EndpointCoreConfigOutput struct {
	// The config version that the serving endpoint is currently serving.
	ConfigVersion *int64
	// The list of served entities under the serving endpoint config.
	ServedEntities []ServedModel
	// (Deprecated, use served_entities instead) The list of served models under the
	// serving endpoint config.
	ServedModels []ServedModel
	// The traffic configuration associated with the serving endpoint config.
	TrafficConfig *TrafficConfig
	// Configuration for legacy Inference Tables which automatically log requests
	// and responses to Unity Catalog. Deprecated: please use AI Gateway inference
	// tables instead. See
	// https://docs.databricks.com/aws/en/ai-gateway/inference-tables.
	AutoCaptureConfig *AutoCaptureConfig
}

type EndpointCoreConfigSummary

type EndpointCoreConfigSummary struct {
	// The list of served entities under the serving endpoint config.
	ServedEntities []ServedModelLite
	// (Deprecated, use served_entities instead) The list of served models under the
	// serving endpoint config.
	ServedModels []ServedModelLite
}

type EndpointTag

type EndpointTag struct {
	// Key field for a serving endpoint tag.
	Key *string
	// Optional value field for a serving endpoint tag.
	Value *string
}

type ExportMetricsResponse

type ExportMetricsResponse struct {
	Contents io.ReadCloser
}

* Proto version of com.databricks.rpc.HttpOverRpcResponse.

This message can be specially handled in UnaryRpcService with JettyRPC when the advanced feature CustomHandlingForHttpOverRpcProtoResponse is enabled - bypass the RPC serializer and populate HTTP status, response headers and response body from the proto message directly.

Don't add/modify the fields before being aware of the implications..

type ExternalFunctionRequest

type ExternalFunctionRequest struct {
	// The connection name to use. This is required to identify the external
	// connection.
	ConnectionName *string
	// The HTTP method to use (e.g., 'GET', 'POST').
	Method ExternalFunctionRequest_HttpMethod
	// The relative path for the API endpoint. This is required.
	Path *string
	// The JSON payload to send in the request body.
	Json *string
	// Additional headers for the request. If not provided, only auth headers from
	// connections would be passed.
	Headers *string
	// Query parameters for the request.
	Params *string
	// Optional subdomain to prepend to the connection URL's host. If provided, this
	// will be added as a prefix to the connection URL's host. For example, if the
	// connection URL is `https://api.example.com/v1` and `sub_domain` is
	// `"custom"`, the resulting URL will be `https://custom.api.example.com/v1`.
	SubDomain *string
}

Simple Proto message for testing.

type ExternalFunctionRequest_HttpMethod

type ExternalFunctionRequest_HttpMethod string
const (
	ExternalFunctionRequest_HttpMethod_Unspecified ExternalFunctionRequest_HttpMethod = ""
	ExternalFunctionRequest_HttpMethod_Get         ExternalFunctionRequest_HttpMethod = "GET"
	ExternalFunctionRequest_HttpMethod_Post        ExternalFunctionRequest_HttpMethod = "POST"
	ExternalFunctionRequest_HttpMethod_Put         ExternalFunctionRequest_HttpMethod = "PUT"
	ExternalFunctionRequest_HttpMethod_Delete      ExternalFunctionRequest_HttpMethod = "DELETE"
	ExternalFunctionRequest_HttpMethod_Patch       ExternalFunctionRequest_HttpMethod = "PATCH"
)

type ExternalFunctionResponse

type ExternalFunctionResponse struct {
	Contents io.ReadCloser
}

type ExternalModel

type ExternalModel struct {
	// The name of the provider for the external model. Currently, the supported
	// providers are 'ai21labs', 'anthropic', 'amazon-bedrock', 'cohere',
	// 'databricks-model-serving', 'google-cloud-vertex-ai', 'openai', 'palm', and
	// 'custom'.
	Provider *string
	// The name of the external model.
	Name *string
	// The task type of the external model.
	Task *string
	// external model config. The config corresponding to the provider will be used.
	Config isExternalModel_Config
}

type ExternalModel_Config_Ai21labsConfig

type ExternalModel_Config_Ai21labsConfig struct {
	Ai21labsConfig Ai21LabsConfig
}

ExternalModel_Config_Ai21labsConfig selects Ai21labsConfig for ExternalModel.Config. AI21Labs Config. Only required if the provider is 'ai21labs'.

type ExternalModel_Config_AmazonBedrockConfig

type ExternalModel_Config_AmazonBedrockConfig struct {
	AmazonBedrockConfig AmazonBedrockConfig
}

ExternalModel_Config_AmazonBedrockConfig selects AmazonBedrockConfig for ExternalModel.Config. Amazon Bedrock Config. Only required if the provider is 'amazon-bedrock'.

type ExternalModel_Config_AnthropicConfig

type ExternalModel_Config_AnthropicConfig struct {
	AnthropicConfig AnthropicConfig
}

ExternalModel_Config_AnthropicConfig selects AnthropicConfig for ExternalModel.Config. Anthropic Config. Only required if the provider is 'anthropic'.

type ExternalModel_Config_CohereConfig

type ExternalModel_Config_CohereConfig struct {
	CohereConfig CohereConfig
}

ExternalModel_Config_CohereConfig selects CohereConfig for ExternalModel.Config. Cohere Config. Only required if the provider is 'cohere'.

type ExternalModel_Config_CustomProviderConfig

type ExternalModel_Config_CustomProviderConfig struct {
	CustomProviderConfig CustomProviderConfig
}

ExternalModel_Config_CustomProviderConfig selects CustomProviderConfig for ExternalModel.Config. Custom Provider Config. Only required if the provider is 'custom'.

type ExternalModel_Config_DatabricksModelServingConfig

type ExternalModel_Config_DatabricksModelServingConfig struct {
	DatabricksModelServingConfig DatabricksModelServingConfig
}

ExternalModel_Config_DatabricksModelServingConfig selects DatabricksModelServingConfig for ExternalModel.Config. Databricks Model Serving Config. Only required if the provider is 'databricks-model-serving'.

type ExternalModel_Config_GoogleCloudVertexAiConfig

type ExternalModel_Config_GoogleCloudVertexAiConfig struct {
	GoogleCloudVertexAiConfig GoogleCloudVertexAiConfig
}

ExternalModel_Config_GoogleCloudVertexAiConfig selects GoogleCloudVertexAiConfig for ExternalModel.Config. Google Cloud Vertex AI Config. Only required if the provider is 'google-cloud-vertex-ai'.

type ExternalModel_Config_OpenaiConfig

type ExternalModel_Config_OpenaiConfig struct {
	OpenaiConfig OpenAiConfig
}

ExternalModel_Config_OpenaiConfig selects OpenaiConfig for ExternalModel.Config. OpenAI Config. Only required if the provider is 'openai'.

type ExternalModel_Config_PalmConfig

type ExternalModel_Config_PalmConfig struct {
	PalmConfig PaLmConfig
}

ExternalModel_Config_PalmConfig selects PalmConfig for ExternalModel.Config. PaLM Config. Only required if the provider is 'palm'.

type FallbackConfig

type FallbackConfig struct {
	// Whether to enable traffic fallback. When a served entity in the serving
	// endpoint returns specific error codes (e.g. 500), the request will
	// automatically be round-robin attempted with other served entities in the same
	// endpoint, following the order of served entity list, until a successful
	// response is returned. If all attempts fail, return the last response with the
	// error code.
	Enabled *bool
}

type FoundationModel

type FoundationModel struct {
	Name        *string
	DisplayName *string
	Docs        *string
	Description *string
}

All fields are not sensitive as they are hard-coded in the system and made available to customers..

type GetExportEndpointMetricsRequest

type GetExportEndpointMetricsRequest struct {
	// The name of the serving endpoint to retrieve metrics for. This field is
	// required.
	Name *string
}

type GetInferenceEndpointRequest

type GetInferenceEndpointRequest struct {
	// The name of the serving endpoint. This field is required.
	Name *string
}

type GetInferenceEndpointSchemaRequest

type GetInferenceEndpointSchemaRequest struct {
	// The name of the serving endpoint that the served model belongs to. This field
	// is required.
	Name *string
}

type GetOpenApiResponse

type GetOpenApiResponse struct {
	Contents io.ReadCloser
}

The top level proto message that represents an OpenAPI 3.0 document..

type GetServedModelBuildLogsRequest

type GetServedModelBuildLogsRequest struct {
	// The name of the serving endpoint that the served model belongs to. This field
	// is required.
	Name *string
	// The name of the served model that build logs will be retrieved for. This
	// field is required.
	ServedModelName *string
}

type GetServedModelBuildLogsResponse

type GetServedModelBuildLogsResponse struct {
	// The logs associated with building the served entity's environment.
	Logs *string
}

type GetServedModelLogsRequest

type GetServedModelLogsRequest struct {
	// The name of the serving endpoint that the served model belongs to. This field
	// is required.
	Name *string
	// The name of the served model that logs will be retrieved for. This field is
	// required.
	ServedModelName *string
}

type GetServedModelLogsResponse

type GetServedModelLogsResponse struct {
	// The most recent log lines of the model server processing invocation requests.
	Logs *string
}

type GoogleCloudVertexAiConfig

type GoogleCloudVertexAiConfig struct {
	// The <Databricks> secret key reference for a private key for the service
	// account which has access to the Google Cloud Vertex AI Service. See [Best
	// practices for managing service account keys]. If you prefer to paste your API
	// key directly, see `private_key_plaintext`. You must provide an API key using
	// one of the following fields: `private_key` or `private_key_plaintext`
	//
	// [Best practices for managing service account keys]:
	// https://cloud.google.com/iam/docs/best-practices-for-managing-service-account-keys
	PrivateKey *string
	// This is the Google Cloud project id that the service account is associated
	// with.
	ProjectId *string
	// This is the region for the Google Cloud Vertex AI Service. See [supported
	// regions] for more details. Some models are only available in specific
	// regions.
	//
	// [supported regions]:
	// https://cloud.google.com/vertex-ai/docs/general/locations
	Region *string
	// The private key for the service account which has access to the Google Cloud
	// Vertex AI Service provided as a plaintext secret. See [Best practices for
	// managing service account keys]. If you prefer to reference your key using
	// Databricks Secrets, see `private_key`. You must provide an API key using one
	// of the following fields: `private_key` or `private_key_plaintext`.
	//
	// [Best practices for managing service account keys]:
	// https://cloud.google.com/iam/docs/best-practices-for-managing-service-account-keys
	PrivateKeyPlaintext *string
}

type InferenceEndpoint

type InferenceEndpoint struct {
	// The name of the serving endpoint.
	Name *string
	// The email of the user who created the serving endpoint.
	Creator *string
	// The timestamp when the endpoint was created in Unix time.
	CreationTimestamp *int64
	// The timestamp when the endpoint was last updated by a user in Unix time.
	LastUpdatedTimestamp *int64
	// Information corresponding to the state of the serving endpoint.
	State *InferenceEndpointState
	// The config that is currently being served by the endpoint.
	Config *EndpointCoreConfigSummary
	// Tags attached to the serving endpoint.
	Tags []EndpointTag
	// System-generated ID of the endpoint, included to be used by the Permissions
	// API.
	Id *string
	// The task type of the serving endpoint.
	Task *string
	// The AI Gateway configuration for the serving endpoint. NOTE: External model,
	// provisioned throughput, and pay-per-token endpoints are fully supported;
	// agent endpoints currently only support inference tables.
	AiGateway *AiGatewayConfig
	// The budget policy associated with the endpoint.
	BudgetPolicyId *string
	// Description of the endpoint
	Description *string
	// The usage policy associated with serving endpoint.
	UsagePolicyId *string
	// Telemetry configuration for the endpoint, including inference-table payload
	// logging.
	TelemetryConfig *TelemetryConfig
}

type InferenceEndpointDetailed

type InferenceEndpointDetailed struct {
	// The name of the serving endpoint.
	Name *string
	// The email of the user who created the serving endpoint.
	Creator *string
	// The timestamp when the endpoint was created in Unix time.
	CreationTimestamp *int64
	// The timestamp when the endpoint was last updated by a user in Unix time.
	LastUpdatedTimestamp *int64
	// Information corresponding to the state of the serving endpoint.
	State *InferenceEndpointState
	// The config that is currently being served by the endpoint.
	Config *EndpointCoreConfigOutput
	// The config that the endpoint is attempting to update to.
	PendingConfig *PendingConfig
	// System-generated ID of the endpoint. This is used to refer to the endpoint in
	// the Permissions API
	Id *string
	// The permission level of the principal making the request.
	PermissionLevel ServingEndpointDetailedPermissionLevel
	// Tags attached to the serving endpoint.
	Tags []EndpointTag
	// The task type of the serving endpoint.
	Task *string
	// Boolean representing if route optimization has been enabled for the endpoint
	RouteOptimized *bool
	// Endpoint invocation url if route optimization is enabled for endpoint
	EndpointUrl *string
	// Information required to query DataPlane APIs.
	DataPlaneInfo *ModelDataPlaneInfo
	// The AI Gateway configuration for the serving endpoint. NOTE: External model,
	// provisioned throughput, and pay-per-token endpoints are fully supported;
	// agent endpoints currently only support inference tables.
	AiGateway *AiGatewayConfig
	// The budget policy associated with the endpoint.
	BudgetPolicyId *string
	// Email notification settings.
	EmailNotifications *EmailNotifications
	// Description of the serving model
	Description *string
	// Telemetry configuration for the endpoint, including inference-table payload
	// logging.
	TelemetryConfig *TelemetryConfig
}

type InferenceEndpointState

type InferenceEndpointState struct {
	// The state of an endpoint, indicating whether or not the endpoint is
	// queryable. An endpoint is READY if all of the served entities in its active
	// configuration are ready. If any of the actively served entities are in a
	// non-ready state, the endpoint state will be NOT_READY.
	Ready InferenceEndpointState_ReadyState
	// The state of an endpoint's config update. This informs the user if the
	// pending_config is in progress, if the update failed, or if there is no update
	// in progress. Note that if the endpoint's config_update state value is
	// IN_PROGRESS, another update can not be made until the update completes or
	// fails.
	ConfigUpdate InferenceEndpointState_ConfigUpdateState
}

type InferenceEndpointState_ConfigUpdateState

type InferenceEndpointState_ConfigUpdateState string
const (
	InferenceEndpointState_ConfigUpdateState_Unspecified    InferenceEndpointState_ConfigUpdateState = ""
	InferenceEndpointState_ConfigUpdateState_NotUpdating    InferenceEndpointState_ConfigUpdateState = "NOT_UPDATING"
	InferenceEndpointState_ConfigUpdateState_InProgress     InferenceEndpointState_ConfigUpdateState = "IN_PROGRESS"
	InferenceEndpointState_ConfigUpdateState_UpdateFailed   InferenceEndpointState_ConfigUpdateState = "UPDATE_FAILED"
	InferenceEndpointState_ConfigUpdateState_UpdateCanceled InferenceEndpointState_ConfigUpdateState = "UPDATE_CANCELED"
)

type InferenceEndpointState_ReadyState

type InferenceEndpointState_ReadyState string
const (
	InferenceEndpointState_ReadyState_Unspecified InferenceEndpointState_ReadyState = ""
	InferenceEndpointState_ReadyState_Ready       InferenceEndpointState_ReadyState = "READY"
	InferenceEndpointState_ReadyState_NotReady    InferenceEndpointState_ReadyState = "NOT_READY"
)

type InferenceTableConfig

type InferenceTableConfig struct {
	// The name of the catalog in Unity Catalog. Required when enabling inference
	// tables. NOTE: On update, you have to disable inference table first in order
	// to change the catalog name.
	CatalogName *string
	// The name of the schema in Unity Catalog. Required when enabling inference
	// tables. NOTE: On update, you have to disable inference table first in order
	// to change the schema name.
	SchemaName *string
	// The prefix of the table in Unity Catalog. NOTE: On update, you have to
	// disable inference table first in order to change the prefix name.
	TableNamePrefix *string
	// Indicates whether the inference table is enabled.
	Enabled *bool
}

type ListInferenceEndpointsRequest

type ListInferenceEndpointsRequest struct {
}

type ListInferenceEndpointsResponse

type ListInferenceEndpointsResponse struct {
	// The list of endpoints.
	Endpoints []InferenceEndpoint
}

type ModelDataPlaneInfo

type ModelDataPlaneInfo struct {
	// Information required to query DataPlane API 'query' endpoint.
	QueryInfo *DataPlaneInfo
}

A representation of all DataPlaneInfo for operations that can be done on a model through Data Plane APIs..

type OpenAiConfig

type OpenAiConfig struct {
	// The <Databricks> secret key reference for an OpenAI API key using the OpenAI
	// or Azure service. If you prefer to paste your API key directly, see
	// `openai_api_key_plaintext`. You must provide an API key using one of the
	// following fields: `openai_api_key` or `openai_api_key_plaintext`.
	OpenaiApiKey *string
	// This is an optional field to specify the type of OpenAI API to use. For Azure
	// OpenAI, this field is required, and adjust this parameter to represent the
	// preferred security access validation protocol. For access token validation,
	// use azure. For authentication using Azure Active Directory (Azure AD) use,
	// azuread.
	OpenaiApiType *string
	// This is a field to provide a customized base URl for the OpenAI API. For
	// Azure OpenAI, this field is required, and is the base URL for the Azure
	// OpenAI API service provided by Azure. For other OpenAI API types, this field
	// is optional, and if left unspecified, the standard OpenAI base URL is used.
	OpenaiApiBase *string
	// This is an optional field to specify the OpenAI API version. For Azure
	// OpenAI, this field is required, and is the version of the Azure OpenAI
	// service to utilize, specified by a date.
	OpenaiApiVersion *string
	// This field is only required for Azure OpenAI and is the name of the
	// deployment resource for the Azure OpenAI service.
	OpenaiDeploymentName *string
	// This is an optional field to specify the organization in OpenAI or Azure
	// OpenAI.
	OpenaiOrganization *string
	// This field is only required for Azure AD OpenAI and is the Microsoft Entra
	// Tenant ID.
	MicrosoftEntraTenantId *string
	// This field is only required for Azure AD OpenAI and is the Microsoft Entra
	// Client ID.
	MicrosoftEntraClientId *string
	// The <Databricks> secret key reference for a client secret used for Microsoft
	// Entra ID authentication. If you prefer to paste your client secret directly,
	// see `microsoft_entra_client_secret_plaintext`. You must provide an API key
	// using one of the following fields: `microsoft_entra_client_secret` or
	// `microsoft_entra_client_secret_plaintext`.
	MicrosoftEntraClientSecret *string
	// The OpenAI API key using the OpenAI or Azure service provided as a plaintext
	// string. If you prefer to reference your key using Databricks Secrets, see
	// `openai_api_key`. You must provide an API key using one of the following
	// fields: `openai_api_key` or `openai_api_key_plaintext`.
	OpenaiApiKeyPlaintext *string
	// The client secret used for Microsoft Entra ID authentication provided as a
	// plaintext string. If you prefer to reference your key using Databricks
	// Secrets, see `microsoft_entra_client_secret`. You must provide an API key
	// using one of the following fields: `microsoft_entra_client_secret` or
	// `microsoft_entra_client_secret_plaintext`.
	MicrosoftEntraClientSecretPlaintext *string
}

Configs needed to create an OpenAI model route..

type PaLmConfig

type PaLmConfig struct {
	// The <Databricks> secret key reference for a PaLM API key. If you prefer to
	// paste your API key directly, see `palm_api_key_plaintext`. You must provide
	// an API key using one of the following fields: `palm_api_key` or
	// `palm_api_key_plaintext`.
	PalmApiKey *string
	// The PaLM API key provided as a plaintext string. If you prefer to reference
	// your key using Databricks Secrets, see `palm_api_key`. You must provide an
	// API key using one of the following fields: `palm_api_key` or
	// `palm_api_key_plaintext`.
	PalmApiKeyPlaintext *string
}

type PatchInferenceEndpointTagsRequest

type PatchInferenceEndpointTagsRequest struct {
	// The name of the serving endpoint who's tags to patch. This field is required.
	Name *string
	// List of endpoint tags to add
	AddTags []EndpointTag
	// List of tag keys to delete
	DeleteTags []string
}

type PatchInferenceEndpointTagsResponse

type PatchInferenceEndpointTagsResponse struct {
	Tags []EndpointTag
}

type PatchInferenceEndpointTelemetryConfigRequest

type PatchInferenceEndpointTelemetryConfigRequest struct {
	// The name of the serving endpoint whose telemetry configuration is being
	// updated. This field is required.
	Name *string
	// The telemetry configuration to be applied to the serving endpoint. Can
	// specify either a telemetry_profile_id to use an existing profile, or
	// table_names to create a new profile with the specified Unity Catalog tables.
	// If not provided, the telemetry configuration will be removed from the
	// endpoint.
	TelemetryConfig *TelemetryConfig
}

Updates the telemetry configuration of a serving endpoint..

type PayloadTable

type PayloadTable struct {
	Name          *string
	Status        *string
	StatusMessage *string
}

type PendingConfig

type PendingConfig struct {
	// The list of served entities belonging to the last issued update to the
	// serving endpoint.
	ServedEntities []ServedModel
	// (Deprecated, use served_entities instead) The list of served models belonging
	// to the last issued update to the serving endpoint.
	ServedModels []ServedModel
	// The traffic config defining how invocations to the serving endpoint should be
	// routed.
	TrafficConfig *TrafficConfig
	// The config version that the serving endpoint is currently serving.
	ConfigVersion *int
	// The timestamp when the update to the pending config started.
	StartTime *int64
	// Configuration for legacy Inference Tables which automatically log requests
	// and responses to Unity Catalog. Deprecated: please use AI Gateway inference
	// tables instead. See
	// https://docs.databricks.com/aws/en/ai-gateway/inference-tables.
	AutoCaptureConfig *AutoCaptureConfig
}

type PiiSettings

type PiiSettings struct {
	// Configuration for input guardrail filters.
	Behavior Behavior
}

type PtEndpointCoreConfig

type PtEndpointCoreConfig struct {
	// The list of served entities under the serving endpoint config.
	ServedEntities []PtServedModel
	TrafficConfig  *TrafficConfig
}

type PtServedModel

type PtServedModel struct {
	// The name of a served entity. It must be unique across an endpoint. A served
	// entity name can consist of alphanumeric characters, dashes, and underscores.
	// If not specified for an external model, this field defaults to
	// external_model.name, with '.' and ':' replaced with '-', and if not specified
	// for other entities, it defaults to entity_name-entity_version.
	Name *string
	// The name of the entity to be served. The entity may be a model in the
	// Databricks Model Registry, a model in the Unity Catalog (UC), or a function
	// of type FEATURE_SPEC in the UC. If it is a UC object, the full name of the
	// object should be given in the form of
	// **catalog_name.schema_name.model_name**.
	EntityName    *string
	EntityVersion *string
	// The number of model units to be provisioned.
	ProvisionedModelUnits *int64
	// Whether burst scaling is enabled. When enabled (default), the endpoint can
	// automatically scale up beyond provisioned capacity to handle traffic spikes.
	// When disabled, the endpoint maintains fixed capacity at
	// provisioned_model_units.
	BurstScalingEnabled *bool
}

type PutInferenceEndpointAiGatewayRequest

type PutInferenceEndpointAiGatewayRequest struct {
	// The name of the serving endpoint whose AI Gateway is being updated. This
	// field is required.
	Name *string
	// Configuration to enable usage tracking using system tables. These tables
	// allow you to monitor operational usage on endpoints and their associated
	// costs.
	UsageTrackingConfig *UsageTrackingConfig
	// Configuration for payload logging using inference tables. Use these tables to
	// monitor and audit data being sent to and received from model APIs and to
	// improve model quality.
	InferenceTableConfig *InferenceTableConfig
	// Configuration for rate limits which can be set to limit endpoint traffic.
	RateLimits []AiGatewayRateLimit
	// Configuration for AI Guardrails to prevent unwanted data and unsafe data in
	// requests and responses.
	Guardrails *AiGuardrails
	// Configuration for traffic fallback which auto fallbacks to other served
	// entities if the request to a served entity fails with certain error codes, to
	// increase availability.
	FallbackConfig *FallbackConfig
}

type PutInferenceEndpointAiGatewayResponse

type PutInferenceEndpointAiGatewayResponse struct {
	// Configuration to enable usage tracking using system tables. These tables
	// allow you to monitor operational usage on endpoints and their associated
	// costs.
	UsageTrackingConfig *UsageTrackingConfig
	// Configuration for payload logging using inference tables. Use these tables to
	// monitor and audit data being sent to and received from model APIs and to
	// improve model quality.
	InferenceTableConfig *InferenceTableConfig
	// Configuration for rate limits which can be set to limit endpoint traffic.
	RateLimits []AiGatewayRateLimit
	// Configuration for AI Guardrails to prevent unwanted data and unsafe data in
	// requests and responses.
	Guardrails *AiGuardrails
	// Configuration for traffic fallback which auto fallbacks to other served
	// entities if the request to a served entity fails with certain error codes, to
	// increase availability.
	FallbackConfig *FallbackConfig
}

type PutInferenceEndpointConfigRequest

type PutInferenceEndpointConfigRequest struct {
	// The name of the serving endpoint to update. This field is required.
	Name *string
	// The list of served entities under the serving endpoint config.
	ServedEntities []ServedModel
	// (Deprecated, use served_entities instead) The list of served models under the
	// serving endpoint config.
	ServedModels []ServedModel
	// The traffic configuration associated with the serving endpoint config.
	TrafficConfig *TrafficConfig
	// Configuration for legacy Inference Tables which automatically log requests
	// and responses to Unity Catalog. Deprecated: please use AI Gateway inference
	// tables instead. See
	// https://docs.databricks.com/aws/en/ai-gateway/inference-tables.
	AutoCaptureConfig *AutoCaptureConfig
}

type PutInferenceEndpointConfigWaiter

type PutInferenceEndpointConfigWaiter struct {
	// contains filtered or unexported fields
}

PutInferenceEndpointConfigWaiter tracks the state of the operation started by PutInferenceEndpointConfig.

func (*PutInferenceEndpointConfigWaiter) Done

Done polls once and reports whether the operation has reached a terminal state.

func (*PutInferenceEndpointConfigWaiter) Wait

Wait polls until the operation reaches a terminal state.

type PutInferenceEndpointRateLimitsRequest

type PutInferenceEndpointRateLimitsRequest struct {
	// The name of the serving endpoint whose rate limits are being updated. This
	// field is required.
	Name *string
	// The list of endpoint rate limits.
	RateLimits []RateLimit
}

type PutInferenceEndpointRateLimitsResponse

type PutInferenceEndpointRateLimitsResponse struct {
	// The list of endpoint rate limits.
	RateLimits []RateLimit
}

type PutProvisionedThroughputInferenceEndpointConfigWaiter

type PutProvisionedThroughputInferenceEndpointConfigWaiter struct {
	// contains filtered or unexported fields
}

PutProvisionedThroughputInferenceEndpointConfigWaiter tracks the state of the operation started by PutProvisionedThroughputInferenceEndpointConfig.

func (*PutProvisionedThroughputInferenceEndpointConfigWaiter) Done

Done polls once and reports whether the operation has reached a terminal state.

func (*PutProvisionedThroughputInferenceEndpointConfigWaiter) Wait

Wait polls until the operation reaches a terminal state.

type PutPtEndpointConfigRequest

type PutPtEndpointConfigRequest struct {
	// The name of the pt endpoint to update. This field is required.
	Name   *string
	Config *PtEndpointCoreConfig
}

type RateLimit

type RateLimit struct {
	// Used to specify how many calls are allowed for a key within the
	// renewal_period.
	Calls *int64
	// Key field for a serving endpoint rate limit. Currently, only 'user' and
	// 'endpoint' are supported, with 'endpoint' being the default if not specified.
	Key *string
	// Renewal period field for a serving endpoint rate limit. Currently, only
	// 'minute' is supported.
	RenewalPeriod *string
}

type Route

type Route struct {
	// The name of the served model this route configures traffic for.
	ServedModelName *string
	// The percentage of endpoint traffic to send to this route. It must be an
	// integer between 0 and 100 inclusive.
	TrafficPercentage *int
	ServedEntityName  *string
}

type ServedModel

type ServedModel struct {
	// The name of a served entity. It must be unique across an endpoint. A served
	// entity name can consist of alphanumeric characters, dashes, and underscores.
	// If not specified for an external model, this field defaults to
	// external_model.name, with '.' and ':' replaced with '-', and if not specified
	// for other entities, it defaults to entity_name-entity_version.
	Name *string
	// The external model to be served. NOTE: Only one of external_model and
	// (entity_name, entity_version, workload_size, workload_type, and
	// scale_to_zero_enabled) can be specified with the latter set being used for
	// custom model serving for a <Databricks> registered model. For an existing
	// endpoint with external_model, it cannot be updated to an endpoint without
	// external_model. If the endpoint is created without external_model, users
	// cannot update it to add external_model later. The task type of all external
	// models within an endpoint must be the same.
	ExternalModel *ExternalModel
	// The name of the entity to be served. The entity may be a model in the
	// Databricks Model Registry, a model in the Unity Catalog (UC), or a function
	// of type FEATURE_SPEC in the UC. If it is a UC object, the full name of the
	// object should be given in the form of
	// **catalog_name.schema_name.model_name**.
	EntityName    *string
	EntityVersion *string
	// The minimum tokens per second that the endpoint can scale down to.
	MinProvisionedThroughput *int
	// The maximum tokens per second that the endpoint can scale up to.
	MaxProvisionedThroughput *int
	// The minimum provisioned concurrency that the endpoint can scale down to. Do
	// not use if workload_size is specified.
	MinProvisionedConcurrency *int
	// The maximum provisioned concurrency that the endpoint can scale up to. Do not
	// use if workload_size is specified.
	MaxProvisionedConcurrency *int
	// The workload size of the served entity. The workload size corresponds to a
	// range of provisioned concurrency that the compute autoscales between. A
	// single unit of provisioned concurrency can process one request at a time.
	// Valid workload sizes are "Small" (4 - 4 provisioned concurrency), "Medium" (8
	// - 16 provisioned concurrency), and "Large" (16 - 64 provisioned concurrency).
	// Additional custom workload sizes can also be used when available in the
	// workspace. If scale-to-zero is enabled, the lower bound of the provisioned
	// concurrency for each workload size is 0. Do not use if
	// min_provisioned_concurrency and max_provisioned_concurrency are specified.
	WorkloadSize *string
	// The number of model units provisioned.
	ProvisionedModelUnits *int64
	// Whether burst scaling is enabled. When enabled (default), the endpoint can
	// automatically scale up beyond provisioned capacity to handle traffic spikes.
	// When disabled, the endpoint maintains fixed capacity at
	// provisioned_model_units.
	BurstScalingEnabled *bool
	// Whether the compute resources for the served entity should scale down to
	// zero.
	ScaleToZeroEnabled *bool
	ModelName          *string
	ModelVersion       *string
	// An object containing a set of optional, user-specified environment variable
	// key-value pairs used for serving this entity. Note: this is an experimental
	// feature and subject to change. Example entity environment variables that
	// refer to <Databricks> secrets: `{"OPENAI_API_KEY":
	// "{{secrets/my_scope/my_key}}", "DATABRICKS_TOKEN":
	// "{{secrets/my_scope2/my_key2}}"}`
	EnvironmentVars map[string]string
	// ARN of the instance profile that the served entity uses to access AWS
	// resources.
	InstanceProfileArn *string
	FoundationModel    *FoundationModel
	State              *ServedModelState
	Creator            *string
	CreationTimestamp  *int64
}

type ServedModelDeploymentState

type ServedModelDeploymentState string
const (
	ServedModelDeploymentState_Unspecified          ServedModelDeploymentState = ""
	ServedModelDeploymentState_DeploymentCreating   ServedModelDeploymentState = "DEPLOYMENT_CREATING"
	ServedModelDeploymentState_DeploymentRecovering ServedModelDeploymentState = "DEPLOYMENT_RECOVERING"
	ServedModelDeploymentState_DeploymentReady      ServedModelDeploymentState = "DEPLOYMENT_READY"
	ServedModelDeploymentState_DeploymentFailed     ServedModelDeploymentState = "DEPLOYMENT_FAILED"
	ServedModelDeploymentState_DeploymentAborted    ServedModelDeploymentState = "DEPLOYMENT_ABORTED"
	ServedModelDeploymentState_DeploymentStopped    ServedModelDeploymentState = "DEPLOYMENT_STOPPED"
)

type ServedModelLite

type ServedModelLite struct {
	Name *string
	// Only one of model_name and entity_name should be populated
	ModelName  *string
	EntityName *string
	// Only one of model_version and entity_version should be populated
	ModelVersion    *string
	EntityVersion   *string
	ExternalModel   *ExternalModel
	FoundationModel *FoundationModel
}

type ServedModelState

type ServedModelState struct {
	Deployment             ServedModelDeploymentState
	DeploymentStateMessage *string
}

type ServingEndpointDetailedPermissionLevel

type ServingEndpointDetailedPermissionLevel string
const (
	ServingEndpointDetailedPermissionLevel_Unspecified ServingEndpointDetailedPermissionLevel = ""
	ServingEndpointDetailedPermissionLevel_CanManage   ServingEndpointDetailedPermissionLevel = "CAN_MANAGE"
	ServingEndpointDetailedPermissionLevel_CanQuery    ServingEndpointDetailedPermissionLevel = "CAN_QUERY"
	ServingEndpointDetailedPermissionLevel_CanView     ServingEndpointDetailedPermissionLevel = "CAN_VIEW"
)

type TelemetryConfig

type TelemetryConfig struct {
	TelemetryProfile isTelemetryConfig_TelemetryProfile
	// Configuration for inference table payload logging, including sampling.
	InferenceTableConfig *TelemetryInferenceTableConfig
	// The telemetry signals to enable for this endpoint. If empty or omitted, all
	// signals are enabled; otherwise only the listed signals are enabled.
	EnabledTelemetryFeatures []TelemetryFeature
}

type TelemetryConfig_TelemetryProfile_TableNames

type TelemetryConfig_TelemetryProfile_TableNames struct {
	TableNames UnityCatalogTableNames
}

TelemetryConfig_TelemetryProfile_TableNames selects TableNames for TelemetryConfig.TelemetryProfile. The Unity Catalog tables to which endpoint telemetry (logs, traces, and metrics) is exported. Provide this to create a new telemetry profile for the endpoint from the given tables.

type TelemetryConfig_TelemetryProfile_TelemetryProfileId

type TelemetryConfig_TelemetryProfile_TelemetryProfileId struct {
	TelemetryProfileId string
}

TelemetryConfig_TelemetryProfile_TelemetryProfileId selects TelemetryProfileId for TelemetryConfig.TelemetryProfile. The ID of an existing telemetry profile to apply to this endpoint. Provide this to reuse a telemetry profile that has already been created, instead of specifying table_names.

type TelemetryFeature

type TelemetryFeature string

A telemetry signal that a serving endpoint can export to Unity Catalog. Use these values to select which signals the endpoint exports.

const (
	TelemetryFeature_Unspecified TelemetryFeature = ""
	// Application logs emitted by the served model, exported to the logs table.
	TelemetryFeature_TelemetryFeatureLogs TelemetryFeature = "TELEMETRY_FEATURE_LOGS"
	// Request traces (spans), exported to the traces table.
	TelemetryFeature_TelemetryFeatureTraces TelemetryFeature = "TELEMETRY_FEATURE_TRACES"
	// Endpoint metrics, exported to the metrics table.
	TelemetryFeature_TelemetryFeatureMetrics TelemetryFeature = "TELEMETRY_FEATURE_METRICS"
	// Request and response payloads, logged to the endpoint's inference table.
	TelemetryFeature_TelemetryFeatureInferenceTable TelemetryFeature = "TELEMETRY_FEATURE_INFERENCE_TABLE"
)

type TelemetryInferenceTableConfig

type TelemetryInferenceTableConfig struct {
	// Fraction of requests sampled for payload logging, in the range [0.0, 1.0],
	// where 1.0 logs all requests.
	SamplingFraction *float64
	// The full name of the inference table created for this endpoint.
	Name *string
}

Inference table payload logging configuration.

type TrafficConfig

type TrafficConfig struct {
	// The list of routes that define traffic to each served entity.
	Routes []Route
}

type UnityCatalogTableNames

type UnityCatalogTableNames struct {
	// The full three-level Unity Catalog name (catalog.schema.table) of the table
	// that receives exported logs.
	LogsTable *string
	// The full three-level Unity Catalog name (catalog.schema.table) of the table
	// that receives exported metrics.
	MetricsTable *string
	// The full three-level Unity Catalog name (catalog.schema.table) of the table
	// that receives exported traces (spans).
	TracesTable *string
	// The full three-level Unity Catalog name (catalog.schema.table) of the table
	// that receives exported annotations.
	AnnotationsTable *string
}

type UpdateInferenceEndpointNotificationsRequest

type UpdateInferenceEndpointNotificationsRequest struct {
	// The name of the serving endpoint whose notifications are being updated. This
	// field is required.
	Name *string
	// The email notification settings to update. Specify email addresses to notify
	// when endpoint state changes occur.
	EmailNotifications *EmailNotifications
}

type UpdateInferenceEndpointNotificationsResponse

type UpdateInferenceEndpointNotificationsResponse struct {
	Name               *string
	EmailNotifications *EmailNotifications
}

type UsageTrackingConfig

type UsageTrackingConfig struct {
	// Whether to enable usage tracking.
	Enabled *bool
}

Jump to

Keyboard shortcuts

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