Databricks SDK for JavaScript
    Preparing search index...

    Interface ModelProviderServiceConfig_AzureOpenAiProviderDirectConfig

    Direct form of Azure OpenAI provider config. Exactly one of three mutually-exclusive auth modes must be supplied on Create:

    • API key: set api_key, leave entra_service_principal and service_credential unset.
    • Entra ID (service principal): set entra_service_principal, leave api_key and service_credential unset.
    • UC service credential: set service_credential.name to the AIP-122 resource-name form credentials/{name}, leave api_key and entra_service_principal unset. The credential value lives in UC and is referenced by name, not held on this message. Only supported on Azure-hosted workspaces. Setting more than one mode is rejected.
    interface ModelProviderServiceConfig_AzureOpenAiProviderDirectConfig {
        authMode?:
            | {
                $case: "apiKey";
                apiKey: ModelProviderServiceConfig_ProviderSecret;
            }
            | {
                $case: "serviceCredential";
                serviceCredential: ModelProviderServiceConfig_ServiceCredential;
            }
            | {
                $case: "entraServicePrincipal";
                entraServicePrincipal: ModelProviderServiceConfig_EntraServicePrincipal;
            };
        baseUrl?: string;
        clientId?: string;
        clientSecret?: ModelProviderServiceConfig_ProviderSecret;
        tenantId?: string;
    }
    Index

    Properties

    authMode?:
        | { $case: "apiKey"; apiKey: ModelProviderServiceConfig_ProviderSecret }
        | {
            $case: "serviceCredential";
            serviceCredential: ModelProviderServiceConfig_ServiceCredential;
        }
        | {
            $case: "entraServicePrincipal";
            entraServicePrincipal: ModelProviderServiceConfig_EntraServicePrincipal;
        }

    Authentication mode. Exactly one variant may be set. (-- entra_service_principal is the canonical home for the Entra triple. The top-level tenant_id / client_id / client_secret fields are the pre-AIGOV-188 flat form, kept for one migration cycle: on read the handler populates BOTH the flat fields and this arm so old and new clients both work, and on write it accepts either shape. The flat fields are removed once all readers/writers have migrated to the oneof. --)

    Type Declaration

    • { $case: "apiKey"; apiKey: ModelProviderServiceConfig_ProviderSecret }
      • $case: "apiKey"
      • apiKey: ModelProviderServiceConfig_ProviderSecret

        Azure OpenAI API key. Mutually exclusive with the Entra and service-credential modes. Supplied as inline plaintext via ProviderSecret.plaintext.

    • {
          $case: "serviceCredential";
          serviceCredential: ModelProviderServiceConfig_ServiceCredential;
      }
      • $case: "serviceCredential"
      • serviceCredential: ModelProviderServiceConfig_ServiceCredential

        Reference to a UC service credential authorizing Azure OpenAI requests. On Create the caller supplies service_credential.name in the AIP-122 resource-name form credentials/{name}. Required on Create when using UC-service-credential auth; mutually exclusive with api_key and entra_service_principal. The credential is referenced by name; its value is not carried here. On read the resolved id and is_deleted are also populated. Only supported on Azure-hosted workspaces; Create requests from other clouds are rejected with INVALID_PARAMETER_VALUE.

    • {
          $case: "entraServicePrincipal";
          entraServicePrincipal: ModelProviderServiceConfig_EntraServicePrincipal;
      }
      • $case: "entraServicePrincipal"
      • entraServicePrincipal: ModelProviderServiceConfig_EntraServicePrincipal

        Entra ID (service principal) auth. Mutually exclusive with api_key and service_credential. Supersedes the flat tenant_id / client_id / client_secret fields.

    baseUrl?: string

    Full Azure OpenAI endpoint base URL, e.g. https://myresource.openai.azure.com. Required on Create.

    clientId?: string

    Deprecated flat Entra client ID. Superseded by entra_service_principal.client_id. Kept for one migration cycle; the handler mirrors it to/from entra_service_principal.

    Deprecated flat Entra client secret. Superseded by entra_service_principal.client_secret. Kept for one migration cycle; the handler mirrors it to/from entra_service_principal. Supplied as inline plaintext via ProviderSecret.plaintext.

    tenantId?: string

    Deprecated flat Entra tenant ID. Superseded by entra_service_principal.tenant_id. Kept for one migration cycle; the handler mirrors it to/from entra_service_principal.