1. Registry
  2. Packages
  3. Confluent Provider
  4. API Docs
  5. SwitchoverPair
Viewing docs for Confluent v2.86.0
published on Friday, Oct 9, 2026 by Pulumi
confluentcloud logo
Viewing docs for Confluent v2.86.0
published on Friday, Oct 9, 2026 by Pulumi

    Preview

    Warning: Switchover is a preview feature. Preview features are introduced to gather customer feedback and may change based on that feedback. They are intended for evaluation and non-production use only, and are not covered by Confluent SLAs. Preview features may be discontinued at any time.

    confluentcloud.SwitchoverPair provides a switchover pair resource that models a cluster-level disaster recovery (DR) pairing between two Kafka clusters (an active member and a passive member) on Confluent Cloud.

    Creating a pair is asynchronous on the API side; the resource waits until the pair reaches READY_TO_FAILOVER (up to 30 minutes) before completing, so a confluentcloud.SwitchoverEndpoint created in the same apply is not rejected while the pair is still PROVISIONING.

    activeMember chooses which member is active when the pair is created. After that the Switchover service owns it: a failover (the Switchover API’s :failover operation, for example confluent switchover pair failover <id> --active-member <name>) changes the active member on the server, and the resource reads the current value back without showing drift or forcing a replacement. Editing activeMember in the configuration of an existing pair has no effect — the difference is suppressed, and no plan is produced. See the complete example.

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as confluentcloud from "@pulumi/confluentcloud";
    
    const example = new confluentcloud.SwitchoverPair("example", {
        displayName: "prod-kafka-dr",
        activeMember: "west",
        members: [
            {
                name: "west",
                memberCrn: "crn://confluent.cloud/organization=org-abc/environment=env-abc123/cloud-cluster=lkc-west01",
            },
            {
                name: "east",
                memberCrn: "crn://confluent.cloud/organization=org-abc/environment=env-def456/cloud-cluster=lkc-east01",
            },
        ],
        environmentCrn: "crn://confluent.cloud/organization=org-abc/environment=env-abc123",
    });
    
    import pulumi
    import pulumi_confluentcloud as confluentcloud
    
    example = confluentcloud.SwitchoverPair("example",
        display_name="prod-kafka-dr",
        active_member="west",
        members=[
            {
                "name": "west",
                "member_crn": "crn://confluent.cloud/organization=org-abc/environment=env-abc123/cloud-cluster=lkc-west01",
            },
            {
                "name": "east",
                "member_crn": "crn://confluent.cloud/organization=org-abc/environment=env-def456/cloud-cluster=lkc-east01",
            },
        ],
        environment_crn="crn://confluent.cloud/organization=org-abc/environment=env-abc123")
    
    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 {
    		_, err := confluentcloud.NewSwitchoverPair(ctx, "example", &confluentcloud.SwitchoverPairArgs{
    			DisplayName:  pulumi.String("prod-kafka-dr"),
    			ActiveMember: pulumi.String("west"),
    			Members: confluentcloud.SwitchoverPairMemberArray{
    				&confluentcloud.SwitchoverPairMemberArgs{
    					Name:      pulumi.String("west"),
    					MemberCrn: pulumi.String("crn://confluent.cloud/organization=org-abc/environment=env-abc123/cloud-cluster=lkc-west01"),
    				},
    				&confluentcloud.SwitchoverPairMemberArgs{
    					Name:      pulumi.String("east"),
    					MemberCrn: pulumi.String("crn://confluent.cloud/organization=org-abc/environment=env-def456/cloud-cluster=lkc-east01"),
    				},
    			},
    			EnvironmentCrn: pulumi.String("crn://confluent.cloud/organization=org-abc/environment=env-abc123"),
    		})
    		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 example = new ConfluentCloud.SwitchoverPair("example", new()
        {
            DisplayName = "prod-kafka-dr",
            ActiveMember = "west",
            Members = new[]
            {
                new ConfluentCloud.Inputs.SwitchoverPairMemberArgs
                {
                    Name = "west",
                    MemberCrn = "crn://confluent.cloud/organization=org-abc/environment=env-abc123/cloud-cluster=lkc-west01",
                },
                new ConfluentCloud.Inputs.SwitchoverPairMemberArgs
                {
                    Name = "east",
                    MemberCrn = "crn://confluent.cloud/organization=org-abc/environment=env-def456/cloud-cluster=lkc-east01",
                },
            },
            EnvironmentCrn = "crn://confluent.cloud/organization=org-abc/environment=env-abc123",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.confluentcloud.SwitchoverPair;
    import com.pulumi.confluentcloud.SwitchoverPairArgs;
    import com.pulumi.confluentcloud.inputs.SwitchoverPairMemberArgs;
    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 example = new SwitchoverPair("example", SwitchoverPairArgs.builder()
                .displayName("prod-kafka-dr")
                .activeMember("west")
                .members(            
                    SwitchoverPairMemberArgs.builder()
                        .name("west")
                        .memberCrn("crn://confluent.cloud/organization=org-abc/environment=env-abc123/cloud-cluster=lkc-west01")
                        .build(),
                    SwitchoverPairMemberArgs.builder()
                        .name("east")
                        .memberCrn("crn://confluent.cloud/organization=org-abc/environment=env-def456/cloud-cluster=lkc-east01")
                        .build())
                .environmentCrn("crn://confluent.cloud/organization=org-abc/environment=env-abc123")
                .build());
    
        }
    }
    
    resources:
      example:
        type: confluentcloud:SwitchoverPair
        properties:
          displayName: prod-kafka-dr
          activeMember: west
          members:
            - name: west
              memberCrn: crn://confluent.cloud/organization=org-abc/environment=env-abc123/cloud-cluster=lkc-west01
            - name: east
              memberCrn: crn://confluent.cloud/organization=org-abc/environment=env-def456/cloud-cluster=lkc-east01
          environmentCrn: crn://confluent.cloud/organization=org-abc/environment=env-abc123
    
    pulumi {
      required_providers {
        confluentcloud = {
          source = "pulumi/confluentcloud"
        }
      }
    }
    
    resource "confluentcloud_switchoverpair" "example" {
      display_name  = "prod-kafka-dr"
      active_member = "west"
      members {
        name       = "west"
        member_crn = "crn://confluent.cloud/organization=org-abc/environment=env-abc123/cloud-cluster=lkc-west01"
      }
      members {
        name       = "east"
        member_crn = "crn://confluent.cloud/organization=org-abc/environment=env-def456/cloud-cluster=lkc-east01"
      }
      environment_crn = "crn://confluent.cloud/organization=org-abc/environment=env-abc123"
    }
    

    Create SwitchoverPair Resource

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

    Constructor syntax

    new SwitchoverPair(name: string, args: SwitchoverPairArgs, opts?: CustomResourceOptions);
    @overload
    def SwitchoverPair(resource_name: str,
                       args: SwitchoverPairArgs,
                       opts: Optional[ResourceOptions] = None)
    
    @overload
    def SwitchoverPair(resource_name: str,
                       opts: Optional[ResourceOptions] = None,
                       active_member: Optional[str] = None,
                       display_name: Optional[str] = None,
                       environment_crn: Optional[str] = None,
                       members: Optional[Sequence[SwitchoverPairMemberArgs]] = None)
    func NewSwitchoverPair(ctx *Context, name string, args SwitchoverPairArgs, opts ...ResourceOption) (*SwitchoverPair, error)
    public SwitchoverPair(string name, SwitchoverPairArgs args, CustomResourceOptions? opts = null)
    public SwitchoverPair(String name, SwitchoverPairArgs args)
    public SwitchoverPair(String name, SwitchoverPairArgs args, CustomResourceOptions options)
    
    type: confluentcloud:SwitchoverPair
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    resource "confluentcloud_switchover_pair" "name" {
        # resource properties
    }

    Parameters

    name string
    The unique name of the resource.
    args SwitchoverPairArgs
    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 SwitchoverPairArgs
    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 SwitchoverPairArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args SwitchoverPairArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args SwitchoverPairArgs
    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 switchoverPairResource = new ConfluentCloud.SwitchoverPair("switchoverPairResource", new()
    {
        ActiveMember = "string",
        DisplayName = "string",
        EnvironmentCrn = "string",
        Members = new[]
        {
            new ConfluentCloud.Inputs.SwitchoverPairMemberArgs
            {
                MemberCrn = "string",
                Name = "string",
                Cloud = "string",
                Region = "string",
            },
        },
    });
    
    example, err := confluentcloud.NewSwitchoverPair(ctx, "switchoverPairResource", &confluentcloud.SwitchoverPairArgs{
    	ActiveMember:   pulumi.String("string"),
    	DisplayName:    pulumi.String("string"),
    	EnvironmentCrn: pulumi.String("string"),
    	Members: confluentcloud.SwitchoverPairMemberArray{
    		&confluentcloud.SwitchoverPairMemberArgs{
    			MemberCrn: pulumi.String("string"),
    			Name:      pulumi.String("string"),
    			Cloud:     pulumi.String("string"),
    			Region:    pulumi.String("string"),
    		},
    	},
    })
    
    resource "confluentcloud_switchover_pair" "switchoverPairResource" {
      lifecycle {
        create_before_destroy = true
      }
      active_member   = "string"
      display_name    = "string"
      environment_crn = "string"
      members {
        member_crn = "string"
        name       = "string"
        cloud      = "string"
        region     = "string"
      }
    }
    
    var switchoverPairResource = new SwitchoverPair("switchoverPairResource", SwitchoverPairArgs.builder()
        .activeMember("string")
        .displayName("string")
        .environmentCrn("string")
        .members(SwitchoverPairMemberArgs.builder()
            .memberCrn("string")
            .name("string")
            .cloud("string")
            .region("string")
            .build())
        .build());
    
    switchover_pair_resource = confluentcloud.SwitchoverPair("switchoverPairResource",
        active_member="string",
        display_name="string",
        environment_crn="string",
        members=[{
            "member_crn": "string",
            "name": "string",
            "cloud": "string",
            "region": "string",
        }])
    
    const switchoverPairResource = new confluentcloud.SwitchoverPair("switchoverPairResource", {
        activeMember: "string",
        displayName: "string",
        environmentCrn: "string",
        members: [{
            memberCrn: "string",
            name: "string",
            cloud: "string",
            region: "string",
        }],
    });
    
    type: confluentcloud:SwitchoverPair
    properties:
        activeMember: string
        displayName: string
        environmentCrn: string
        members:
            - cloud: string
              memberCrn: string
              name: string
              region: string
    

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

    ActiveMember string
    The name of the member that is active when the pair is created; must match one of the members[].name values. After creation the Switchover service owns this value: it is read back from the API and always reflects the currently active member, and changing it in the configuration has no effect (no plan is produced). To change which member is active, trigger a failover through the Switchover API's :failover operation (for example with the Confluent CLI).
    DisplayName string
    A human-readable name for the switchover pair.
    EnvironmentCrn string
    The CRN of the environment that owns this switchover pair, for example, crn://confluent.cloud/organization=org-abc/environment=env-abc123.
    Members List<Pulumi.ConfluentCloud.Inputs.SwitchoverPairMember>
    (Required Configuration Block) In addition to the arguments above, each member exports the following:
    ActiveMember string
    The name of the member that is active when the pair is created; must match one of the members[].name values. After creation the Switchover service owns this value: it is read back from the API and always reflects the currently active member, and changing it in the configuration has no effect (no plan is produced). To change which member is active, trigger a failover through the Switchover API's :failover operation (for example with the Confluent CLI).
    DisplayName string
    A human-readable name for the switchover pair.
    EnvironmentCrn string
    The CRN of the environment that owns this switchover pair, for example, crn://confluent.cloud/organization=org-abc/environment=env-abc123.
    Members []SwitchoverPairMemberArgs
    (Required Configuration Block) In addition to the arguments above, each member exports the following:
    active_member string
    The name of the member that is active when the pair is created; must match one of the members[].name values. After creation the Switchover service owns this value: it is read back from the API and always reflects the currently active member, and changing it in the configuration has no effect (no plan is produced). To change which member is active, trigger a failover through the Switchover API's :failover operation (for example with the Confluent CLI).
    display_name string
    A human-readable name for the switchover pair.
    environment_crn string
    The CRN of the environment that owns this switchover pair, for example, crn://confluent.cloud/organization=org-abc/environment=env-abc123.
    members list(object)
    (Required Configuration Block) In addition to the arguments above, each member exports the following:
    activeMember String
    The name of the member that is active when the pair is created; must match one of the members[].name values. After creation the Switchover service owns this value: it is read back from the API and always reflects the currently active member, and changing it in the configuration has no effect (no plan is produced). To change which member is active, trigger a failover through the Switchover API's :failover operation (for example with the Confluent CLI).
    displayName String
    A human-readable name for the switchover pair.
    environmentCrn String
    The CRN of the environment that owns this switchover pair, for example, crn://confluent.cloud/organization=org-abc/environment=env-abc123.
    members List<SwitchoverPairMember>
    (Required Configuration Block) In addition to the arguments above, each member exports the following:
    activeMember string
    The name of the member that is active when the pair is created; must match one of the members[].name values. After creation the Switchover service owns this value: it is read back from the API and always reflects the currently active member, and changing it in the configuration has no effect (no plan is produced). To change which member is active, trigger a failover through the Switchover API's :failover operation (for example with the Confluent CLI).
    displayName string
    A human-readable name for the switchover pair.
    environmentCrn string
    The CRN of the environment that owns this switchover pair, for example, crn://confluent.cloud/organization=org-abc/environment=env-abc123.
    members SwitchoverPairMember[]
    (Required Configuration Block) In addition to the arguments above, each member exports the following:
    active_member str
    The name of the member that is active when the pair is created; must match one of the members[].name values. After creation the Switchover service owns this value: it is read back from the API and always reflects the currently active member, and changing it in the configuration has no effect (no plan is produced). To change which member is active, trigger a failover through the Switchover API's :failover operation (for example with the Confluent CLI).
    display_name str
    A human-readable name for the switchover pair.
    environment_crn str
    The CRN of the environment that owns this switchover pair, for example, crn://confluent.cloud/organization=org-abc/environment=env-abc123.
    members Sequence[SwitchoverPairMemberArgs]
    (Required Configuration Block) In addition to the arguments above, each member exports the following:
    activeMember String
    The name of the member that is active when the pair is created; must match one of the members[].name values. After creation the Switchover service owns this value: it is read back from the API and always reflects the currently active member, and changing it in the configuration has no effect (no plan is produced). To change which member is active, trigger a failover through the Switchover API's :failover operation (for example with the Confluent CLI).
    displayName String
    A human-readable name for the switchover pair.
    environmentCrn String
    The CRN of the environment that owns this switchover pair, for example, crn://confluent.cloud/organization=org-abc/environment=env-abc123.
    members List<Property Map>
    (Required Configuration Block) In addition to the arguments above, each member exports the following:

    Outputs

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

    FailoverType string
    (Required String) The failover semantics most recently applied to this pair (PLANNED, UNPLANNED, or RESTORE). Empty until a failover has been triggered.
    FirstActive string
    (Required String) The name of the member that was active when the pair was first created. Compare with activeMember to tell whether the pair is currently failed over.
    Id string
    The provider-assigned unique ID for this managed resource.
    Phase string
    (Required String) The lifecycle phase of the switchover pair, for example, PROVISIONING, READY_TO_FAILOVER, UPDATING, READY_TO_RESTORE, FAILED, or DEPROVISIONING.
    FailoverType string
    (Required String) The failover semantics most recently applied to this pair (PLANNED, UNPLANNED, or RESTORE). Empty until a failover has been triggered.
    FirstActive string
    (Required String) The name of the member that was active when the pair was first created. Compare with activeMember to tell whether the pair is currently failed over.
    Id string
    The provider-assigned unique ID for this managed resource.
    Phase string
    (Required String) The lifecycle phase of the switchover pair, for example, PROVISIONING, READY_TO_FAILOVER, UPDATING, READY_TO_RESTORE, FAILED, or DEPROVISIONING.
    failover_type string
    (Required String) The failover semantics most recently applied to this pair (PLANNED, UNPLANNED, or RESTORE). Empty until a failover has been triggered.
    first_active string
    (Required String) The name of the member that was active when the pair was first created. Compare with activeMember to tell whether the pair is currently failed over.
    id string
    The provider-assigned unique ID for this managed resource.
    phase string
    (Required String) The lifecycle phase of the switchover pair, for example, PROVISIONING, READY_TO_FAILOVER, UPDATING, READY_TO_RESTORE, FAILED, or DEPROVISIONING.
    failoverType String
    (Required String) The failover semantics most recently applied to this pair (PLANNED, UNPLANNED, or RESTORE). Empty until a failover has been triggered.
    firstActive String
    (Required String) The name of the member that was active when the pair was first created. Compare with activeMember to tell whether the pair is currently failed over.
    id String
    The provider-assigned unique ID for this managed resource.
    phase String
    (Required String) The lifecycle phase of the switchover pair, for example, PROVISIONING, READY_TO_FAILOVER, UPDATING, READY_TO_RESTORE, FAILED, or DEPROVISIONING.
    failoverType string
    (Required String) The failover semantics most recently applied to this pair (PLANNED, UNPLANNED, or RESTORE). Empty until a failover has been triggered.
    firstActive string
    (Required String) The name of the member that was active when the pair was first created. Compare with activeMember to tell whether the pair is currently failed over.
    id string
    The provider-assigned unique ID for this managed resource.
    phase string
    (Required String) The lifecycle phase of the switchover pair, for example, PROVISIONING, READY_TO_FAILOVER, UPDATING, READY_TO_RESTORE, FAILED, or DEPROVISIONING.
    failover_type str
    (Required String) The failover semantics most recently applied to this pair (PLANNED, UNPLANNED, or RESTORE). Empty until a failover has been triggered.
    first_active str
    (Required String) The name of the member that was active when the pair was first created. Compare with activeMember to tell whether the pair is currently failed over.
    id str
    The provider-assigned unique ID for this managed resource.
    phase str
    (Required String) The lifecycle phase of the switchover pair, for example, PROVISIONING, READY_TO_FAILOVER, UPDATING, READY_TO_RESTORE, FAILED, or DEPROVISIONING.
    failoverType String
    (Required String) The failover semantics most recently applied to this pair (PLANNED, UNPLANNED, or RESTORE). Empty until a failover has been triggered.
    firstActive String
    (Required String) The name of the member that was active when the pair was first created. Compare with activeMember to tell whether the pair is currently failed over.
    id String
    The provider-assigned unique ID for this managed resource.
    phase String
    (Required String) The lifecycle phase of the switchover pair, for example, PROVISIONING, READY_TO_FAILOVER, UPDATING, READY_TO_RESTORE, FAILED, or DEPROVISIONING.

    Look up Existing SwitchoverPair Resource

    Get an existing SwitchoverPair 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?: SwitchoverPairState, opts?: CustomResourceOptions): SwitchoverPair
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            active_member: Optional[str] = None,
            display_name: Optional[str] = None,
            environment_crn: Optional[str] = None,
            failover_type: Optional[str] = None,
            first_active: Optional[str] = None,
            members: Optional[Sequence[SwitchoverPairMemberArgs]] = None,
            phase: Optional[str] = None) -> SwitchoverPair
    func GetSwitchoverPair(ctx *Context, name string, id IDInput, state *SwitchoverPairState, opts ...ResourceOption) (*SwitchoverPair, error)
    public static SwitchoverPair Get(string name, Input<string> id, SwitchoverPairState? state, CustomResourceOptions? opts = null)
    public static SwitchoverPair get(String name, Output<String> id, SwitchoverPairState state, CustomResourceOptions options)
    resources:  _:    type: confluentcloud:SwitchoverPair    get:      id: ${id}
    import {
      to = confluentcloud_switchover_pair.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.
    The following state arguments are supported:
    ActiveMember string
    The name of the member that is active when the pair is created; must match one of the members[].name values. After creation the Switchover service owns this value: it is read back from the API and always reflects the currently active member, and changing it in the configuration has no effect (no plan is produced). To change which member is active, trigger a failover through the Switchover API's :failover operation (for example with the Confluent CLI).
    DisplayName string
    A human-readable name for the switchover pair.
    EnvironmentCrn string
    The CRN of the environment that owns this switchover pair, for example, crn://confluent.cloud/organization=org-abc/environment=env-abc123.
    FailoverType string
    (Required String) The failover semantics most recently applied to this pair (PLANNED, UNPLANNED, or RESTORE). Empty until a failover has been triggered.
    FirstActive string
    (Required String) The name of the member that was active when the pair was first created. Compare with activeMember to tell whether the pair is currently failed over.
    Members List<Pulumi.ConfluentCloud.Inputs.SwitchoverPairMember>
    (Required Configuration Block) In addition to the arguments above, each member exports the following:
    Phase string
    (Required String) The lifecycle phase of the switchover pair, for example, PROVISIONING, READY_TO_FAILOVER, UPDATING, READY_TO_RESTORE, FAILED, or DEPROVISIONING.
    ActiveMember string
    The name of the member that is active when the pair is created; must match one of the members[].name values. After creation the Switchover service owns this value: it is read back from the API and always reflects the currently active member, and changing it in the configuration has no effect (no plan is produced). To change which member is active, trigger a failover through the Switchover API's :failover operation (for example with the Confluent CLI).
    DisplayName string
    A human-readable name for the switchover pair.
    EnvironmentCrn string
    The CRN of the environment that owns this switchover pair, for example, crn://confluent.cloud/organization=org-abc/environment=env-abc123.
    FailoverType string
    (Required String) The failover semantics most recently applied to this pair (PLANNED, UNPLANNED, or RESTORE). Empty until a failover has been triggered.
    FirstActive string
    (Required String) The name of the member that was active when the pair was first created. Compare with activeMember to tell whether the pair is currently failed over.
    Members []SwitchoverPairMemberArgs
    (Required Configuration Block) In addition to the arguments above, each member exports the following:
    Phase string
    (Required String) The lifecycle phase of the switchover pair, for example, PROVISIONING, READY_TO_FAILOVER, UPDATING, READY_TO_RESTORE, FAILED, or DEPROVISIONING.
    active_member string
    The name of the member that is active when the pair is created; must match one of the members[].name values. After creation the Switchover service owns this value: it is read back from the API and always reflects the currently active member, and changing it in the configuration has no effect (no plan is produced). To change which member is active, trigger a failover through the Switchover API's :failover operation (for example with the Confluent CLI).
    display_name string
    A human-readable name for the switchover pair.
    environment_crn string
    The CRN of the environment that owns this switchover pair, for example, crn://confluent.cloud/organization=org-abc/environment=env-abc123.
    failover_type string
    (Required String) The failover semantics most recently applied to this pair (PLANNED, UNPLANNED, or RESTORE). Empty until a failover has been triggered.
    first_active string
    (Required String) The name of the member that was active when the pair was first created. Compare with activeMember to tell whether the pair is currently failed over.
    members list(object)
    (Required Configuration Block) In addition to the arguments above, each member exports the following:
    phase string
    (Required String) The lifecycle phase of the switchover pair, for example, PROVISIONING, READY_TO_FAILOVER, UPDATING, READY_TO_RESTORE, FAILED, or DEPROVISIONING.
    activeMember String
    The name of the member that is active when the pair is created; must match one of the members[].name values. After creation the Switchover service owns this value: it is read back from the API and always reflects the currently active member, and changing it in the configuration has no effect (no plan is produced). To change which member is active, trigger a failover through the Switchover API's :failover operation (for example with the Confluent CLI).
    displayName String
    A human-readable name for the switchover pair.
    environmentCrn String
    The CRN of the environment that owns this switchover pair, for example, crn://confluent.cloud/organization=org-abc/environment=env-abc123.
    failoverType String
    (Required String) The failover semantics most recently applied to this pair (PLANNED, UNPLANNED, or RESTORE). Empty until a failover has been triggered.
    firstActive String
    (Required String) The name of the member that was active when the pair was first created. Compare with activeMember to tell whether the pair is currently failed over.
    members List<SwitchoverPairMember>
    (Required Configuration Block) In addition to the arguments above, each member exports the following:
    phase String
    (Required String) The lifecycle phase of the switchover pair, for example, PROVISIONING, READY_TO_FAILOVER, UPDATING, READY_TO_RESTORE, FAILED, or DEPROVISIONING.
    activeMember string
    The name of the member that is active when the pair is created; must match one of the members[].name values. After creation the Switchover service owns this value: it is read back from the API and always reflects the currently active member, and changing it in the configuration has no effect (no plan is produced). To change which member is active, trigger a failover through the Switchover API's :failover operation (for example with the Confluent CLI).
    displayName string
    A human-readable name for the switchover pair.
    environmentCrn string
    The CRN of the environment that owns this switchover pair, for example, crn://confluent.cloud/organization=org-abc/environment=env-abc123.
    failoverType string
    (Required String) The failover semantics most recently applied to this pair (PLANNED, UNPLANNED, or RESTORE). Empty until a failover has been triggered.
    firstActive string
    (Required String) The name of the member that was active when the pair was first created. Compare with activeMember to tell whether the pair is currently failed over.
    members SwitchoverPairMember[]
    (Required Configuration Block) In addition to the arguments above, each member exports the following:
    phase string
    (Required String) The lifecycle phase of the switchover pair, for example, PROVISIONING, READY_TO_FAILOVER, UPDATING, READY_TO_RESTORE, FAILED, or DEPROVISIONING.
    active_member str
    The name of the member that is active when the pair is created; must match one of the members[].name values. After creation the Switchover service owns this value: it is read back from the API and always reflects the currently active member, and changing it in the configuration has no effect (no plan is produced). To change which member is active, trigger a failover through the Switchover API's :failover operation (for example with the Confluent CLI).
    display_name str
    A human-readable name for the switchover pair.
    environment_crn str
    The CRN of the environment that owns this switchover pair, for example, crn://confluent.cloud/organization=org-abc/environment=env-abc123.
    failover_type str
    (Required String) The failover semantics most recently applied to this pair (PLANNED, UNPLANNED, or RESTORE). Empty until a failover has been triggered.
    first_active str
    (Required String) The name of the member that was active when the pair was first created. Compare with activeMember to tell whether the pair is currently failed over.
    members Sequence[SwitchoverPairMemberArgs]
    (Required Configuration Block) In addition to the arguments above, each member exports the following:
    phase str
    (Required String) The lifecycle phase of the switchover pair, for example, PROVISIONING, READY_TO_FAILOVER, UPDATING, READY_TO_RESTORE, FAILED, or DEPROVISIONING.
    activeMember String
    The name of the member that is active when the pair is created; must match one of the members[].name values. After creation the Switchover service owns this value: it is read back from the API and always reflects the currently active member, and changing it in the configuration has no effect (no plan is produced). To change which member is active, trigger a failover through the Switchover API's :failover operation (for example with the Confluent CLI).
    displayName String
    A human-readable name for the switchover pair.
    environmentCrn String
    The CRN of the environment that owns this switchover pair, for example, crn://confluent.cloud/organization=org-abc/environment=env-abc123.
    failoverType String
    (Required String) The failover semantics most recently applied to this pair (PLANNED, UNPLANNED, or RESTORE). Empty until a failover has been triggered.
    firstActive String
    (Required String) The name of the member that was active when the pair was first created. Compare with activeMember to tell whether the pair is currently failed over.
    members List<Property Map>
    (Required Configuration Block) In addition to the arguments above, each member exports the following:
    phase String
    (Required String) The lifecycle phase of the switchover pair, for example, PROVISIONING, READY_TO_FAILOVER, UPDATING, READY_TO_RESTORE, FAILED, or DEPROVISIONING.

    Supporting Types

    SwitchoverPairMember, SwitchoverPairMemberArgs

    MemberCrn string
    The CRN of the cluster this member represents, for example, crn://confluent.cloud/organization=org-abc/environment=env-abc123/cloud-cluster=lkc-west01. The CRN carries the member's own environment, so the two members may live in different environments.
    Name string
    A logical name for this member (for example, west or east), unique within the pair.
    Cloud string
    (Required String) The cloud provider of the member's cluster.
    Region string
    (Required String) The cloud region of the member's cluster.
    MemberCrn string
    The CRN of the cluster this member represents, for example, crn://confluent.cloud/organization=org-abc/environment=env-abc123/cloud-cluster=lkc-west01. The CRN carries the member's own environment, so the two members may live in different environments.
    Name string
    A logical name for this member (for example, west or east), unique within the pair.
    Cloud string
    (Required String) The cloud provider of the member's cluster.
    Region string
    (Required String) The cloud region of the member's cluster.
    member_crn string
    The CRN of the cluster this member represents, for example, crn://confluent.cloud/organization=org-abc/environment=env-abc123/cloud-cluster=lkc-west01. The CRN carries the member's own environment, so the two members may live in different environments.
    name string
    A logical name for this member (for example, west or east), unique within the pair.
    cloud string
    (Required String) The cloud provider of the member's cluster.
    region string
    (Required String) The cloud region of the member's cluster.
    memberCrn String
    The CRN of the cluster this member represents, for example, crn://confluent.cloud/organization=org-abc/environment=env-abc123/cloud-cluster=lkc-west01. The CRN carries the member's own environment, so the two members may live in different environments.
    name String
    A logical name for this member (for example, west or east), unique within the pair.
    cloud String
    (Required String) The cloud provider of the member's cluster.
    region String
    (Required String) The cloud region of the member's cluster.
    memberCrn string
    The CRN of the cluster this member represents, for example, crn://confluent.cloud/organization=org-abc/environment=env-abc123/cloud-cluster=lkc-west01. The CRN carries the member's own environment, so the two members may live in different environments.
    name string
    A logical name for this member (for example, west or east), unique within the pair.
    cloud string
    (Required String) The cloud provider of the member's cluster.
    region string
    (Required String) The cloud region of the member's cluster.
    member_crn str
    The CRN of the cluster this member represents, for example, crn://confluent.cloud/organization=org-abc/environment=env-abc123/cloud-cluster=lkc-west01. The CRN carries the member's own environment, so the two members may live in different environments.
    name str
    A logical name for this member (for example, west or east), unique within the pair.
    cloud str
    (Required String) The cloud provider of the member's cluster.
    region str
    (Required String) The cloud region of the member's cluster.
    memberCrn String
    The CRN of the cluster this member represents, for example, crn://confluent.cloud/organization=org-abc/environment=env-abc123/cloud-cluster=lkc-west01. The CRN carries the member's own environment, so the two members may live in different environments.
    name String
    A logical name for this member (for example, west or east), unique within the pair.
    cloud String
    (Required String) The cloud provider of the member's cluster.
    region String
    (Required String) The cloud region of the member's cluster.

    Import

    Note: CONFLUENT_CLOUD_API_KEY and CONFLUENT_CLOUD_API_SECRET environment variables must be set before importing a switchover pair.

    You can import a switchover pair by using the environment CRN and switchover pair ID, in the format <Environment CRN>/<Switchover Pair ID>. The following example shows how to import a switchover pair:

    $ export CONFLUENT_CLOUD_API_KEY="<cloud_api_key>"
    $ export CONFLUENT_CLOUD_API_SECRET="<cloud_api_secret>"
    $ pulumi import confluentcloud:index/switchoverPair:SwitchoverPair example crn://confluent.cloud/organization=org-abc/environment=env-abc123/sw-abc123
    

    On import, activeMember is read from the API and any value in your configuration is accepted without a planned replacement; use the currently active member (or firstActive) for clarity.

    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
    Viewing docs for Confluent v2.86.0
    published on Friday, Oct 9, 2026 by Pulumi

      Try Pulumi Cloud free.
      Your team will thank you.

      Start free trial