Cloud provider configuration
Each cloud provider can add specified fields to providers.targets[]. This
page shows the fields used for provider configuration and authentication.
Replace each your-...-model and deployment placeholder with an ID that is active for the provider account and region.
Azure OpenAI
providers:
targets:
- id: azure-primary
provider: azure
provider_type: azure-openai
format: openai
model: your-azure-openai-model
base_url: https://replace-with-resource-name.openai.azure.com
secret_key_ref:
env: VERDICTAN_AZURE_OPENAI_API_KEY
azure_api_version: your-supported-api-version
azure_deployment: your-azure-deployment
| Field | Type | Default | Notes |
|---|---|---|---|
base_url | string | — | This field is necessary unless a different provider helper calculates it. |
azure_api_version | string | legacy runtime fallback: 2024-02-01 | The Azure authentication builder sends this value. Set a version that your Azure deployment supports at this time. Do not use the fallback as your selected version. |
azure_deployment | string | model | When this field is missing, the runtime uses the target model. |
path_template | string | runtime/profile default | This optional field contains a specified request path template. |
AWS Bedrock
providers:
targets:
- id: bedrock-claude
provider: aws-bedrock
provider_type: aws-bedrock
format: anthropic
model: anthropic.replace-with-bedrock-model-id
base_url: https://bedrock-runtime.us-east-1.amazonaws.com
aws_region: us-east-1
bedrock_model_family: anthropic_messages
| Field | Type | Default | Notes |
|---|---|---|---|
aws_region | string | — | This necessary field gives the AWS region for Bedrock authentication signing. Set it in the provider target. |
bedrock_model_family | string | — | Use anthropic_messages for the documented Anthropic-on-Bedrock request family. |
aws_profile selects an optional profile in the default AWS credential chain. Bedrock authentication can use standard AWS profiles, workload credentials, and environment session credentials.
Keep secrets out of YAML. Use the standard AWS path that resolves credentials for the gateway process.
Bedrock targets use the AWS credential chain. A provider API key in secret_key_ref is not necessary.
When the signer runs, the specified AWS environment variables must be available.
Before rollout, verify the selected model family and request type in the configured region.
Google Vertex AI
providers:
targets:
- id: vertex-gemini
provider: vertex-ai
provider_type: google-vertex
format: google-gemini
model: your-gemini-model
gcp_project: my-gcp-project
gcp_region: us-central1
| Field | Type | Default | Notes |
|---|---|---|---|
gcp_project | string | — | This field is necessary for operation. It occurs in the Vertex endpoint, and lint gives a warning when it is missing. |
gcp_region | string | us-central1 | Vertex authentication uses this GCP region. Set it explicitly when your model runs in a different region. |
Vertex targets use the configured Google authentication path. A provider API
key in secret_key_ref is not necessary for the documented Vertex path.
Google AI Studio
providers:
targets:
- id: gemini-studio
provider: google-ai-studio
provider_type: google-ai-studio
format: google-gemini
model: your-gemini-model
secret_key_ref:
env: VERDICTAN_GEMINI_API_KEY
Google AI Studio uses the provider profile defaults. These defaults are x-goog-api-key and the google-gemini wire format.
No more cloud fields are necessary.
Anthropic
providers:
targets:
- id: anthropic-prod
provider: anthropic
provider_type: anthropic
format: anthropic
model: your-anthropic-model
secret_key_ref:
env: VERDICTAN_ANTHROPIC_API_KEY
anthropic_version: 2023-06-01
| Field | Type | Default | Notes |
|---|---|---|---|
anthropic_version | string | 2023-06-01 | When the request does not contain this value, the gateway adds it as the anthropic-version header. |
api_key_header | string | provider-profile default | Anthropic defaults to x-api-key. |
api_key_prefix | string | provider-profile default | Anthropic defaults to an empty prefix. |
Cloudflare AI
providers:
targets:
- id: cloudflare-llm
provider: cloudflare-ai
provider_type: cloudflare-ai
format: openai
model: your-cloudflare-model
cloudflare_account_id: your-cloudflare-account-id
secret_key_ref:
env: VERDICTAN_CF_API_TOKEN
| Field | Type | Notes |
|---|---|---|
cloudflare_account_id | string | When base_url is missing, this field calculates https://api.cloudflare.com/client/v4/accounts/{account_id}/ai/v1. |
cloudflare_account_id_env | string | This is the environment variable name that contains the account ID. |
Snowflake Cortex
providers:
targets:
- id: snowflake-llm
provider: snowflake-cortex
model: your-snowflake-model
snowflake_account_identifier: myorg-myaccount
secret_key_ref:
env: VERDICTAN_SNOWFLAKE_API_KEY
| Field | Type | Notes |
|---|---|---|
snowflake_account_identifier | string | When base_url is missing, this field calculates https://{account_identifier}.snowflakecomputing.com. |
snowflake_account_identifier_env | string | This is the environment variable name that contains the account identifier. |
Specified provider type
Use provider_type only when you must override the type from the provider profile.
providers:
targets:
- id: custom-openai-compatible
provider: my-custom-provider
provider_type: openai
base_url: https://llm.example.com
model: your-provider-model
secret_key_ref:
env: VERDICTAN_CUSTOM_PROVIDER_KEY
Supported specified values are:
openaianthropiccoherehuggingfacereplicatedatabrickswatsonxaws-bedrockgoogle-ai-studiogoogle-vertexsagemakerazure-openaicloudflare-aisnowflake-cortexgeneric
Wire format translation
providers:
targets:
- id: anthropic-explicit-format
provider: anthropic
provider_type: anthropic
format: anthropic
model: your-anthropic-model
secret_key_ref:
env: VERDICTAN_ANTHROPIC_API_KEY
Use format: anthropic when the target must use the native Anthropic wire contract. It does not replace provider fields or the tested workflow.
Supported format values are:
openaianthropiccoherehuggingfacereplicatewatsonxgoogle-gemini
Other provider-level fields
| Field | Type | Default | Notes |
|---|---|---|---|
allow_insecure_tls | boolean | false | This field skips TLS verification for the target. |
region | string | — | This field contains route data. |
weight | number | — | Weighted routes use this value. |
timeout_seconds | integer | 30 | This value sets the target timeout. |
stream_timeout_seconds | integer | — | This field is an optional streaming override. |
quantizations | string[] | — | Target values are fp32, fp16, bf16, int8, int4, awq, gptq, and gguf. Route filters accept a smaller set. |
Complete example
pack:
name: multi-cloud
version: 1.0.0
enabled: true
providers:
targets:
- id: azure-prod
provider: azure
provider_type: azure-openai
format: openai
model: your-azure-openai-model
base_url: https://replace-with-resource-name.openai.azure.com
secret_key_ref:
env: VERDICTAN_AZURE_OPENAI_API_KEY
azure_deployment: your-azure-deployment
azure_api_version: your-supported-api-version
- id: vertex-eu
provider: vertex-ai
provider_type: google-vertex
format: google-gemini
model: your-gemini-model
gcp_project: your-gcp-project
gcp_region: europe-west4
- id: cloudflare-edge
provider: cloudflare-ai
provider_type: cloudflare-ai
format: openai
model: your-cloudflare-model
cloudflare_account_id: your-cloudflare-account-id
secret_key_ref:
env: VERDICTAN_CF_API_TOKEN
routing:
strategy: ordered
policies:
chain:
- audit-logger
policy:
audit-logger: {}
With ordered routing, the gateway uses its retry and provider-attempt rules to
examine subsequent eligible targets.
If a deployment must stop on the first eligible target, use providers.routing.allow_fallbacks: false.
See provider attempts and fallback. Before you run the example, replace each placeholder with an account and region value.
Recommended use
- Use the canonical
snake_caseprovider fields. - Set
provider_typeonly when you must override the provider profile type. - Make sure that
formatagrees with the wire protocol that the gateway must translate. - Use only the quantization values that are accepted at this time.
- Do not use
allow_insecure_tlsfor production traffic.