Sha256: 0c256f8b7faac1f237f5ff90bfb8cae94e74a7fa4884122bdf6b183df558de83

Contents?: true

Size: 931 Bytes

Versions: 14

Compression:

Stored size: 931 Bytes

Contents

# frozen_string_literal: true

module Karafka
  class Cli
    # CLI actions related to Kafka cluster topics management
    class Topics < Base
      include Helpers::Colorize
      include Helpers::ConfigImporter.new(
        kafka_config: %i[kafka]
      )

      desc 'Allows for the topics management'
      # @param action [String] action we want to take
      def call(action = 'missing')
        case action
        when 'create'
          Topics::Create.new.call
        when 'delete'
          Topics::Delete.new.call
        when 'reset'
          Topics::Reset.new.call
        when 'repartition'
          Topics::Repartition.new.call
        when 'migrate'
          Topics::Migrate.new.call
        when 'align'
          Topics::Align.new.call
        when 'plan'
          Topics::Plan.new.call
        else
          raise ::ArgumentError, "Invalid topics action: #{action}"
        end
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
karafka-2.4.12 lib/karafka/cli/topics.rb
karafka-2.4.11 lib/karafka/cli/topics.rb
karafka-2.4.10 lib/karafka/cli/topics.rb
karafka-2.4.9 lib/karafka/cli/topics.rb
karafka-2.4.8 lib/karafka/cli/topics.rb
karafka-2.4.7 lib/karafka/cli/topics.rb
karafka-2.4.6 lib/karafka/cli/topics.rb
karafka-2.4.5 lib/karafka/cli/topics.rb
karafka-2.4.4 lib/karafka/cli/topics.rb
karafka-2.4.3 lib/karafka/cli/topics.rb
karafka-2.4.0 lib/karafka/cli/topics.rb
karafka-2.4.0.rc1 lib/karafka/cli/topics.rb
karafka-2.4.0.beta2 lib/karafka/cli/topics.rb
karafka-2.4.0.beta1 lib/karafka/cli/topics.rb