Sha256: fc2e61b8553bbd1aafd35f936ead87be72d141dd2d8d4da2d22347ea202a0e3c

Contents?: true

Size: 1.86 KB

Versions: 7

Compression:

Stored size: 1.86 KB

Contents

# Abstract class for all NIFTY backends
#
# @author Michal Kimle
class Nifty::Backend
  class << self
    # Helper method to recognize NIFTY backend
    #
    # @return [TrueClass, FalseClass] whether or not class is a NIFTY backend
    def backend?
      false
    end

    # Returns textual description of the backend
    # Used in help messages.
    #
    # @abstract
    # @return [String, nil] textual description of the backend
    def description
      nil
    end

    # Returns hash from which new CLI command for backend is constructed
    #
    # @abstract
    # @return [Hash, nil] hash from which new CLI command for backend is constructed
    def options
      nil
    end

    # Returns hash from which new CLI command for backend is constructed
    #
    # @abstract
    # @return [Hash, nil] hash from which new CLI command for backend is constructed
    def migrate_options
      nil
    end

    # Routine run before any events are processed
    #
    # @abstract
    # @param [Hash] parameters to run pre method with
    def pre(parameters)
    end

    # Routine run after all the events are processed
    #
    # @abstract
    # @param [Hash] parameters to run post method with
    def post(parameters)
    end


    # Prepares backend for integration with NIFTY
    #
    # @param [Hash] parameters to help the migration
    def migrate(parameters)
    end

    # Creates specific event for the backend
    #
    # @abstract
    # @param [Nifty::Events::Event] event_class class object representing event
    # @param [Cloud::Appliance::Descriptor::Appliance] appliance description
    # @param [Nifty::TransferMethod] transfer_method instance of transfer method used in the event
    # @param [Hash] parameters any additional parameters
    # @return [Nifty::Events::Event] instance of event
    def create_event(event_class, appliance, transfer_method, parameters)
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
nifty-0.2.12 lib/nifty/backend.rb
nifty-0.2.11 lib/nifty/backend.rb
nifty-0.2.10 lib/nifty/backend.rb
nifty-0.2.9 lib/nifty/backend.rb
nifty-0.2.8 lib/nifty/backend.rb
nifty-0.2.7 lib/nifty/backend.rb
nifty-0.2.6 lib/nifty/backend.rb