published on Friday, Sep 18, 2026 by Pulumi
published on Friday, Sep 18, 2026 by Pulumi
Provides a Fastly AI Runtime Control provider connection, which stores the authentication details and the set of allowed models for an AI model provider.
Note: The API never returns the provider’s
apiKey, so its value cannot be reconciled against the remote state. Terraform will only update it when the configured value changes.
Example Usage
Basic usage:
import * as pulumi from "@pulumi/pulumi";
import * as fastly from "@pulumi/fastly";
const demo = new fastly.AiRuntimeControlProviderConnection("demo", {
name: "OpenAI",
baseUrl: "https://api.openai.com",
apiKey: openaiApiKey,
models: [
"gpt-4o",
"gpt-4o-mini",
],
});
import pulumi
import pulumi_fastly as fastly
demo = fastly.AiRuntimeControlProviderConnection("demo",
name="OpenAI",
base_url="https://api.openai.com",
api_key=openai_api_key,
models=[
"gpt-4o",
"gpt-4o-mini",
])
package main
import (
"github.com/pulumi/pulumi-fastly/sdk/v12/go/fastly"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := fastly.NewAiRuntimeControlProviderConnection(ctx, "demo", &fastly.AiRuntimeControlProviderConnectionArgs{
Name: pulumi.String("OpenAI"),
BaseUrl: pulumi.String("https://api.openai.com"),
ApiKey: pulumi.Any(openaiApiKey),
Models: pulumi.StringArray{
pulumi.String("gpt-4o"),
pulumi.String("gpt-4o-mini"),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Fastly = Pulumi.Fastly;
return await Deployment.RunAsync(() =>
{
var demo = new Fastly.AiRuntimeControlProviderConnection("demo", new()
{
Name = "OpenAI",
BaseUrl = "https://api.openai.com",
ApiKey = openaiApiKey,
Models = new[]
{
"gpt-4o",
"gpt-4o-mini",
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.fastly.AiRuntimeControlProviderConnection;
import com.pulumi.fastly.AiRuntimeControlProviderConnectionArgs;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var demo = new AiRuntimeControlProviderConnection("demo", AiRuntimeControlProviderConnectionArgs.builder()
.name("OpenAI")
.baseUrl("https://api.openai.com")
.apiKey(openaiApiKey)
.models(
"gpt-4o",
"gpt-4o-mini")
.build());
}
}
resources:
demo:
type: fastly:AiRuntimeControlProviderConnection
properties:
name: OpenAI
baseUrl: https://api.openai.com
apiKey: ${openaiApiKey}
models:
- gpt-4o
- gpt-4o-mini
pulumi {
required_providers {
fastly = {
source = "pulumi/fastly"
}
}
}
resource "fastly_airuntimecontrolproviderconnection" "demo" {
name = "OpenAI"
base_url = "https://api.openai.com"
api_key = openaiApiKey
models = ["gpt-4o", "gpt-4o-mini"]
}
Create AiRuntimeControlProviderConnection Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new AiRuntimeControlProviderConnection(name: string, args: AiRuntimeControlProviderConnectionArgs, opts?: CustomResourceOptions);@overload
def AiRuntimeControlProviderConnection(resource_name: str,
args: AiRuntimeControlProviderConnectionArgs,
opts: Optional[ResourceOptions] = None)
@overload
def AiRuntimeControlProviderConnection(resource_name: str,
opts: Optional[ResourceOptions] = None,
api_key: Optional[str] = None,
base_url: Optional[str] = None,
models: Optional[Sequence[str]] = None,
name: Optional[str] = None)func NewAiRuntimeControlProviderConnection(ctx *Context, name string, args AiRuntimeControlProviderConnectionArgs, opts ...ResourceOption) (*AiRuntimeControlProviderConnection, error)public AiRuntimeControlProviderConnection(string name, AiRuntimeControlProviderConnectionArgs args, CustomResourceOptions? opts = null)
public AiRuntimeControlProviderConnection(String name, AiRuntimeControlProviderConnectionArgs args)
public AiRuntimeControlProviderConnection(String name, AiRuntimeControlProviderConnectionArgs args, CustomResourceOptions options)
type: fastly:AiRuntimeControlProviderConnection
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.
resource "fastly_ai_runtime_control_provider_connection" "name" {
# resource properties
}Parameters
- name string
- The unique name of the resource.
- args AiRuntimeControlProviderConnectionArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- resource_name str
- The unique name of the resource.
- args AiRuntimeControlProviderConnectionArgs
- The arguments to resource properties.
- opts ResourceOptions
- Bag of options to control resource's behavior.
- ctx Context
- Context object for the current deployment.
- name string
- The unique name of the resource.
- args AiRuntimeControlProviderConnectionArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args AiRuntimeControlProviderConnectionArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args AiRuntimeControlProviderConnectionArgs
- The arguments to resource properties.
- options CustomResourceOptions
- Bag of options to control resource's behavior.
Constructor example
The following reference example uses placeholder values for all input properties.
var aiRuntimeControlProviderConnectionResource = new Fastly.AiRuntimeControlProviderConnection("aiRuntimeControlProviderConnectionResource", new()
{
ApiKey = "string",
BaseUrl = "string",
Models = new[]
{
"string",
},
Name = "string",
});
example, err := fastly.NewAiRuntimeControlProviderConnection(ctx, "aiRuntimeControlProviderConnectionResource", &fastly.AiRuntimeControlProviderConnectionArgs{
ApiKey: pulumi.String("string"),
BaseUrl: pulumi.String("string"),
Models: pulumi.StringArray{
pulumi.String("string"),
},
Name: pulumi.String("string"),
})
resource "fastly_ai_runtime_control_provider_connection" "aiRuntimeControlProviderConnectionResource" {
lifecycle {
create_before_destroy = true
}
api_key = "string"
base_url = "string"
models = ["string"]
name = "string"
}
var aiRuntimeControlProviderConnectionResource = new AiRuntimeControlProviderConnection("aiRuntimeControlProviderConnectionResource", AiRuntimeControlProviderConnectionArgs.builder()
.apiKey("string")
.baseUrl("string")
.models("string")
.name("string")
.build());
ai_runtime_control_provider_connection_resource = fastly.AiRuntimeControlProviderConnection("aiRuntimeControlProviderConnectionResource",
api_key="string",
base_url="string",
models=["string"],
name="string")
const aiRuntimeControlProviderConnectionResource = new fastly.AiRuntimeControlProviderConnection("aiRuntimeControlProviderConnectionResource", {
apiKey: "string",
baseUrl: "string",
models: ["string"],
name: "string",
});
type: fastly:AiRuntimeControlProviderConnection
properties:
apiKey: string
baseUrl: string
models:
- string
name: string
AiRuntimeControlProviderConnection Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The AiRuntimeControlProviderConnection resource accepts the following input properties:
- Api
Key string - The provider's secret key used for authentication. Never returned by the API, so it cannot be reconciled with the remote state.
- Base
Url string - The base URL for the provider's API, e.g.
https://api.openai.com. Must not include a/v1suffix, which the API appends automatically. Trailing slashes are stripped. - Models List<string>
- The set of allowed AI model identifiers, e.g.
["gpt-4o", "gpt-4o-mini"]. - Name string
- A human-readable name for the provider. Changing this forces a new provider connection to be created.
- Api
Key string - The provider's secret key used for authentication. Never returned by the API, so it cannot be reconciled with the remote state.
- Base
Url string - The base URL for the provider's API, e.g.
https://api.openai.com. Must not include a/v1suffix, which the API appends automatically. Trailing slashes are stripped. - Models []string
- The set of allowed AI model identifiers, e.g.
["gpt-4o", "gpt-4o-mini"]. - Name string
- A human-readable name for the provider. Changing this forces a new provider connection to be created.
- api_
key string - The provider's secret key used for authentication. Never returned by the API, so it cannot be reconciled with the remote state.
- base_
url string - The base URL for the provider's API, e.g.
https://api.openai.com. Must not include a/v1suffix, which the API appends automatically. Trailing slashes are stripped. - models list(string)
- The set of allowed AI model identifiers, e.g.
["gpt-4o", "gpt-4o-mini"]. - name string
- A human-readable name for the provider. Changing this forces a new provider connection to be created.
- api
Key String - The provider's secret key used for authentication. Never returned by the API, so it cannot be reconciled with the remote state.
- base
Url String - The base URL for the provider's API, e.g.
https://api.openai.com. Must not include a/v1suffix, which the API appends automatically. Trailing slashes are stripped. - models List<String>
- The set of allowed AI model identifiers, e.g.
["gpt-4o", "gpt-4o-mini"]. - name String
- A human-readable name for the provider. Changing this forces a new provider connection to be created.
- api
Key string - The provider's secret key used for authentication. Never returned by the API, so it cannot be reconciled with the remote state.
- base
Url string - The base URL for the provider's API, e.g.
https://api.openai.com. Must not include a/v1suffix, which the API appends automatically. Trailing slashes are stripped. - models string[]
- The set of allowed AI model identifiers, e.g.
["gpt-4o", "gpt-4o-mini"]. - name string
- A human-readable name for the provider. Changing this forces a new provider connection to be created.
- api_
key str - The provider's secret key used for authentication. Never returned by the API, so it cannot be reconciled with the remote state.
- base_
url str - The base URL for the provider's API, e.g.
https://api.openai.com. Must not include a/v1suffix, which the API appends automatically. Trailing slashes are stripped. - models Sequence[str]
- The set of allowed AI model identifiers, e.g.
["gpt-4o", "gpt-4o-mini"]. - name str
- A human-readable name for the provider. Changing this forces a new provider connection to be created.
- api
Key String - The provider's secret key used for authentication. Never returned by the API, so it cannot be reconciled with the remote state.
- base
Url String - The base URL for the provider's API, e.g.
https://api.openai.com. Must not include a/v1suffix, which the API appends automatically. Trailing slashes are stripped. - models List<String>
- The set of allowed AI model identifiers, e.g.
["gpt-4o", "gpt-4o-mini"]. - name String
- A human-readable name for the provider. Changing this forces a new provider connection to be created.
Outputs
All input properties are implicitly available as output properties. Additionally, the AiRuntimeControlProviderConnection resource produces the following output properties:
- Created
At string - Timestamp (UTC) of when the provider connection was created.
- Id string
- The provider-assigned unique ID for this managed resource.
- Secret
Id string - A hash representing the
apiKeyused to create the provider connection. - Updated
At string - Timestamp (UTC) of when the provider connection was last updated.
- Created
At string - Timestamp (UTC) of when the provider connection was created.
- Id string
- The provider-assigned unique ID for this managed resource.
- Secret
Id string - A hash representing the
apiKeyused to create the provider connection. - Updated
At string - Timestamp (UTC) of when the provider connection was last updated.
- created_
at string - Timestamp (UTC) of when the provider connection was created.
- id string
- The provider-assigned unique ID for this managed resource.
- secret_
id string - A hash representing the
apiKeyused to create the provider connection. - updated_
at string - Timestamp (UTC) of when the provider connection was last updated.
- created
At String - Timestamp (UTC) of when the provider connection was created.
- id String
- The provider-assigned unique ID for this managed resource.
- secret
Id String - A hash representing the
apiKeyused to create the provider connection. - updated
At String - Timestamp (UTC) of when the provider connection was last updated.
- created
At string - Timestamp (UTC) of when the provider connection was created.
- id string
- The provider-assigned unique ID for this managed resource.
- secret
Id string - A hash representing the
apiKeyused to create the provider connection. - updated
At string - Timestamp (UTC) of when the provider connection was last updated.
- created_
at str - Timestamp (UTC) of when the provider connection was created.
- id str
- The provider-assigned unique ID for this managed resource.
- secret_
id str - A hash representing the
apiKeyused to create the provider connection. - updated_
at str - Timestamp (UTC) of when the provider connection was last updated.
- created
At String - Timestamp (UTC) of when the provider connection was created.
- id String
- The provider-assigned unique ID for this managed resource.
- secret
Id String - A hash representing the
apiKeyused to create the provider connection. - updated
At String - Timestamp (UTC) of when the provider connection was last updated.
Look up Existing AiRuntimeControlProviderConnection Resource
Get an existing AiRuntimeControlProviderConnection resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.
public static get(name: string, id: Input<ID>, state?: AiRuntimeControlProviderConnectionState, opts?: CustomResourceOptions): AiRuntimeControlProviderConnection@staticmethod
def get(resource_name: str,
id: str,
opts: Optional[ResourceOptions] = None,
api_key: Optional[str] = None,
base_url: Optional[str] = None,
created_at: Optional[str] = None,
models: Optional[Sequence[str]] = None,
name: Optional[str] = None,
secret_id: Optional[str] = None,
updated_at: Optional[str] = None) -> AiRuntimeControlProviderConnectionfunc GetAiRuntimeControlProviderConnection(ctx *Context, name string, id IDInput, state *AiRuntimeControlProviderConnectionState, opts ...ResourceOption) (*AiRuntimeControlProviderConnection, error)public static AiRuntimeControlProviderConnection Get(string name, Input<string> id, AiRuntimeControlProviderConnectionState? state, CustomResourceOptions? opts = null)public static AiRuntimeControlProviderConnection get(String name, Output<String> id, AiRuntimeControlProviderConnectionState state, CustomResourceOptions options)resources: _: type: fastly:AiRuntimeControlProviderConnection get: id: ${id}import {
to = fastly_ai_runtime_control_provider_connection.example
id = "${id}"
}
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- resource_name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- name
- The unique name of the resulting resource.
- id
- The unique provider ID of the resource to lookup.
- state
- Any extra arguments used during the lookup.
- opts
- A bag of options that control this resource's behavior.
- Api
Key string - The provider's secret key used for authentication. Never returned by the API, so it cannot be reconciled with the remote state.
- Base
Url string - The base URL for the provider's API, e.g.
https://api.openai.com. Must not include a/v1suffix, which the API appends automatically. Trailing slashes are stripped. - Created
At string - Timestamp (UTC) of when the provider connection was created.
- Models List<string>
- The set of allowed AI model identifiers, e.g.
["gpt-4o", "gpt-4o-mini"]. - Name string
- A human-readable name for the provider. Changing this forces a new provider connection to be created.
- Secret
Id string - A hash representing the
apiKeyused to create the provider connection. - Updated
At string - Timestamp (UTC) of when the provider connection was last updated.
- Api
Key string - The provider's secret key used for authentication. Never returned by the API, so it cannot be reconciled with the remote state.
- Base
Url string - The base URL for the provider's API, e.g.
https://api.openai.com. Must not include a/v1suffix, which the API appends automatically. Trailing slashes are stripped. - Created
At string - Timestamp (UTC) of when the provider connection was created.
- Models []string
- The set of allowed AI model identifiers, e.g.
["gpt-4o", "gpt-4o-mini"]. - Name string
- A human-readable name for the provider. Changing this forces a new provider connection to be created.
- Secret
Id string - A hash representing the
apiKeyused to create the provider connection. - Updated
At string - Timestamp (UTC) of when the provider connection was last updated.
- api_
key string - The provider's secret key used for authentication. Never returned by the API, so it cannot be reconciled with the remote state.
- base_
url string - The base URL for the provider's API, e.g.
https://api.openai.com. Must not include a/v1suffix, which the API appends automatically. Trailing slashes are stripped. - created_
at string - Timestamp (UTC) of when the provider connection was created.
- models list(string)
- The set of allowed AI model identifiers, e.g.
["gpt-4o", "gpt-4o-mini"]. - name string
- A human-readable name for the provider. Changing this forces a new provider connection to be created.
- secret_
id string - A hash representing the
apiKeyused to create the provider connection. - updated_
at string - Timestamp (UTC) of when the provider connection was last updated.
- api
Key String - The provider's secret key used for authentication. Never returned by the API, so it cannot be reconciled with the remote state.
- base
Url String - The base URL for the provider's API, e.g.
https://api.openai.com. Must not include a/v1suffix, which the API appends automatically. Trailing slashes are stripped. - created
At String - Timestamp (UTC) of when the provider connection was created.
- models List<String>
- The set of allowed AI model identifiers, e.g.
["gpt-4o", "gpt-4o-mini"]. - name String
- A human-readable name for the provider. Changing this forces a new provider connection to be created.
- secret
Id String - A hash representing the
apiKeyused to create the provider connection. - updated
At String - Timestamp (UTC) of when the provider connection was last updated.
- api
Key string - The provider's secret key used for authentication. Never returned by the API, so it cannot be reconciled with the remote state.
- base
Url string - The base URL for the provider's API, e.g.
https://api.openai.com. Must not include a/v1suffix, which the API appends automatically. Trailing slashes are stripped. - created
At string - Timestamp (UTC) of when the provider connection was created.
- models string[]
- The set of allowed AI model identifiers, e.g.
["gpt-4o", "gpt-4o-mini"]. - name string
- A human-readable name for the provider. Changing this forces a new provider connection to be created.
- secret
Id string - A hash representing the
apiKeyused to create the provider connection. - updated
At string - Timestamp (UTC) of when the provider connection was last updated.
- api_
key str - The provider's secret key used for authentication. Never returned by the API, so it cannot be reconciled with the remote state.
- base_
url str - The base URL for the provider's API, e.g.
https://api.openai.com. Must not include a/v1suffix, which the API appends automatically. Trailing slashes are stripped. - created_
at str - Timestamp (UTC) of when the provider connection was created.
- models Sequence[str]
- The set of allowed AI model identifiers, e.g.
["gpt-4o", "gpt-4o-mini"]. - name str
- A human-readable name for the provider. Changing this forces a new provider connection to be created.
- secret_
id str - A hash representing the
apiKeyused to create the provider connection. - updated_
at str - Timestamp (UTC) of when the provider connection was last updated.
- api
Key String - The provider's secret key used for authentication. Never returned by the API, so it cannot be reconciled with the remote state.
- base
Url String - The base URL for the provider's API, e.g.
https://api.openai.com. Must not include a/v1suffix, which the API appends automatically. Trailing slashes are stripped. - created
At String - Timestamp (UTC) of when the provider connection was created.
- models List<String>
- The set of allowed AI model identifiers, e.g.
["gpt-4o", "gpt-4o-mini"]. - name String
- A human-readable name for the provider. Changing this forces a new provider connection to be created.
- secret
Id String - A hash representing the
apiKeyused to create the provider connection. - updated
At String - Timestamp (UTC) of when the provider connection was last updated.
Import
Fastly AI Runtime Control provider connections can be imported using their ID, e.g.
$ pulumi import fastly:index/aiRuntimeControlProviderConnection:AiRuntimeControlProviderConnection demo xxxxxxxxxxxxxxxxxxxx
Note that apiKey cannot be imported, since the API does not return it.
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- Fastly pulumi/pulumi-fastly
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
fastlyTerraform Provider.
published on Friday, Sep 18, 2026 by Pulumi