syntax = "proto3";

package temporal.api.replication.v1;

option go_package = "go.temporal.io/api/replication/v1;replication";
option java_package = "io.temporal.api.replication.v1";
option java_multiple_files = true;
option java_outer_classname = "MessageProto";
option ruby_package = "Temporalio::Api::Replication::V1";
option csharp_namespace = "Temporalio.Api.Replication.V1";

import "google/protobuf/timestamp.proto";

import "temporal/api/enums/v1/namespace.proto";

message ClusterReplicationConfig {
    string cluster_name = 1;
}

message NamespaceReplicationConfig {
    string active_cluster_name = 1;
    repeated ClusterReplicationConfig clusters = 2;
    temporal.api.enums.v1.ReplicationState state = 3;
}

// Represents a historical replication status of a Namespace
message FailoverStatus {
    // Timestamp when the Cluster switched to the following failover_version
    google.protobuf.Timestamp failover_time = 1;
    int64 failover_version = 2;
}
