Sha256: 9505a972ca1e5b227a7206f8d6e4a14ce99006de01d4ab8224af78b5926e1ee4

Contents?: true

Size: 866 Bytes

Versions: 3

Compression:

Stored size: 866 Bytes

Contents

module ManageIQ
module PostgresHaAdmin
  class ConfigHandler
    def name
      "Config Handler"
    end

    def read
      raise NotImplementedError
    end

    def write(_conninfo)
      raise NotImplementedError
    end

    def before_failover(&block)
      raise ArgumentError, "A block is required to set the before failover callback" unless block_given?
      @before_failover_cb = block
    end

    def after_failover(&block)
      raise ArgumentError, "A block is required to set the after failover callback" unless block_given?
      @after_failover_cb = block
    end

    def do_before_failover
      @before_failover_cb&.call
    end

    # Upon successful failover
    def do_after_failover(new_primary_conn_info)
      @after_failover_cb&.call(new_primary_conn_info)
    end

    # If needed, we can add an unsuccessful failover hook
  end
end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
manageiq-postgres_ha_admin-3.4.0 lib/manageiq/postgres_ha_admin/config_handler.rb
manageiq-postgres_ha_admin-3.2.1 lib/manageiq/postgres_ha_admin/config_handler.rb
manageiq-postgres_ha_admin-3.2.0 lib/manageiq/postgres_ha_admin/config_handler.rb