published on Wednesday, Mar 4, 2026 by airbytehq
published on Wednesday, Mar 4, 2026 by airbytehq
Resolves and merges connector configuration for use with airbyte.Source or airbyte.Destination resources.
This data source resolves a connector name (and optional version) to its definition ID, fetches the connector’s JSONSchema spec, validates configuration against it, and merges non-sensitive and sensitive configuration into a single JSON blob suitable for passing to a resource.
Example Usage
Pin to a specific connector version
Fetch the spec for an exact version and validate configuration against it:
import * as pulumi from "@pulumi/pulumi";
import * as airbyte from "@pulumi/airbyte";
const github = airbyte.getConnectorConfiguration({
connectorName: "source-github",
connectorVersion: "2.0.0",
configuration: {
repositories: ["airbytehq/airbyte"],
credentials: {
optionTitle: "PAT Credentials",
personalAccessToken: githubPat,
},
},
});
import pulumi
import pulumi_airbyte as airbyte
github = airbyte.get_connector_configuration(connector_name="source-github",
connector_version="2.0.0",
configuration={
"repositories": ["airbytehq/airbyte"],
"credentials": {
"optionTitle": "PAT Credentials",
"personalAccessToken": github_pat,
},
})
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/airbyte/airbyte"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := airbyte.GetConnectorConfiguration(ctx, &airbyte.GetConnectorConfigurationArgs{
ConnectorName: "source-github",
ConnectorVersion: pulumi.StringRef("2.0.0"),
Configuration: map[string]interface{}{
"repositories": []string{
"airbytehq/airbyte",
},
"credentials": map[string]interface{}{
"optionTitle": "PAT Credentials",
"personalAccessToken": githubPat,
},
},
}, nil)
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Airbyte = Pulumi.Airbyte;
return await Deployment.RunAsync(() =>
{
var github = Airbyte.GetConnectorConfiguration.Invoke(new()
{
ConnectorName = "source-github",
ConnectorVersion = "2.0.0",
Configuration =
{
{ "repositories", new[]
{
"airbytehq/airbyte",
} },
{ "credentials",
{
{ "optionTitle", "PAT Credentials" },
{ "personalAccessToken", githubPat },
} },
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.airbyte.AirbyteFunctions;
import com.pulumi.airbyte.inputs.GetConnectorConfigurationArgs;
import java.util.List;
import java.util.ArrayList;
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) {
final var github = AirbyteFunctions.getConnectorConfiguration(GetConnectorConfigurationArgs.builder()
.connectorName("source-github")
.connectorVersion("2.0.0")
.configuration(Map.ofEntries(
Map.entry("repositories", "airbytehq/airbyte"),
Map.entry("credentials", Map.ofEntries(
Map.entry("optionTitle", "PAT Credentials"),
Map.entry("personalAccessToken", githubPat)
))
))
.build());
}
}
variables:
github:
fn::invoke:
function: airbyte:getConnectorConfiguration
arguments:
connectorName: source-github
connectorVersion: 2.0.0
configuration:
repositories:
- airbytehq/airbyte
credentials:
optionTitle: PAT Credentials
personalAccessToken: ${githubPat}
Use the latest version with separate secrets
When connector_version is omitted, the latest spec is fetched. Use configuration_secrets to keep sensitive values hidden in plan output:
import * as pulumi from "@pulumi/pulumi";
import * as airbyte from "@pulumi/airbyte";
const postgres = airbyte.getConnectorConfiguration({
connectorName: "source-postgres",
configuration: {
host: "db.example.com",
port: 5432,
database: "mydb",
schemas: ["public"],
sslMode: {
mode: "prefer",
},
},
configurationSecrets: {
username: pgUser,
password: pgPassword,
},
});
import pulumi
import pulumi_airbyte as airbyte
postgres = airbyte.get_connector_configuration(connector_name="source-postgres",
configuration={
"host": "db.example.com",
"port": 5432,
"database": "mydb",
"schemas": ["public"],
"sslMode": {
"mode": "prefer",
},
},
configuration_secrets={
"username": pg_user,
"password": pg_password,
})
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/airbyte/airbyte"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := airbyte.GetConnectorConfiguration(ctx, &airbyte.GetConnectorConfigurationArgs{
ConnectorName: "source-postgres",
Configuration: map[string]interface{}{
"host": "db.example.com",
"port": 5432,
"database": "mydb",
"schemas": []string{
"public",
},
"sslMode": map[string]interface{}{
"mode": "prefer",
},
},
ConfigurationSecrets: map[string]interface{}{
"username": pgUser,
"password": pgPassword,
},
}, nil)
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Airbyte = Pulumi.Airbyte;
return await Deployment.RunAsync(() =>
{
var postgres = Airbyte.GetConnectorConfiguration.Invoke(new()
{
ConnectorName = "source-postgres",
Configuration =
{
{ "host", "db.example.com" },
{ "port", 5432 },
{ "database", "mydb" },
{ "schemas", new[]
{
"public",
} },
{ "sslMode",
{
{ "mode", "prefer" },
} },
},
ConfigurationSecrets =
{
{ "username", pgUser },
{ "password", pgPassword },
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.airbyte.AirbyteFunctions;
import com.pulumi.airbyte.inputs.GetConnectorConfigurationArgs;
import java.util.List;
import java.util.ArrayList;
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) {
final var postgres = AirbyteFunctions.getConnectorConfiguration(GetConnectorConfigurationArgs.builder()
.connectorName("source-postgres")
.configuration(Map.ofEntries(
Map.entry("host", "db.example.com"),
Map.entry("port", 5432),
Map.entry("database", "mydb"),
Map.entry("schemas", "public"),
Map.entry("sslMode", Map.of("mode", "prefer"))
))
.configurationSecrets(Map.ofEntries(
Map.entry("username", pgUser),
Map.entry("password", pgPassword)
))
.build());
}
}
variables:
postgres:
fn::invoke:
function: airbyte:getConnectorConfiguration
arguments:
connectorName: source-postgres
configuration:
host: db.example.com
port: 5432
database: mydb
schemas:
- public
sslMode:
mode: prefer
configurationSecrets:
username: ${pgUser}
password: ${pgPassword}
Pass resolved values to a resource
Use the data source outputs to configure an airbyte.Source or airbyte.Destination resource:
import * as pulumi from "@pulumi/pulumi";
import * as airbyte from "@pulumi/airbyte";
const postgres = new airbyte.Source("postgres", {
name: "Postgres",
definitionId: postgresAirbyteConnectorConfiguration.definitionId,
workspaceId: workspaceId,
configuration: postgresAirbyteConnectorConfiguration.configurationJson,
});
import pulumi
import pulumi_airbyte as airbyte
postgres = airbyte.Source("postgres",
name="Postgres",
definition_id=postgres_airbyte_connector_configuration["definitionId"],
workspace_id=workspace_id,
configuration=postgres_airbyte_connector_configuration["configurationJson"])
package main
import (
"github.com/pulumi/pulumi-terraform-provider/sdks/go/airbyte/airbyte"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := airbyte.NewSource(ctx, "postgres", &airbyte.SourceArgs{
Name: pulumi.String("Postgres"),
DefinitionId: pulumi.Any(postgresAirbyteConnectorConfiguration.DefinitionId),
WorkspaceId: pulumi.Any(workspaceId),
Configuration: pulumi.Any(postgresAirbyteConnectorConfiguration.ConfigurationJson),
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Airbyte = Pulumi.Airbyte;
return await Deployment.RunAsync(() =>
{
var postgres = new Airbyte.Source("postgres", new()
{
Name = "Postgres",
DefinitionId = postgresAirbyteConnectorConfiguration.DefinitionId,
WorkspaceId = workspaceId,
Configuration = postgresAirbyteConnectorConfiguration.ConfigurationJson,
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.airbyte.Source;
import com.pulumi.airbyte.SourceArgs;
import java.util.List;
import java.util.ArrayList;
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 postgres = new Source("postgres", SourceArgs.builder()
.name("Postgres")
.definitionId(postgresAirbyteConnectorConfiguration.definitionId())
.workspaceId(workspaceId)
.configuration(postgresAirbyteConnectorConfiguration.configurationJson())
.build());
}
}
resources:
postgres:
type: airbyte:Source
properties:
name: Postgres
definitionId: ${postgresAirbyteConnectorConfiguration.definitionId}
workspaceId: ${workspaceId}
configuration: ${postgresAirbyteConnectorConfiguration.configurationJson}
Using getConnectorConfiguration
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getConnectorConfiguration(args: GetConnectorConfigurationArgs, opts?: InvokeOptions): Promise<GetConnectorConfigurationResult>
function getConnectorConfigurationOutput(args: GetConnectorConfigurationOutputArgs, opts?: InvokeOptions): Output<GetConnectorConfigurationResult>def get_connector_configuration(configuration: Optional[Any] = None,
configuration_secrets: Optional[Any] = None,
connector_name: Optional[str] = None,
connector_version: Optional[str] = None,
ignore_errors: Optional[bool] = None,
opts: Optional[InvokeOptions] = None) -> GetConnectorConfigurationResult
def get_connector_configuration_output(configuration: Optional[Any] = None,
configuration_secrets: Optional[Any] = None,
connector_name: Optional[pulumi.Input[str]] = None,
connector_version: Optional[pulumi.Input[str]] = None,
ignore_errors: Optional[pulumi.Input[bool]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetConnectorConfigurationResult]func GetConnectorConfiguration(ctx *Context, args *GetConnectorConfigurationArgs, opts ...InvokeOption) (*GetConnectorConfigurationResult, error)
func GetConnectorConfigurationOutput(ctx *Context, args *GetConnectorConfigurationOutputArgs, opts ...InvokeOption) GetConnectorConfigurationResultOutput> Note: This function is named GetConnectorConfiguration in the Go SDK.
public static class GetConnectorConfiguration
{
public static Task<GetConnectorConfigurationResult> InvokeAsync(GetConnectorConfigurationArgs args, InvokeOptions? opts = null)
public static Output<GetConnectorConfigurationResult> Invoke(GetConnectorConfigurationInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetConnectorConfigurationResult> getConnectorConfiguration(GetConnectorConfigurationArgs args, InvokeOptions options)
public static Output<GetConnectorConfigurationResult> getConnectorConfiguration(GetConnectorConfigurationArgs args, InvokeOptions options)
fn::invoke:
function: airbyte:index/getConnectorConfiguration:getConnectorConfiguration
arguments:
# arguments dictionaryThe following arguments are supported:
- Configuration object
- Non-sensitive configuration values as an HCL object. These will be visible in pulumi preview output.
- Connector
Name string - The name of the connector (e.g.
source-postgres,destination-bigquery). - Configuration
Secrets object - Sensitive configuration values (API keys, passwords, etc.) as an HCL object. These are hidden in pulumi preview output. Keys here are deep-merged with (and override) keys in
configuration. - Connector
Version string - The version of the connector (e.g.
2.0.0). If not specified, the latest version is used. When set, the connector spec for that exact version is fetched and used for JSONSchema validation. - Ignore
Errors bool - If true, validation errors (including JSONSchema validation) are reported as warnings instead of errors. Defaults to false.
- Configuration interface{}
- Non-sensitive configuration values as an HCL object. These will be visible in pulumi preview output.
- Connector
Name string - The name of the connector (e.g.
source-postgres,destination-bigquery). - Configuration
Secrets interface{} - Sensitive configuration values (API keys, passwords, etc.) as an HCL object. These are hidden in pulumi preview output. Keys here are deep-merged with (and override) keys in
configuration. - Connector
Version string - The version of the connector (e.g.
2.0.0). If not specified, the latest version is used. When set, the connector spec for that exact version is fetched and used for JSONSchema validation. - Ignore
Errors bool - If true, validation errors (including JSONSchema validation) are reported as warnings instead of errors. Defaults to false.
- configuration Object
- Non-sensitive configuration values as an HCL object. These will be visible in pulumi preview output.
- connector
Name String - The name of the connector (e.g.
source-postgres,destination-bigquery). - configuration
Secrets Object - Sensitive configuration values (API keys, passwords, etc.) as an HCL object. These are hidden in pulumi preview output. Keys here are deep-merged with (and override) keys in
configuration. - connector
Version String - The version of the connector (e.g.
2.0.0). If not specified, the latest version is used. When set, the connector spec for that exact version is fetched and used for JSONSchema validation. - ignore
Errors Boolean - If true, validation errors (including JSONSchema validation) are reported as warnings instead of errors. Defaults to false.
- configuration any
- Non-sensitive configuration values as an HCL object. These will be visible in pulumi preview output.
- connector
Name string - The name of the connector (e.g.
source-postgres,destination-bigquery). - configuration
Secrets any - Sensitive configuration values (API keys, passwords, etc.) as an HCL object. These are hidden in pulumi preview output. Keys here are deep-merged with (and override) keys in
configuration. - connector
Version string - The version of the connector (e.g.
2.0.0). If not specified, the latest version is used. When set, the connector spec for that exact version is fetched and used for JSONSchema validation. - ignore
Errors boolean - If true, validation errors (including JSONSchema validation) are reported as warnings instead of errors. Defaults to false.
- configuration Any
- Non-sensitive configuration values as an HCL object. These will be visible in pulumi preview output.
- connector_
name str - The name of the connector (e.g.
source-postgres,destination-bigquery). - configuration_
secrets Any - Sensitive configuration values (API keys, passwords, etc.) as an HCL object. These are hidden in pulumi preview output. Keys here are deep-merged with (and override) keys in
configuration. - connector_
version str - The version of the connector (e.g.
2.0.0). If not specified, the latest version is used. When set, the connector spec for that exact version is fetched and used for JSONSchema validation. - ignore_
errors bool - If true, validation errors (including JSONSchema validation) are reported as warnings instead of errors. Defaults to false.
- configuration Any
- Non-sensitive configuration values as an HCL object. These will be visible in pulumi preview output.
- connector
Name String - The name of the connector (e.g.
source-postgres,destination-bigquery). - configuration
Secrets Any - Sensitive configuration values (API keys, passwords, etc.) as an HCL object. These are hidden in pulumi preview output. Keys here are deep-merged with (and override) keys in
configuration. - connector
Version String - The version of the connector (e.g.
2.0.0). If not specified, the latest version is used. When set, the connector spec for that exact version is fetched and used for JSONSchema validation. - ignore
Errors Boolean - If true, validation errors (including JSONSchema validation) are reported as warnings instead of errors. Defaults to false.
getConnectorConfiguration Result
The following output properties are available:
- Configuration object
- Non-sensitive configuration values as an HCL object. These will be visible in pulumi preview output.
- Configuration
Json string - The merged JSON configuration (non-sensitive + sensitive) for passing to an airbytesource or airbytedestination resource's
configurationattribute. - Connector
Name string - The name of the connector (e.g.
source-postgres,destination-bigquery). - Connector
Spec stringJson - The connector's
connectionSpecificationJSONSchema, as a JSON string. Useful for debugging or downstream tooling. - Definition
Id string - The UUID of the connector definition, resolved from
connector_name. - Docker
Image stringTag - The resolved Docker image tag (version) of the connector.
- Id string
- The provider-assigned unique ID for this managed resource.
- Configuration
Secrets object - Sensitive configuration values (API keys, passwords, etc.) as an HCL object. These are hidden in pulumi preview output. Keys here are deep-merged with (and override) keys in
configuration. - Connector
Version string - The version of the connector (e.g.
2.0.0). If not specified, the latest version is used. When set, the connector spec for that exact version is fetched and used for JSONSchema validation. - Ignore
Errors bool - If true, validation errors (including JSONSchema validation) are reported as warnings instead of errors. Defaults to false.
- Configuration interface{}
- Non-sensitive configuration values as an HCL object. These will be visible in pulumi preview output.
- Configuration
Json string - The merged JSON configuration (non-sensitive + sensitive) for passing to an airbytesource or airbytedestination resource's
configurationattribute. - Connector
Name string - The name of the connector (e.g.
source-postgres,destination-bigquery). - Connector
Spec stringJson - The connector's
connectionSpecificationJSONSchema, as a JSON string. Useful for debugging or downstream tooling. - Definition
Id string - The UUID of the connector definition, resolved from
connector_name. - Docker
Image stringTag - The resolved Docker image tag (version) of the connector.
- Id string
- The provider-assigned unique ID for this managed resource.
- Configuration
Secrets interface{} - Sensitive configuration values (API keys, passwords, etc.) as an HCL object. These are hidden in pulumi preview output. Keys here are deep-merged with (and override) keys in
configuration. - Connector
Version string - The version of the connector (e.g.
2.0.0). If not specified, the latest version is used. When set, the connector spec for that exact version is fetched and used for JSONSchema validation. - Ignore
Errors bool - If true, validation errors (including JSONSchema validation) are reported as warnings instead of errors. Defaults to false.
- configuration Object
- Non-sensitive configuration values as an HCL object. These will be visible in pulumi preview output.
- configuration
Json String - The merged JSON configuration (non-sensitive + sensitive) for passing to an airbytesource or airbytedestination resource's
configurationattribute. - connector
Name String - The name of the connector (e.g.
source-postgres,destination-bigquery). - connector
Spec StringJson - The connector's
connectionSpecificationJSONSchema, as a JSON string. Useful for debugging or downstream tooling. - definition
Id String - The UUID of the connector definition, resolved from
connector_name. - docker
Image StringTag - The resolved Docker image tag (version) of the connector.
- id String
- The provider-assigned unique ID for this managed resource.
- configuration
Secrets Object - Sensitive configuration values (API keys, passwords, etc.) as an HCL object. These are hidden in pulumi preview output. Keys here are deep-merged with (and override) keys in
configuration. - connector
Version String - The version of the connector (e.g.
2.0.0). If not specified, the latest version is used. When set, the connector spec for that exact version is fetched and used for JSONSchema validation. - ignore
Errors Boolean - If true, validation errors (including JSONSchema validation) are reported as warnings instead of errors. Defaults to false.
- configuration any
- Non-sensitive configuration values as an HCL object. These will be visible in pulumi preview output.
- configuration
Json string - The merged JSON configuration (non-sensitive + sensitive) for passing to an airbytesource or airbytedestination resource's
configurationattribute. - connector
Name string - The name of the connector (e.g.
source-postgres,destination-bigquery). - connector
Spec stringJson - The connector's
connectionSpecificationJSONSchema, as a JSON string. Useful for debugging or downstream tooling. - definition
Id string - The UUID of the connector definition, resolved from
connector_name. - docker
Image stringTag - The resolved Docker image tag (version) of the connector.
- id string
- The provider-assigned unique ID for this managed resource.
- configuration
Secrets any - Sensitive configuration values (API keys, passwords, etc.) as an HCL object. These are hidden in pulumi preview output. Keys here are deep-merged with (and override) keys in
configuration. - connector
Version string - The version of the connector (e.g.
2.0.0). If not specified, the latest version is used. When set, the connector spec for that exact version is fetched and used for JSONSchema validation. - ignore
Errors boolean - If true, validation errors (including JSONSchema validation) are reported as warnings instead of errors. Defaults to false.
- configuration Any
- Non-sensitive configuration values as an HCL object. These will be visible in pulumi preview output.
- configuration_
json str - The merged JSON configuration (non-sensitive + sensitive) for passing to an airbytesource or airbytedestination resource's
configurationattribute. - connector_
name str - The name of the connector (e.g.
source-postgres,destination-bigquery). - connector_
spec_ strjson - The connector's
connectionSpecificationJSONSchema, as a JSON string. Useful for debugging or downstream tooling. - definition_
id str - The UUID of the connector definition, resolved from
connector_name. - docker_
image_ strtag - The resolved Docker image tag (version) of the connector.
- id str
- The provider-assigned unique ID for this managed resource.
- configuration_
secrets Any - Sensitive configuration values (API keys, passwords, etc.) as an HCL object. These are hidden in pulumi preview output. Keys here are deep-merged with (and override) keys in
configuration. - connector_
version str - The version of the connector (e.g.
2.0.0). If not specified, the latest version is used. When set, the connector spec for that exact version is fetched and used for JSONSchema validation. - ignore_
errors bool - If true, validation errors (including JSONSchema validation) are reported as warnings instead of errors. Defaults to false.
- configuration Any
- Non-sensitive configuration values as an HCL object. These will be visible in pulumi preview output.
- configuration
Json String - The merged JSON configuration (non-sensitive + sensitive) for passing to an airbytesource or airbytedestination resource's
configurationattribute. - connector
Name String - The name of the connector (e.g.
source-postgres,destination-bigquery). - connector
Spec StringJson - The connector's
connectionSpecificationJSONSchema, as a JSON string. Useful for debugging or downstream tooling. - definition
Id String - The UUID of the connector definition, resolved from
connector_name. - docker
Image StringTag - The resolved Docker image tag (version) of the connector.
- id String
- The provider-assigned unique ID for this managed resource.
- configuration
Secrets Any - Sensitive configuration values (API keys, passwords, etc.) as an HCL object. These are hidden in pulumi preview output. Keys here are deep-merged with (and override) keys in
configuration. - connector
Version String - The version of the connector (e.g.
2.0.0). If not specified, the latest version is used. When set, the connector spec for that exact version is fetched and used for JSONSchema validation. - ignore
Errors Boolean - If true, validation errors (including JSONSchema validation) are reported as warnings instead of errors. Defaults to false.
Package Details
- Repository
- airbyte airbytehq/terraform-provider-airbyte
- License
- Notes
- This Pulumi package is based on the
airbyteTerraform Provider.
published on Wednesday, Mar 4, 2026 by airbytehq
