Skip to main content

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
FieldTypeDefaultNotes
base_urlstringThis field is necessary unless a different provider helper calculates it.
azure_api_versionstringlegacy runtime fallback: 2024-02-01The 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_deploymentstringmodelWhen this field is missing, the runtime uses the target model.
path_templatestringruntime/profile defaultThis 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
FieldTypeDefaultNotes
aws_regionstringThis necessary field gives the AWS region for Bedrock authentication signing. Set it in the provider target.
bedrock_model_familystringUse 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
FieldTypeDefaultNotes
gcp_projectstringThis field is necessary for operation. It occurs in the Vertex endpoint, and lint gives a warning when it is missing.
gcp_regionstringus-central1Vertex 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
FieldTypeDefaultNotes
anthropic_versionstring2023-06-01When the request does not contain this value, the gateway adds it as the anthropic-version header.
api_key_headerstringprovider-profile defaultAnthropic defaults to x-api-key.
api_key_prefixstringprovider-profile defaultAnthropic 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
FieldTypeNotes
cloudflare_account_idstringWhen base_url is missing, this field calculates https://api.cloudflare.com/client/v4/accounts/{account_id}/ai/v1.
cloudflare_account_id_envstringThis 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
FieldTypeNotes
snowflake_account_identifierstringWhen base_url is missing, this field calculates https://{account_identifier}.snowflakecomputing.com.
snowflake_account_identifier_envstringThis 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:

  • openai
  • anthropic
  • cohere
  • huggingface
  • replicate
  • databricks
  • watsonx
  • aws-bedrock
  • google-ai-studio
  • google-vertex
  • sagemaker
  • azure-openai
  • cloudflare-ai
  • snowflake-cortex
  • generic

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:

  • openai
  • anthropic
  • cohere
  • huggingface
  • replicate
  • watsonx
  • google-gemini

Other provider-level fields

FieldTypeDefaultNotes
allow_insecure_tlsbooleanfalseThis field skips TLS verification for the target.
regionstringThis field contains route data.
weightnumberWeighted routes use this value.
timeout_secondsinteger30This value sets the target timeout.
stream_timeout_secondsintegerThis field is an optional streaming override.
quantizationsstring[]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.

  • Use the canonical snake_case provider fields.
  • Set provider_type only when you must override the provider profile type.
  • Make sure that format agrees 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_tls for production traffic.

Next steps