1. Packages
  2. Confluent Provider
  3. API Docs
  4. ProviderIntegration
Confluent v2.22.0 published on Friday, Mar 28, 2025 by Pulumi

confluentcloud.ProviderIntegration

Explore with Pulumi AI

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as confluentcloud from "@pulumi/confluentcloud";

const staging = new confluentcloud.Environment("staging", {
    displayName: "Staging",
    streamGovernance: {
        "package": "ESSENTIALS",
    },
});
const main = new confluentcloud.ProviderIntegration("main", {
    environment: {
        id: staging.id,
    },
    aws: {
        customerRoleArn: customerRoleArn,
    },
    displayName: "provider_integration_main",
});
Copy
import pulumi
import pulumi_confluentcloud as confluentcloud

staging = confluentcloud.Environment("staging",
    display_name="Staging",
    stream_governance={
        "package": "ESSENTIALS",
    })
main = confluentcloud.ProviderIntegration("main",
    environment={
        "id": staging.id,
    },
    aws={
        "customer_role_arn": customer_role_arn,
    },
    display_name="provider_integration_main")
Copy
package main

import (
	"github.com/pulumi/pulumi-confluentcloud/sdk/v2/go/confluentcloud"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		staging, err := confluentcloud.NewEnvironment(ctx, "staging", &confluentcloud.EnvironmentArgs{
			DisplayName: pulumi.String("Staging"),
			StreamGovernance: &confluentcloud.EnvironmentStreamGovernanceArgs{
				Package: pulumi.String("ESSENTIALS"),
			},
		})
		if err != nil {
			return err
		}
		_, err = confluentcloud.NewProviderIntegration(ctx, "main", &confluentcloud.ProviderIntegrationArgs{
			Environment: &confluentcloud.ProviderIntegrationEnvironmentArgs{
				Id: staging.ID(),
			},
			Aws: &confluentcloud.ProviderIntegrationAwsArgs{
				CustomerRoleArn: pulumi.Any(customerRoleArn),
			},
			DisplayName: pulumi.String("provider_integration_main"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using ConfluentCloud = Pulumi.ConfluentCloud;

return await Deployment.RunAsync(() => 
{
    var staging = new ConfluentCloud.Environment("staging", new()
    {
        DisplayName = "Staging",
        StreamGovernance = new ConfluentCloud.Inputs.EnvironmentStreamGovernanceArgs
        {
            Package = "ESSENTIALS",
        },
    });

    var main = new ConfluentCloud.ProviderIntegration("main", new()
    {
        Environment = new ConfluentCloud.Inputs.ProviderIntegrationEnvironmentArgs
        {
            Id = staging.Id,
        },
        Aws = new ConfluentCloud.Inputs.ProviderIntegrationAwsArgs
        {
            CustomerRoleArn = customerRoleArn,
        },
        DisplayName = "provider_integration_main",
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.confluentcloud.Environment;
import com.pulumi.confluentcloud.EnvironmentArgs;
import com.pulumi.confluentcloud.inputs.EnvironmentStreamGovernanceArgs;
import com.pulumi.confluentcloud.ProviderIntegration;
import com.pulumi.confluentcloud.ProviderIntegrationArgs;
import com.pulumi.confluentcloud.inputs.ProviderIntegrationEnvironmentArgs;
import com.pulumi.confluentcloud.inputs.ProviderIntegrationAwsArgs;
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 staging = new Environment("staging", EnvironmentArgs.builder()
            .displayName("Staging")
            .streamGovernance(EnvironmentStreamGovernanceArgs.builder()
                .package_("ESSENTIALS")
                .build())
            .build());

        var main = new ProviderIntegration("main", ProviderIntegrationArgs.builder()
            .environment(ProviderIntegrationEnvironmentArgs.builder()
                .id(staging.id())
                .build())
            .aws(ProviderIntegrationAwsArgs.builder()
                .customerRoleArn(customerRoleArn)
                .build())
            .displayName("provider_integration_main")
            .build());

    }
}
Copy
resources:
  staging:
    type: confluentcloud:Environment
    properties:
      displayName: Staging
      streamGovernance:
        package: ESSENTIALS
  main:
    type: confluentcloud:ProviderIntegration
    properties:
      environment:
        id: ${staging.id}
      aws:
        customerRoleArn: ${customerRoleArn}
      displayName: provider_integration_main
Copy

Getting Started

The following end-to-end examples might help to get started with confluentcloud.ProviderIntegration resource:

  • s3-sink-connector-assume-role: Amazon S3 Sink Connector with IAM role-based authorization using a Provider Integration

Create ProviderIntegration Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new ProviderIntegration(name: string, args: ProviderIntegrationArgs, opts?: CustomResourceOptions);
@overload
def ProviderIntegration(resource_name: str,
                        args: ProviderIntegrationArgs,
                        opts: Optional[ResourceOptions] = None)

@overload
def ProviderIntegration(resource_name: str,
                        opts: Optional[ResourceOptions] = None,
                        display_name: Optional[str] = None,
                        environment: Optional[ProviderIntegrationEnvironmentArgs] = None,
                        aws: Optional[ProviderIntegrationAwsArgs] = None)
func NewProviderIntegration(ctx *Context, name string, args ProviderIntegrationArgs, opts ...ResourceOption) (*ProviderIntegration, error)
public ProviderIntegration(string name, ProviderIntegrationArgs args, CustomResourceOptions? opts = null)
public ProviderIntegration(String name, ProviderIntegrationArgs args)
public ProviderIntegration(String name, ProviderIntegrationArgs args, CustomResourceOptions options)
type: confluentcloud:ProviderIntegration
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. ProviderIntegrationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. ProviderIntegrationArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. ProviderIntegrationArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. ProviderIntegrationArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. ProviderIntegrationArgs
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 providerIntegrationResource = new ConfluentCloud.ProviderIntegration("providerIntegrationResource", new()
{
    DisplayName = "string",
    Environment = new ConfluentCloud.Inputs.ProviderIntegrationEnvironmentArgs
    {
        Id = "string",
    },
    Aws = new ConfluentCloud.Inputs.ProviderIntegrationAwsArgs
    {
        CustomerRoleArn = "string",
        ExternalId = "string",
        IamRoleArn = "string",
    },
});
Copy
example, err := confluentcloud.NewProviderIntegration(ctx, "providerIntegrationResource", &confluentcloud.ProviderIntegrationArgs{
	DisplayName: pulumi.String("string"),
	Environment: &confluentcloud.ProviderIntegrationEnvironmentArgs{
		Id: pulumi.String("string"),
	},
	Aws: &confluentcloud.ProviderIntegrationAwsArgs{
		CustomerRoleArn: pulumi.String("string"),
		ExternalId:      pulumi.String("string"),
		IamRoleArn:      pulumi.String("string"),
	},
})
Copy
var providerIntegrationResource = new ProviderIntegration("providerIntegrationResource", ProviderIntegrationArgs.builder()
    .displayName("string")
    .environment(ProviderIntegrationEnvironmentArgs.builder()
        .id("string")
        .build())
    .aws(ProviderIntegrationAwsArgs.builder()
        .customerRoleArn("string")
        .externalId("string")
        .iamRoleArn("string")
        .build())
    .build());
Copy
provider_integration_resource = confluentcloud.ProviderIntegration("providerIntegrationResource",
    display_name="string",
    environment={
        "id": "string",
    },
    aws={
        "customer_role_arn": "string",
        "external_id": "string",
        "iam_role_arn": "string",
    })
Copy
const providerIntegrationResource = new confluentcloud.ProviderIntegration("providerIntegrationResource", {
    displayName: "string",
    environment: {
        id: "string",
    },
    aws: {
        customerRoleArn: "string",
        externalId: "string",
        iamRoleArn: "string",
    },
});
Copy
type: confluentcloud:ProviderIntegration
properties:
    aws:
        customerRoleArn: string
        externalId: string
        iamRoleArn: string
    displayName: string
    environment:
        id: string
Copy

ProviderIntegration 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 ProviderIntegration resource accepts the following input properties:

DisplayName
This property is required.
Changes to this property will trigger replacement.
string
The name of the Provider Integration.
Environment
This property is required.
Changes to this property will trigger replacement.
Pulumi.ConfluentCloud.Inputs.ProviderIntegrationEnvironment
Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
Aws Changes to this property will trigger replacement. Pulumi.ConfluentCloud.Inputs.ProviderIntegrationAws
(Required Configuration Block) The AWS-specific Provider Integration config details. It supports the following:
DisplayName
This property is required.
Changes to this property will trigger replacement.
string
The name of the Provider Integration.
Environment
This property is required.
Changes to this property will trigger replacement.
ProviderIntegrationEnvironmentArgs
Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
Aws Changes to this property will trigger replacement. ProviderIntegrationAwsArgs
(Required Configuration Block) The AWS-specific Provider Integration config details. It supports the following:
displayName
This property is required.
Changes to this property will trigger replacement.
String
The name of the Provider Integration.
environment
This property is required.
Changes to this property will trigger replacement.
ProviderIntegrationEnvironment
Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
aws Changes to this property will trigger replacement. ProviderIntegrationAws
(Required Configuration Block) The AWS-specific Provider Integration config details. It supports the following:
displayName
This property is required.
Changes to this property will trigger replacement.
string
The name of the Provider Integration.
environment
This property is required.
Changes to this property will trigger replacement.
ProviderIntegrationEnvironment
Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
aws Changes to this property will trigger replacement. ProviderIntegrationAws
(Required Configuration Block) The AWS-specific Provider Integration config details. It supports the following:
display_name
This property is required.
Changes to this property will trigger replacement.
str
The name of the Provider Integration.
environment
This property is required.
Changes to this property will trigger replacement.
ProviderIntegrationEnvironmentArgs
Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
aws Changes to this property will trigger replacement. ProviderIntegrationAwsArgs
(Required Configuration Block) The AWS-specific Provider Integration config details. It supports the following:
displayName
This property is required.
Changes to this property will trigger replacement.
String
The name of the Provider Integration.
environment
This property is required.
Changes to this property will trigger replacement.
Property Map
Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
aws Changes to this property will trigger replacement. Property Map
(Required Configuration Block) The AWS-specific Provider Integration config details. It supports the following:

Outputs

All input properties are implicitly available as output properties. Additionally, the ProviderIntegration resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Usages List<string>
(Required List of Strings) List of resource CRNs where this provider integration is being used.
Id string
The provider-assigned unique ID for this managed resource.
Usages []string
(Required List of Strings) List of resource CRNs where this provider integration is being used.
id String
The provider-assigned unique ID for this managed resource.
usages List<String>
(Required List of Strings) List of resource CRNs where this provider integration is being used.
id string
The provider-assigned unique ID for this managed resource.
usages string[]
(Required List of Strings) List of resource CRNs where this provider integration is being used.
id str
The provider-assigned unique ID for this managed resource.
usages Sequence[str]
(Required List of Strings) List of resource CRNs where this provider integration is being used.
id String
The provider-assigned unique ID for this managed resource.
usages List<String>
(Required List of Strings) List of resource CRNs where this provider integration is being used.

Look up Existing ProviderIntegration Resource

Get an existing ProviderIntegration 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?: ProviderIntegrationState, opts?: CustomResourceOptions): ProviderIntegration
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        aws: Optional[ProviderIntegrationAwsArgs] = None,
        display_name: Optional[str] = None,
        environment: Optional[ProviderIntegrationEnvironmentArgs] = None,
        usages: Optional[Sequence[str]] = None) -> ProviderIntegration
func GetProviderIntegration(ctx *Context, name string, id IDInput, state *ProviderIntegrationState, opts ...ResourceOption) (*ProviderIntegration, error)
public static ProviderIntegration Get(string name, Input<string> id, ProviderIntegrationState? state, CustomResourceOptions? opts = null)
public static ProviderIntegration get(String name, Output<String> id, ProviderIntegrationState state, CustomResourceOptions options)
resources:  _:    type: confluentcloud:ProviderIntegration    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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 This property is required.
The unique name of the resulting resource.
id This property is required.
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.
The following state arguments are supported:
Aws Changes to this property will trigger replacement. Pulumi.ConfluentCloud.Inputs.ProviderIntegrationAws
(Required Configuration Block) The AWS-specific Provider Integration config details. It supports the following:
DisplayName Changes to this property will trigger replacement. string
The name of the Provider Integration.
Environment Changes to this property will trigger replacement. Pulumi.ConfluentCloud.Inputs.ProviderIntegrationEnvironment
Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
Usages List<string>
(Required List of Strings) List of resource CRNs where this provider integration is being used.
Aws Changes to this property will trigger replacement. ProviderIntegrationAwsArgs
(Required Configuration Block) The AWS-specific Provider Integration config details. It supports the following:
DisplayName Changes to this property will trigger replacement. string
The name of the Provider Integration.
Environment Changes to this property will trigger replacement. ProviderIntegrationEnvironmentArgs
Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
Usages []string
(Required List of Strings) List of resource CRNs where this provider integration is being used.
aws Changes to this property will trigger replacement. ProviderIntegrationAws
(Required Configuration Block) The AWS-specific Provider Integration config details. It supports the following:
displayName Changes to this property will trigger replacement. String
The name of the Provider Integration.
environment Changes to this property will trigger replacement. ProviderIntegrationEnvironment
Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
usages List<String>
(Required List of Strings) List of resource CRNs where this provider integration is being used.
aws Changes to this property will trigger replacement. ProviderIntegrationAws
(Required Configuration Block) The AWS-specific Provider Integration config details. It supports the following:
displayName Changes to this property will trigger replacement. string
The name of the Provider Integration.
environment Changes to this property will trigger replacement. ProviderIntegrationEnvironment
Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
usages string[]
(Required List of Strings) List of resource CRNs where this provider integration is being used.
aws Changes to this property will trigger replacement. ProviderIntegrationAwsArgs
(Required Configuration Block) The AWS-specific Provider Integration config details. It supports the following:
display_name Changes to this property will trigger replacement. str
The name of the Provider Integration.
environment Changes to this property will trigger replacement. ProviderIntegrationEnvironmentArgs
Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
usages Sequence[str]
(Required List of Strings) List of resource CRNs where this provider integration is being used.
aws Changes to this property will trigger replacement. Property Map
(Required Configuration Block) The AWS-specific Provider Integration config details. It supports the following:
displayName Changes to this property will trigger replacement. String
The name of the Provider Integration.
environment Changes to this property will trigger replacement. Property Map
Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
usages List<String>
(Required List of Strings) List of resource CRNs where this provider integration is being used.

Supporting Types

ProviderIntegrationAws
, ProviderIntegrationAwsArgs

CustomerRoleArn
This property is required.
Changes to this property will trigger replacement.
string

Amazon Resource Name (ARN) that identifies the AWS Identity and Access Management (IAM) role that Confluent Cloud assumes when it accesses resources in your AWS account.

Note: Currently only aws config is supported, more cloud service provider config will be supported in the short future.

Note: customer_role_arn must be unique in a given environment for creating a new Provider Integration.

ExternalId string
(Required String) Unique external ID that Confluent Cloud uses when it assumes the IAM role in your Amazon Web Services (AWS) account.
IamRoleArn string
(Required String) The IAM role ARN used in Confluent Cloud internally, bundled with customer_role_arn.
CustomerRoleArn
This property is required.
Changes to this property will trigger replacement.
string

Amazon Resource Name (ARN) that identifies the AWS Identity and Access Management (IAM) role that Confluent Cloud assumes when it accesses resources in your AWS account.

Note: Currently only aws config is supported, more cloud service provider config will be supported in the short future.

Note: customer_role_arn must be unique in a given environment for creating a new Provider Integration.

ExternalId string
(Required String) Unique external ID that Confluent Cloud uses when it assumes the IAM role in your Amazon Web Services (AWS) account.
IamRoleArn string
(Required String) The IAM role ARN used in Confluent Cloud internally, bundled with customer_role_arn.
customerRoleArn
This property is required.
Changes to this property will trigger replacement.
String

Amazon Resource Name (ARN) that identifies the AWS Identity and Access Management (IAM) role that Confluent Cloud assumes when it accesses resources in your AWS account.

Note: Currently only aws config is supported, more cloud service provider config will be supported in the short future.

Note: customer_role_arn must be unique in a given environment for creating a new Provider Integration.

externalId String
(Required String) Unique external ID that Confluent Cloud uses when it assumes the IAM role in your Amazon Web Services (AWS) account.
iamRoleArn String
(Required String) The IAM role ARN used in Confluent Cloud internally, bundled with customer_role_arn.
customerRoleArn
This property is required.
Changes to this property will trigger replacement.
string

Amazon Resource Name (ARN) that identifies the AWS Identity and Access Management (IAM) role that Confluent Cloud assumes when it accesses resources in your AWS account.

Note: Currently only aws config is supported, more cloud service provider config will be supported in the short future.

Note: customer_role_arn must be unique in a given environment for creating a new Provider Integration.

externalId string
(Required String) Unique external ID that Confluent Cloud uses when it assumes the IAM role in your Amazon Web Services (AWS) account.
iamRoleArn string
(Required String) The IAM role ARN used in Confluent Cloud internally, bundled with customer_role_arn.
customer_role_arn
This property is required.
Changes to this property will trigger replacement.
str

Amazon Resource Name (ARN) that identifies the AWS Identity and Access Management (IAM) role that Confluent Cloud assumes when it accesses resources in your AWS account.

Note: Currently only aws config is supported, more cloud service provider config will be supported in the short future.

Note: customer_role_arn must be unique in a given environment for creating a new Provider Integration.

external_id str
(Required String) Unique external ID that Confluent Cloud uses when it assumes the IAM role in your Amazon Web Services (AWS) account.
iam_role_arn str
(Required String) The IAM role ARN used in Confluent Cloud internally, bundled with customer_role_arn.
customerRoleArn
This property is required.
Changes to this property will trigger replacement.
String

Amazon Resource Name (ARN) that identifies the AWS Identity and Access Management (IAM) role that Confluent Cloud assumes when it accesses resources in your AWS account.

Note: Currently only aws config is supported, more cloud service provider config will be supported in the short future.

Note: customer_role_arn must be unique in a given environment for creating a new Provider Integration.

externalId String
(Required String) Unique external ID that Confluent Cloud uses when it assumes the IAM role in your Amazon Web Services (AWS) account.
iamRoleArn String
(Required String) The IAM role ARN used in Confluent Cloud internally, bundled with customer_role_arn.

ProviderIntegrationEnvironment
, ProviderIntegrationEnvironmentArgs

Id
This property is required.
Changes to this property will trigger replacement.
string
The ID of the Environment that the Provider Integration belongs to, for example, env-abc123.
Id
This property is required.
Changes to this property will trigger replacement.
string
The ID of the Environment that the Provider Integration belongs to, for example, env-abc123.
id
This property is required.
Changes to this property will trigger replacement.
String
The ID of the Environment that the Provider Integration belongs to, for example, env-abc123.
id
This property is required.
Changes to this property will trigger replacement.
string
The ID of the Environment that the Provider Integration belongs to, for example, env-abc123.
id
This property is required.
Changes to this property will trigger replacement.
str
The ID of the Environment that the Provider Integration belongs to, for example, env-abc123.
id
This property is required.
Changes to this property will trigger replacement.
String
The ID of the Environment that the Provider Integration belongs to, for example, env-abc123.

Import

You can import a Provider Integration by using Environment ID and Provider Integration ID, in the format <Environment ID>/<Provider Integration ID>. The following example shows how to import a Provider Integration:

$ export CONFLUENT_CLOUD_API_KEY="<cloud_api_key>"

$ export CONFLUENT_CLOUD_API_SECRET="<cloud_api_secret>"

$ pulumi import confluentcloud:index/providerIntegration:ProviderIntegration main env-abc123/cspi-4xg0q
Copy

!> Warning: Do not forget to delete terminal command history afterwards for security purposes.

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
Confluent Cloud pulumi/pulumi-confluentcloud
License
Apache-2.0
Notes
This Pulumi package is based on the confluent Terraform Provider.