1. Packages
  2. Confluent Cloud
  3. API Docs
  4. ProviderIntegration
Confluent v2.3.0 published on Friday, Sep 27, 2024 by Pulumi

confluentcloud.ProviderIntegration

Explore with Pulumi AI

confluentcloud logo
Confluent v2.3.0 published on Friday, Sep 27, 2024 by Pulumi

    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",
    });
    
    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")
    
    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
    	})
    }
    
    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",
        });
    
    });
    
    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());
    
        }
    }
    
    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
    

    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 string
    The unique name of the resource.
    args ProviderIntegrationArgs
    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 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 string
    The unique name of the resource.
    args ProviderIntegrationArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ProviderIntegrationArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args 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",
        },
    });
    
    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"),
    	},
    })
    
    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());
    
    provider_integration_resource = confluentcloud.ProviderIntegration("providerIntegrationResource",
        display_name="string",
        environment=confluentcloud.ProviderIntegrationEnvironmentArgs(
            id="string",
        ),
        aws=confluentcloud.ProviderIntegrationAwsArgs(
            customer_role_arn="string",
            external_id="string",
            iam_role_arn="string",
        ))
    
    const providerIntegrationResource = new confluentcloud.ProviderIntegration("providerIntegrationResource", {
        displayName: "string",
        environment: {
            id: "string",
        },
        aws: {
            customerRoleArn: "string",
            externalId: "string",
            iamRoleArn: "string",
        },
    });
    
    type: confluentcloud:ProviderIntegration
    properties:
        aws:
            customerRoleArn: string
            externalId: string
            iamRoleArn: string
        displayName: string
        environment:
            id: string
    

    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

    The ProviderIntegration resource accepts the following input properties:

    DisplayName string
    The name of the Provider Integration.
    Environment Pulumi.ConfluentCloud.Inputs.ProviderIntegrationEnvironment
    Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
    Aws Pulumi.ConfluentCloud.Inputs.ProviderIntegrationAws
    (Required Configuration Block) The AWS-specific Provider Integration config details. It supports the following:
    DisplayName string
    The name of the Provider Integration.
    Environment ProviderIntegrationEnvironmentArgs
    Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
    Aws ProviderIntegrationAwsArgs
    (Required Configuration Block) The AWS-specific Provider Integration config details. It supports the following:
    displayName String
    The name of the Provider Integration.
    environment ProviderIntegrationEnvironment
    Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
    aws ProviderIntegrationAws
    (Required Configuration Block) The AWS-specific Provider Integration config details. It supports the following:
    displayName string
    The name of the Provider Integration.
    environment ProviderIntegrationEnvironment
    Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
    aws ProviderIntegrationAws
    (Required Configuration Block) The AWS-specific Provider Integration config details. It supports the following:
    display_name str
    The name of the Provider Integration.
    environment ProviderIntegrationEnvironmentArgs
    Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
    aws ProviderIntegrationAwsArgs
    (Required Configuration Block) The AWS-specific Provider Integration config details. It supports the following:
    displayName String
    The name of the Provider Integration.
    environment Property Map
    Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
    aws 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)
    Resource lookup is not supported in YAML
    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.
    The following state arguments are supported:
    Aws Pulumi.ConfluentCloud.Inputs.ProviderIntegrationAws
    (Required Configuration Block) The AWS-specific Provider Integration config details. It supports the following:
    DisplayName string
    The name of the Provider Integration.
    Environment 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 ProviderIntegrationAwsArgs
    (Required Configuration Block) The AWS-specific Provider Integration config details. It supports the following:
    DisplayName string
    The name of the Provider Integration.
    Environment 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 ProviderIntegrationAws
    (Required Configuration Block) The AWS-specific Provider Integration config details. It supports the following:
    displayName String
    The name of the Provider Integration.
    environment 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 ProviderIntegrationAws
    (Required Configuration Block) The AWS-specific Provider Integration config details. It supports the following:
    displayName string
    The name of the Provider Integration.
    environment 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 ProviderIntegrationAwsArgs
    (Required Configuration Block) The AWS-specific Provider Integration config details. It supports the following:
    display_name str
    The name of the Provider Integration.
    environment 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 Property Map
    (Required Configuration Block) The AWS-specific Provider Integration config details. It supports the following:
    displayName String
    The name of the Provider Integration.
    environment 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 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 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 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 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 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 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 string
    The ID of the Environment that the Provider Integration belongs to, for example, env-abc123.
    Id string
    The ID of the Environment that the Provider Integration belongs to, for example, env-abc123.
    id String
    The ID of the Environment that the Provider Integration belongs to, for example, env-abc123.
    id string
    The ID of the Environment that the Provider Integration belongs to, for example, env-abc123.
    id str
    The ID of the Environment that the Provider Integration belongs to, for example, env-abc123.
    id 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
    

    !> 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.
    confluentcloud logo
    Confluent v2.3.0 published on Friday, Sep 27, 2024 by Pulumi