// AlterReplicaLogDirsRequest requests for log directories to be moved
// within Kafka.
//
// This is primarily useful for moving directories between disks.
AlterReplicaLogDirsRequest => key 34, max version 2, flexible v2+
  // Dirs contains absolute paths of where you want things to end up.
  Dirs: [=>]
    // Dir is an absolute path where everything listed below should
    // end up.
    Dir: string
    // Topics contains topics to move to the above log directory.
    Topics: [=>]
      // Topic is a topic to move.
      Topic: string
      // Partitions contains partitions for the topic to move.
      Partitions: [int32]

// AlterReplicaLogDirsResponse is returned from an AlterReplicaLogDirsRequest.
AlterReplicaLogDirsResponse =>
  ThrottleMillis(1)
  // Topics contains responses to each topic that had partitions requested
  // for moving.
  Topics: [=>]
    // Topic is the topic this array slot corresponds to.
    Topic: string
    // Partitions contains responses to each partition that was requested
    // to move.
    Partitions: [=>]
      // Partition is the partition this array slot corresponds to.
      Partition: int32
      // CLUSTER_AUTHORIZATION_FAILED is returned if the client is not
      // authorized to alter replica dirs.
      //
      // LOG_DIR_NOT_FOUND is returned when the requested log directory
      // is not in the broker config.
      //
      // KAFKA_STORAGE_EXCEPTION is returned when destination directory or
      // requested replica is offline.
      //
      // REPLICA_NOT_AVAILABLE is returned if the replica does not exist
      // yet.
      ErrorCode: int16
