Skip to content

AiGatewayModelProviderService

laktory.models.resources.databricks.AiGatewayModelProviderService ¤

Bases: AiGatewayModelProviderServiceBase

Databricks AI Gateway model provider service

Unity Catalog governed connection to an external model provider (OpenAI, Azure OpenAI, Anthropic, Amazon Bedrock, Gemini, custom, etc.) and the provider models that model services can route to.

Examples:

import io

from laktory import models

service_yaml = '''
parent: schemas/dev.ai
model_provider_service_id: openai_prod
comment: OpenAI production account
config:
  provider_type: EXTERNAL_MODEL_PROVIDER_TYPE_OPENAI
  targets:
  - model: gpt-5
    native_api_types:
    - openai/v1/chat/completions
  openai:
    direct:
      api_key:
        secret_reference:
          name: secrets/dev.ai.openai_api_key
'''
service = (
    models.resources.databricks.AiGatewayModelProviderService.model_validate_yaml(
        io.StringIO(service_yaml)
    )
)
References
BASE DESCRIPTION
comment

User-provided description

TYPE: str | None | VariableType DEFAULT: None

config

Provider authentication, exposed models, request-forwarding controls, rate limits, and payload logging. Required on Create. On Update, it is required only when config or one of its subpaths appears in update_mask

TYPE: AiGatewayModelProviderServiceConfig | None | VariableType DEFAULT: None

model_provider_service_id

Name for the model provider service, e.g. 'openai_prod'

TYPE: str | VariableType

parent

Parent Unity Catalog schema where the inference table is created, in the form schemas/{catalog}.{schema}. Required when configuring an inference table. After the inference table is created, this field cannot be changed

TYPE: str | VariableType

provider_config

Configure the provider for management through account provider

TYPE: AiGatewayModelProviderServiceProviderConfig | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfig ¤

Bases: BaseModel

PARAMETER DESCRIPTION
allow_all_targets

When true, accepts any model exposed by the upstream provider; targets is not required and does not restrict routability. When false, only models listed in targets are routable. Defaults to false * amazon_bedrock (ModelProviderServiceConfigAmazonBedrockProviderConfig, optional) * anthropic (ModelProviderServiceConfigAnthropicProviderConfig, optional) * azure_openai (ModelProviderServiceConfigAzureOpenAiProviderConfig, optional) * custom (ModelProviderServiceConfigCustomProviderConfig, optional)

TYPE: bool | None | VariableType DEFAULT: None

amazon_bedrock

TYPE: AiGatewayModelProviderServiceConfigAmazonBedrock | None | VariableType DEFAULT: None

anthropic

TYPE: AiGatewayModelProviderServiceConfigAnthropic | None | VariableType DEFAULT: None

azure_openai

TYPE: AiGatewayModelProviderServiceConfigAzureOpenai | None | VariableType DEFAULT: None

custom

TYPE: AiGatewayModelProviderServiceConfigCustom | None | VariableType DEFAULT: None

forward_headers

Whether to forward incoming HTTP headers to the upstream provider. Defaults to false and is configured for the entire provider service, not per request. Upstream authentication is configured separately in the provider-specific configuration

TYPE: bool | None | VariableType DEFAULT: None

forward_query_parameters

Whether to forward incoming query parameters to the upstream provider. Defaults to false and is configured for the entire provider service, not per request

TYPE: bool | None | VariableType DEFAULT: None

forward_unmanaged_paths

Whether to proxy paths that AI Gateway does not recognize as configured provider-native API types. Defaults to false. When true, these paths are forwarded unchanged to the upstream provider. When false, only recognized API paths are served. Enabling this broadens the upstream API surface exposed through the provider service * gemini_enterprise (ModelProviderServiceConfigGeminiEnterpriseProviderConfig, optional)

TYPE: bool | None | VariableType DEFAULT: None

gemini_enterprise

TYPE: AiGatewayModelProviderServiceConfigGeminiEnterprise | None | VariableType DEFAULT: None

inference_table

Payload logging configuration for requests sent directly to this provider service. Requests routed through a model service are captured by that model service's inference table instead * microsoft_foundry (ModelProviderServiceConfigMicrosoftFoundryProviderConfig, optional) * openai (ModelProviderServiceConfigOpenAiProviderConfig, optional)

TYPE: AiGatewayModelProviderServiceConfigInferenceTable | None | VariableType DEFAULT: None

microsoft_foundry

TYPE: AiGatewayModelProviderServiceConfigMicrosoftFoundry | None | VariableType DEFAULT: None

openai

TYPE: AiGatewayModelProviderServiceConfigOpenai | None | VariableType DEFAULT: None

provider_type

External model provider. Required on Create and immutable thereafter. Set the matching provider-specific configuration, such as openai, azure_openai, or amazon_bedrock. Possible values are: EXTERNAL_MODEL_PROVIDER_TYPE_AMAZON_BEDROCK, EXTERNAL_MODEL_PROVIDER_TYPE_ANTHROPIC, EXTERNAL_MODEL_PROVIDER_TYPE_AZURE_OPENAI, EXTERNAL_MODEL_PROVIDER_TYPE_CUSTOM, EXTERNAL_MODEL_PROVIDER_TYPE_GEMINI_ENTERPRISE, EXTERNAL_MODEL_PROVIDER_TYPE_MICROSOFT_FOUNDRY, EXTERNAL_MODEL_PROVIDER_TYPE_OPENAI

TYPE: str | None | VariableType DEFAULT: None

rate_limits

Rate limits for requests sent directly to this provider service. Requests routed through a model service use that model service's rate limits instead

TYPE: list[AiGatewayModelProviderServiceConfigRateLimits] | None | VariableType DEFAULT: None

targets

Models and provider-native API types exposed by this provider service. Each entry must include at least one native_api_types value. When allow_all_targets is false, at least one entry is required and model service destinations can reference only listed models. When allow_all_targets is true, any upstream model is routable; entries in this list provide API-type metadata without restricting other models

TYPE: list[AiGatewayModelProviderServiceConfigTargets] | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigAmazonBedrock ¤

Bases: BaseModel

PARAMETER DESCRIPTION
direct

OpenAI configuration with an API key supplied in the request

TYPE: AiGatewayModelProviderServiceConfigAmazonBedrockDirect | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigAmazonBedrockDirect ¤

Bases: BaseModel

PARAMETER DESCRIPTION
aws_access_key

AWS access-key-pair authentication. Set access_key_id and secret_access_key.plaintext. Mutually exclusive with service_credential

TYPE: AiGatewayModelProviderServiceConfigAmazonBedrockDirectAwsAccessKey | None | VariableType DEFAULT: None

region

GCP region of the Gemini Enterprise endpoint (e.g., us-central1). Required on Create

TYPE: str | None | VariableType DEFAULT: None

service_credential

Reference to a Unity Catalog service credential authorizing Microsoft Foundry requests. On Create, supply service_credential.name in the form credentials/{name}. Required on Create when using service-credential authentication; mutually exclusive with api_key and entra_service_principal. The credential is referenced by name; its value is not carried here. Only supported on Azure-hosted workspaces

TYPE: AiGatewayModelProviderServiceConfigAmazonBedrockDirectServiceCredential | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigAmazonBedrockDirectAwsAccessKey ¤

Bases: BaseModel

PARAMETER DESCRIPTION
access_key_id

AWS access key ID. Required on Create when using access-key auth. Treated as username-equivalent (not a secret value): round-trips on reads and is scrubbed from audit logs

TYPE: str | None | VariableType DEFAULT: None

secret_access_key

AWS secret access key paired with access_key_id. Required when creating a service with access-key authentication. Supply the value in secret_access_key.plaintext

TYPE: AiGatewayModelProviderServiceConfigAmazonBedrockDirectAwsAccessKeySecretAccessKey | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigAmazonBedrockDirectAwsAccessKeySecretAccessKey ¤

Bases: BaseModel

PARAMETER DESCRIPTION
plaintext

Inline plaintext credential. INPUT_ONLY: the value never round-trips on reads. Get and List responses omit plaintext; the enclosing secret object remains present to indicate that a secret is configured

TYPE: str | None | VariableType DEFAULT: None

secret_reference

Reference to a customer-owned UC Secret that carries this secret value. The value is read at invoke time under the model provider service owner's access and is never copied onto the model provider service, so rotating the UC Secret takes effect with no change to the model provider service. On Create, supply secret_reference.name as secrets/{catalog}.{schema}.{secret}

TYPE: AiGatewayModelProviderServiceConfigAmazonBedrockDirectAwsAccessKeySecretAccessKeySecretReference | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigAmazonBedrockDirectAwsAccessKeySecretAccessKeySecretReference ¤

Bases: BaseModel

PARAMETER DESCRIPTION
name

Resource name of the provider service. Format: model-provider-services/{catalog}.{schema}.{model_provider_service}. Each {...} component is capped at 255 characters individually. Server-derived on Create from parent + model_provider_service_id; required and immutable on Update/Get/Delete

TYPE: str | VariableType


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigAmazonBedrockDirectServiceCredential ¤

Bases: BaseModel

PARAMETER DESCRIPTION
name

Resource name of the provider service. Format: model-provider-services/{catalog}.{schema}.{model_provider_service}. Each {...} component is capped at 255 characters individually. Server-derived on Create from parent + model_provider_service_id; required and immutable on Update/Get/Delete

TYPE: str | VariableType


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigAnthropic ¤

Bases: BaseModel

PARAMETER DESCRIPTION
direct

OpenAI configuration with an API key supplied in the request

TYPE: AiGatewayModelProviderServiceConfigAnthropicDirect | None | VariableType DEFAULT: None

relayed

Relayed authentication. Each inference request supplies the caller's OAuth token, which is forwarded to Anthropic. No Anthropic credential is stored. Mutually exclusive with direct

TYPE: AiGatewayModelProviderServiceConfigAnthropicRelayed | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigAnthropicDirect ¤

Bases: BaseModel

PARAMETER DESCRIPTION
api_key

OpenAI API key. Required when creating the service. Supply the value in api_key.plaintext

TYPE: AiGatewayModelProviderServiceConfigAnthropicDirectApiKey | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigAnthropicDirectApiKey ¤

Bases: BaseModel

PARAMETER DESCRIPTION
plaintext

Inline plaintext credential. INPUT_ONLY: the value never round-trips on reads. Get and List responses omit plaintext; the enclosing secret object remains present to indicate that a secret is configured

TYPE: str | None | VariableType DEFAULT: None

secret_reference

Reference to a customer-owned UC Secret that carries this secret value. The value is read at invoke time under the model provider service owner's access and is never copied onto the model provider service, so rotating the UC Secret takes effect with no change to the model provider service. On Create, supply secret_reference.name as secrets/{catalog}.{schema}.{secret}

TYPE: AiGatewayModelProviderServiceConfigAnthropicDirectApiKeySecretReference | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigAnthropicDirectApiKeySecretReference ¤

Bases: BaseModel

PARAMETER DESCRIPTION
name

Resource name of the provider service. Format: model-provider-services/{catalog}.{schema}.{model_provider_service}. Each {...} component is capped at 255 characters individually. Server-derived on Create from parent + model_provider_service_id; required and immutable on Update/Get/Delete

TYPE: str | VariableType


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigAnthropicRelayed ¤

Bases: BaseModel


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigAzureOpenai ¤

Bases: BaseModel

PARAMETER DESCRIPTION
direct

OpenAI configuration with an API key supplied in the request

TYPE: AiGatewayModelProviderServiceConfigAzureOpenaiDirect | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigAzureOpenaiDirect ¤

Bases: BaseModel

PARAMETER DESCRIPTION
api_key

OpenAI API key. Required when creating the service. Supply the value in api_key.plaintext

TYPE: AiGatewayModelProviderServiceConfigAzureOpenaiDirectApiKey | None | VariableType DEFAULT: None

base_url

Optional custom base URL. Defaults to https://api.openai.com/v1. Use for OpenAI-API-compatible third-party endpoints or in-network proxies

TYPE: str | None | VariableType DEFAULT: None

entra_service_principal

Entra ID service-principal authentication. Set tenant_id, client_id, and client_secret.plaintext. Mutually exclusive with api_key and service_credential

TYPE: AiGatewayModelProviderServiceConfigAzureOpenaiDirectEntraServicePrincipal | None | VariableType DEFAULT: None

service_credential

Reference to a Unity Catalog service credential authorizing Microsoft Foundry requests. On Create, supply service_credential.name in the form credentials/{name}. Required on Create when using service-credential authentication; mutually exclusive with api_key and entra_service_principal. The credential is referenced by name; its value is not carried here. Only supported on Azure-hosted workspaces

TYPE: AiGatewayModelProviderServiceConfigAzureOpenaiDirectServiceCredential | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigAzureOpenaiDirectApiKey ¤

Bases: BaseModel

PARAMETER DESCRIPTION
plaintext

Inline plaintext credential. INPUT_ONLY: the value never round-trips on reads. Get and List responses omit plaintext; the enclosing secret object remains present to indicate that a secret is configured

TYPE: str | None | VariableType DEFAULT: None

secret_reference

Reference to a customer-owned UC Secret that carries this secret value. The value is read at invoke time under the model provider service owner's access and is never copied onto the model provider service, so rotating the UC Secret takes effect with no change to the model provider service. On Create, supply secret_reference.name as secrets/{catalog}.{schema}.{secret}

TYPE: AiGatewayModelProviderServiceConfigAzureOpenaiDirectApiKeySecretReference | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigAzureOpenaiDirectApiKeySecretReference ¤

Bases: BaseModel

PARAMETER DESCRIPTION
name

Resource name of the provider service. Format: model-provider-services/{catalog}.{schema}.{model_provider_service}. Each {...} component is capped at 255 characters individually. Server-derived on Create from parent + model_provider_service_id; required and immutable on Update/Get/Delete

TYPE: str | VariableType


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigAzureOpenaiDirectEntraServicePrincipal ¤

Bases: BaseModel

PARAMETER DESCRIPTION
client_id

Entra ID client (application) ID. Required on Create

TYPE: str | None | VariableType DEFAULT: None

client_secret

Entra ID client secret. Supply the value in client_secret.plaintext

TYPE: AiGatewayModelProviderServiceConfigAzureOpenaiDirectEntraServicePrincipalClientSecret | None | VariableType DEFAULT: None

tenant_id

Entra ID (Azure AD) tenant ID. Required on Create

TYPE: str | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigAzureOpenaiDirectEntraServicePrincipalClientSecret ¤

Bases: BaseModel

PARAMETER DESCRIPTION
plaintext

Inline plaintext credential. INPUT_ONLY: the value never round-trips on reads. Get and List responses omit plaintext; the enclosing secret object remains present to indicate that a secret is configured

TYPE: str | None | VariableType DEFAULT: None

secret_reference

Reference to a customer-owned UC Secret that carries this secret value. The value is read at invoke time under the model provider service owner's access and is never copied onto the model provider service, so rotating the UC Secret takes effect with no change to the model provider service. On Create, supply secret_reference.name as secrets/{catalog}.{schema}.{secret}

TYPE: AiGatewayModelProviderServiceConfigAzureOpenaiDirectEntraServicePrincipalClientSecretSecretReference | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigAzureOpenaiDirectEntraServicePrincipalClientSecretSecretReference ¤

Bases: BaseModel

PARAMETER DESCRIPTION
name

Resource name of the provider service. Format: model-provider-services/{catalog}.{schema}.{model_provider_service}. Each {...} component is capped at 255 characters individually. Server-derived on Create from parent + model_provider_service_id; required and immutable on Update/Get/Delete

TYPE: str | VariableType


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigAzureOpenaiDirectServiceCredential ¤

Bases: BaseModel

PARAMETER DESCRIPTION
name

Resource name of the provider service. Format: model-provider-services/{catalog}.{schema}.{model_provider_service}. Each {...} component is capped at 255 characters individually. Server-derived on Create from parent + model_provider_service_id; required and immutable on Update/Get/Delete

TYPE: str | VariableType


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigCustom ¤

Bases: BaseModel

PARAMETER DESCRIPTION
direct

OpenAI configuration with an API key supplied in the request

TYPE: AiGatewayModelProviderServiceConfigCustomDirect | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigCustomDirect ¤

Bases: BaseModel

PARAMETER DESCRIPTION
api_key

OpenAI API key. Required when creating the service. Supply the value in api_key.plaintext

TYPE: AiGatewayModelProviderServiceConfigCustomDirectApiKey | None | VariableType DEFAULT: None

base_url

Optional custom base URL. Defaults to https://api.openai.com/v1. Use for OpenAI-API-compatible third-party endpoints or in-network proxies

TYPE: str | None | VariableType DEFAULT: None

header_auth

Header-based API-key auth: the secret is forwarded on outbound requests under a caller-chosen HTTP header rather than as an Authorization bearer token. Set this instead of api_key for header auth

TYPE: AiGatewayModelProviderServiceConfigCustomDirectHeaderAuth | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigCustomDirectApiKey ¤

Bases: BaseModel

PARAMETER DESCRIPTION
plaintext

Inline plaintext credential. INPUT_ONLY: the value never round-trips on reads. Get and List responses omit plaintext; the enclosing secret object remains present to indicate that a secret is configured

TYPE: str | None | VariableType DEFAULT: None

secret_reference

Reference to a customer-owned UC Secret that carries this secret value. The value is read at invoke time under the model provider service owner's access and is never copied onto the model provider service, so rotating the UC Secret takes effect with no change to the model provider service. On Create, supply secret_reference.name as secrets/{catalog}.{schema}.{secret}

TYPE: AiGatewayModelProviderServiceConfigCustomDirectApiKeySecretReference | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigCustomDirectApiKeySecretReference ¤

Bases: BaseModel

PARAMETER DESCRIPTION
name

Resource name of the provider service. Format: model-provider-services/{catalog}.{schema}.{model_provider_service}. Each {...} component is capped at 255 characters individually. Server-derived on Create from parent + model_provider_service_id; required and immutable on Update/Get/Delete

TYPE: str | VariableType


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigCustomDirectHeaderAuth ¤

Bases: BaseModel

PARAMETER DESCRIPTION
api_key_name

HTTP header name that carries the API key on outbound requests (e.g., Ocp-Apim-Subscription-Key). The value forwarded under this header is supplied via api_key_value

TYPE: str | None | VariableType DEFAULT: None

api_key_value

Secret value forwarded under the api_key_name header on outbound requests. Supplied as inline plaintext via ProviderSecret.plaintext

TYPE: AiGatewayModelProviderServiceConfigCustomDirectHeaderAuthApiKeyValue | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigCustomDirectHeaderAuthApiKeyValue ¤

Bases: BaseModel

PARAMETER DESCRIPTION
plaintext

Inline plaintext credential. INPUT_ONLY: the value never round-trips on reads. Get and List responses omit plaintext; the enclosing secret object remains present to indicate that a secret is configured

TYPE: str | None | VariableType DEFAULT: None

secret_reference

Reference to a customer-owned UC Secret that carries this secret value. The value is read at invoke time under the model provider service owner's access and is never copied onto the model provider service, so rotating the UC Secret takes effect with no change to the model provider service. On Create, supply secret_reference.name as secrets/{catalog}.{schema}.{secret}

TYPE: AiGatewayModelProviderServiceConfigCustomDirectHeaderAuthApiKeyValueSecretReference | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigCustomDirectHeaderAuthApiKeyValueSecretReference ¤

Bases: BaseModel

PARAMETER DESCRIPTION
name

Resource name of the provider service. Format: model-provider-services/{catalog}.{schema}.{model_provider_service}. Each {...} component is capped at 255 characters individually. Server-derived on Create from parent + model_provider_service_id; required and immutable on Update/Get/Delete

TYPE: str | VariableType


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigGeminiEnterprise ¤

Bases: BaseModel

PARAMETER DESCRIPTION
direct

OpenAI configuration with an API key supplied in the request

TYPE: AiGatewayModelProviderServiceConfigGeminiEnterpriseDirect | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigGeminiEnterpriseDirect ¤

Bases: BaseModel

PARAMETER DESCRIPTION
api_key

OpenAI API key. Required when creating the service. Supply the value in api_key.plaintext

TYPE: AiGatewayModelProviderServiceConfigGeminiEnterpriseDirectApiKey | None | VariableType DEFAULT: None

project_id

GCP project ID hosting the Gemini Enterprise endpoint. Required on Create

TYPE: str | None | VariableType DEFAULT: None

region

GCP region of the Gemini Enterprise endpoint (e.g., us-central1). Required on Create

TYPE: str | None | VariableType DEFAULT: None

service_credential

Reference to a Unity Catalog service credential authorizing Microsoft Foundry requests. On Create, supply service_credential.name in the form credentials/{name}. Required on Create when using service-credential authentication; mutually exclusive with api_key and entra_service_principal. The credential is referenced by name; its value is not carried here. Only supported on Azure-hosted workspaces

TYPE: AiGatewayModelProviderServiceConfigGeminiEnterpriseDirectServiceCredential | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigGeminiEnterpriseDirectApiKey ¤

Bases: BaseModel

PARAMETER DESCRIPTION
plaintext

Inline plaintext credential. INPUT_ONLY: the value never round-trips on reads. Get and List responses omit plaintext; the enclosing secret object remains present to indicate that a secret is configured

TYPE: str | None | VariableType DEFAULT: None

secret_reference

Reference to a customer-owned UC Secret that carries this secret value. The value is read at invoke time under the model provider service owner's access and is never copied onto the model provider service, so rotating the UC Secret takes effect with no change to the model provider service. On Create, supply secret_reference.name as secrets/{catalog}.{schema}.{secret}

TYPE: AiGatewayModelProviderServiceConfigGeminiEnterpriseDirectApiKeySecretReference | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigGeminiEnterpriseDirectApiKeySecretReference ¤

Bases: BaseModel

PARAMETER DESCRIPTION
name

Resource name of the provider service. Format: model-provider-services/{catalog}.{schema}.{model_provider_service}. Each {...} component is capped at 255 characters individually. Server-derived on Create from parent + model_provider_service_id; required and immutable on Update/Get/Delete

TYPE: str | VariableType


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigGeminiEnterpriseDirectServiceCredential ¤

Bases: BaseModel

PARAMETER DESCRIPTION
name

Resource name of the provider service. Format: model-provider-services/{catalog}.{schema}.{model_provider_service}. Each {...} component is capped at 255 characters individually. Server-derived on Create from parent + model_provider_service_id; required and immutable on Update/Get/Delete

TYPE: str | VariableType


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigInferenceTable ¤

Bases: BaseModel

PARAMETER DESCRIPTION
parent

Parent Unity Catalog schema where the inference table is created, in the form schemas/{catalog}.{schema}. Required when configuring an inference table. After the inference table is created, this field cannot be changed

TYPE: str | VariableType

table_name_prefix

Prefix used to form the inference table's registered name. AI Gateway appends _payload; for example, table_name_prefix = 'orders' creates orders_payload. If unset, the prefix defaults to the service name. Read table from the response for the resulting resource name. After the inference table is created, this field cannot be changed

TYPE: str | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigMicrosoftFoundry ¤

Bases: BaseModel

PARAMETER DESCRIPTION
direct

OpenAI configuration with an API key supplied in the request

TYPE: AiGatewayModelProviderServiceConfigMicrosoftFoundryDirect | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigMicrosoftFoundryDirect ¤

Bases: BaseModel

PARAMETER DESCRIPTION
api_key

OpenAI API key. Required when creating the service. Supply the value in api_key.plaintext

TYPE: AiGatewayModelProviderServiceConfigMicrosoftFoundryDirectApiKey | None | VariableType DEFAULT: None

base_url

Optional custom base URL. Defaults to https://api.openai.com/v1. Use for OpenAI-API-compatible third-party endpoints or in-network proxies

TYPE: str | None | VariableType DEFAULT: None

entra_service_principal

Entra ID service-principal authentication. Set tenant_id, client_id, and client_secret.plaintext. Mutually exclusive with api_key and service_credential

TYPE: AiGatewayModelProviderServiceConfigMicrosoftFoundryDirectEntraServicePrincipal | None | VariableType DEFAULT: None

service_credential

Reference to a Unity Catalog service credential authorizing Microsoft Foundry requests. On Create, supply service_credential.name in the form credentials/{name}. Required on Create when using service-credential authentication; mutually exclusive with api_key and entra_service_principal. The credential is referenced by name; its value is not carried here. Only supported on Azure-hosted workspaces

TYPE: AiGatewayModelProviderServiceConfigMicrosoftFoundryDirectServiceCredential | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigMicrosoftFoundryDirectApiKey ¤

Bases: BaseModel

PARAMETER DESCRIPTION
plaintext

Inline plaintext credential. INPUT_ONLY: the value never round-trips on reads. Get and List responses omit plaintext; the enclosing secret object remains present to indicate that a secret is configured

TYPE: str | None | VariableType DEFAULT: None

secret_reference

Reference to a customer-owned UC Secret that carries this secret value. The value is read at invoke time under the model provider service owner's access and is never copied onto the model provider service, so rotating the UC Secret takes effect with no change to the model provider service. On Create, supply secret_reference.name as secrets/{catalog}.{schema}.{secret}

TYPE: AiGatewayModelProviderServiceConfigMicrosoftFoundryDirectApiKeySecretReference | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigMicrosoftFoundryDirectApiKeySecretReference ¤

Bases: BaseModel

PARAMETER DESCRIPTION
name

Resource name of the provider service. Format: model-provider-services/{catalog}.{schema}.{model_provider_service}. Each {...} component is capped at 255 characters individually. Server-derived on Create from parent + model_provider_service_id; required and immutable on Update/Get/Delete

TYPE: str | VariableType


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigMicrosoftFoundryDirectEntraServicePrincipal ¤

Bases: BaseModel

PARAMETER DESCRIPTION
client_id

Entra ID client (application) ID. Required on Create

TYPE: str | None | VariableType DEFAULT: None

client_secret

Entra ID client secret. Supply the value in client_secret.plaintext

TYPE: AiGatewayModelProviderServiceConfigMicrosoftFoundryDirectEntraServicePrincipalClientSecret | None | VariableType DEFAULT: None

tenant_id

Entra ID (Azure AD) tenant ID. Required on Create

TYPE: str | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigMicrosoftFoundryDirectEntraServicePrincipalClientSecret ¤

Bases: BaseModel

PARAMETER DESCRIPTION
plaintext

Inline plaintext credential. INPUT_ONLY: the value never round-trips on reads. Get and List responses omit plaintext; the enclosing secret object remains present to indicate that a secret is configured

TYPE: str | None | VariableType DEFAULT: None

secret_reference

Reference to a customer-owned UC Secret that carries this secret value. The value is read at invoke time under the model provider service owner's access and is never copied onto the model provider service, so rotating the UC Secret takes effect with no change to the model provider service. On Create, supply secret_reference.name as secrets/{catalog}.{schema}.{secret}

TYPE: AiGatewayModelProviderServiceConfigMicrosoftFoundryDirectEntraServicePrincipalClientSecretSecretReference | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigMicrosoftFoundryDirectEntraServicePrincipalClientSecretSecretReference ¤

Bases: BaseModel

PARAMETER DESCRIPTION
name

Resource name of the provider service. Format: model-provider-services/{catalog}.{schema}.{model_provider_service}. Each {...} component is capped at 255 characters individually. Server-derived on Create from parent + model_provider_service_id; required and immutable on Update/Get/Delete

TYPE: str | VariableType


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigMicrosoftFoundryDirectServiceCredential ¤

Bases: BaseModel

PARAMETER DESCRIPTION
name

Resource name of the provider service. Format: model-provider-services/{catalog}.{schema}.{model_provider_service}. Each {...} component is capped at 255 characters individually. Server-derived on Create from parent + model_provider_service_id; required and immutable on Update/Get/Delete

TYPE: str | VariableType


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigOpenai ¤

Bases: BaseModel

PARAMETER DESCRIPTION
direct

OpenAI configuration with an API key supplied in the request

TYPE: AiGatewayModelProviderServiceConfigOpenaiDirect | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigOpenaiDirect ¤

Bases: BaseModel

PARAMETER DESCRIPTION
api_key

OpenAI API key. Required when creating the service. Supply the value in api_key.plaintext

TYPE: AiGatewayModelProviderServiceConfigOpenaiDirectApiKey | None | VariableType DEFAULT: None

base_url

Optional custom base URL. Defaults to https://api.openai.com/v1. Use for OpenAI-API-compatible third-party endpoints or in-network proxies

TYPE: str | None | VariableType DEFAULT: None

organization

Optional OpenAI organization ID. When set, the platform forwards it as the OpenAI-Organization header

TYPE: str | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigOpenaiDirectApiKey ¤

Bases: BaseModel

PARAMETER DESCRIPTION
plaintext

Inline plaintext credential. INPUT_ONLY: the value never round-trips on reads. Get and List responses omit plaintext; the enclosing secret object remains present to indicate that a secret is configured

TYPE: str | None | VariableType DEFAULT: None

secret_reference

Reference to a customer-owned UC Secret that carries this secret value. The value is read at invoke time under the model provider service owner's access and is never copied onto the model provider service, so rotating the UC Secret takes effect with no change to the model provider service. On Create, supply secret_reference.name as secrets/{catalog}.{schema}.{secret}

TYPE: AiGatewayModelProviderServiceConfigOpenaiDirectApiKeySecretReference | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigOpenaiDirectApiKeySecretReference ¤

Bases: BaseModel

PARAMETER DESCRIPTION
name

Resource name of the provider service. Format: model-provider-services/{catalog}.{schema}.{model_provider_service}. Each {...} component is capped at 255 characters individually. Server-derived on Create from parent + model_provider_service_id; required and immutable on Update/Get/Delete

TYPE: str | VariableType


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigRateLimits ¤

Bases: BaseModel

PARAMETER DESCRIPTION
key

Scope of the rate limit. Depending on this value, the limit applies to a principal, the service as a whole, or each user by default. Possible values are: RATE_LIMIT_KEY_SERVICE, RATE_LIMIT_KEY_SERVICE_PRINCIPAL, RATE_LIMIT_KEY_USER, RATE_LIMIT_KEY_USER_DEFAULT, RATE_LIMIT_KEY_USER_GROUP

TYPE: str | VariableType

principal

Principal this limit applies to: user email, group name, or service principal application ID. Required when key applies to a user, group, or service principal; otherwise it must be unset

TYPE: str | None | VariableType DEFAULT: None

renewal_period

Renewal period. Possible values are: RATE_LIMIT_RENEWAL_PERIOD_HOUR, RATE_LIMIT_RENEWAL_PERIOD_MINUTE

TYPE: str | VariableType

requests

Maximum requests allowed in one renewal period. Leave unset for no request limit. Set to 0 to deny all requests

TYPE: int | None | VariableType DEFAULT: None

tokens

Maximum tokens allowed in one renewal period. Leave unset for no token limit. Set to 0 to deny all requests

TYPE: int | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceConfigTargets ¤

Bases: BaseModel

PARAMETER DESCRIPTION
model

Provider-side model identifier, such as gpt-5 or claude-opus-4-7. This identifies a model at the upstream provider; it is not a Unity Catalog model resource

TYPE: str | VariableType

native_api_types

Provider-native API types supported by this model, such as openai/v1/chat/completions. At least one value is required. AI Gateway uses these values to translate requests and responses. At most 64 entries of 256 characters each are allowed

TYPE: list[str] | None | VariableType DEFAULT: None


laktory.models.resources.databricks.aigatewaymodelproviderservice.AiGatewayModelProviderServiceProviderConfig ¤

Bases: BaseModel

PARAMETER DESCRIPTION
workspace_id

Workspace ID which the resource belongs to. This workspace must be part of the account which the provider is configured with

TYPE: str | None | VariableType DEFAULT: None