published on Friday, Oct 16, 2026 by Pulumi
published on Friday, Oct 16, 2026 by Pulumi
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
terraform {
required_providers {
confluentcloud = {
source = "pulumi/confluentcloud"
}
}
}
resource "confluentcloud_switchover_pair" "example" {
lifecycle {
create_before_destroy = true
}
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:
- Active
Member string - The name of the member that is active when the pair is created; must match one of the
members[].namevalues. 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:failoveroperation (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<Pulumi.
Confluent Cloud. Inputs. Switchover Pair Member> - (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[].namevalues. 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:failoveroperation (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
[]Switchover
Pair Member Args - (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[].namevalues. 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:failoveroperation (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:
- active
Member String - The name of the member that is active when the pair is created; must match one of the
members[].namevalues. 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:failoveroperation (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<Switchover
Pair Member> - (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[].namevalues. 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:failoveroperation (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
Switchover
Pair Member[] - (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[].namevalues. 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:failoveroperation (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[Switchover
Pair Member Args] - (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[].namevalues. 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:failoveroperation (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<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:
- Failover
Type string - (Required String) The failover semantics most recently applied to this pair (
PLANNED,UNPLANNED, orRESTORE). 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
activeMemberto 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, orDEPROVISIONING.
- Failover
Type string - (Required String) The failover semantics most recently applied to this pair (
PLANNED,UNPLANNED, orRESTORE). 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
activeMemberto 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, orDEPROVISIONING.
- failover_
type string - (Required String) The failover semantics most recently applied to this pair (
PLANNED,UNPLANNED, orRESTORE). 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
activeMemberto 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, orDEPROVISIONING.
- failover
Type String - (Required String) The failover semantics most recently applied to this pair (
PLANNED,UNPLANNED, orRESTORE). 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
activeMemberto 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, orDEPROVISIONING.
- failover
Type string - (Required String) The failover semantics most recently applied to this pair (
PLANNED,UNPLANNED, orRESTORE). 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
activeMemberto 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, orDEPROVISIONING.
- failover_
type str - (Required String) The failover semantics most recently applied to this pair (
PLANNED,UNPLANNED, orRESTORE). 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
activeMemberto 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, orDEPROVISIONING.
- failover
Type String - (Required String) The failover semantics most recently applied to this pair (
PLANNED,UNPLANNED, orRESTORE). 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
activeMemberto 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, orDEPROVISIONING.
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) -> SwitchoverPairfunc 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.
- Active
Member string - The name of the member that is active when the pair is created; must match one of the
members[].namevalues. 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:failoveroperation (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, orRESTORE). 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
activeMemberto tell whether the pair is currently failed over. - Members
List<Pulumi.
Confluent Cloud. Inputs. Switchover Pair Member> - (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, orDEPROVISIONING.
- Active
Member string - The name of the member that is active when the pair is created; must match one of the
members[].namevalues. 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:failoveroperation (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, orRESTORE). 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
activeMemberto tell whether the pair is currently failed over. - Members
[]Switchover
Pair Member Args - (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, orDEPROVISIONING.
- active_
member string - The name of the member that is active when the pair is created; must match one of the
members[].namevalues. 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:failoveroperation (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, orRESTORE). 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
activeMemberto 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, orDEPROVISIONING.
- active
Member String - The name of the member that is active when the pair is created; must match one of the
members[].namevalues. 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:failoveroperation (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, orRESTORE). 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
activeMemberto tell whether the pair is currently failed over. - members
List<Switchover
Pair Member> - (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, orDEPROVISIONING.
- active
Member string - The name of the member that is active when the pair is created; must match one of the
members[].namevalues. 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:failoveroperation (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, orRESTORE). 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
activeMemberto tell whether the pair is currently failed over. - members
Switchover
Pair Member[] - (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, orDEPROVISIONING.
- active_
member str - The name of the member that is active when the pair is created; must match one of the
members[].namevalues. 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:failoveroperation (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, orRESTORE). 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
activeMemberto tell whether the pair is currently failed over. - members
Sequence[Switchover
Pair Member Args] - (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, orDEPROVISIONING.
- active
Member String - The name of the member that is active when the pair is created; must match one of the
members[].namevalues. 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:failoveroperation (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, orRESTORE). 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
activeMemberto 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, orDEPROVISIONING.
Supporting Types
SwitchoverPairMember, SwitchoverPairMemberArgs
- 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,
westoreast), 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,
westoreast), 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,
westoreast), 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,
westoreast), 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,
westoreast), 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,
westoreast), 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.
- 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,
westoreast), 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_KEYandCONFLUENT_CLOUD_API_SECRETenvironment 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
confluentTerraform Provider.
published on Friday, Oct 16, 2026 by Pulumi