Sha256: d6fc231740e047728a30baa0f7f65527f3fc58a45e1a2df892c60fe32942a3ca

Contents?: true

Size: 1.71 KB

Versions: 23

Compression:

Stored size: 1.71 KB

Contents

require 'miasma'

module Miasma
  module Models
    # Abstract compute API
    class Compute < Types::Api

      autoload :Server, 'miasma/models/compute/server'
      autoload :Servers, 'miasma/models/compute/servers'

      # All compute instances
      #
      # @return [Types::Collection<Models::Compute::Server>] servers
      def servers
        memoize(:servers) do
          Servers.new(self)
        end
      end

      # Filtered compute instances
      #
      # @param filter [Hash] search filter
      # @option filter [Symbol] :state state of server `Server::VALID_COMPUTE_STATES`
      # @return [Array<Server>]
      def server_filter(filter={})
      end

      # Create new server instance
      #
      # @param server [Models::Compute::Server]
      # @return [Models::Compute::Server]
      def server_save(server)
        raise NotImplementedError
      end

      # Reload the server data from the API
      #
      # @param server [Models::Compute::Server]
      # @return [Models::Compute::Server]
      def server_reload(server)
        raise NotImplementedError
      end

      # Delete server instance
      #
      # @param server [Models::Compute::Server]
      # @return [TrueClass, FalseClass]
      def server_destroy(server)
        raise NotImplementedError
      end

      # Return all servers
      #
      # @return [Array<Models::Compute::Server>]
      def server_all
        raise NotImplementedError
      end

      # Change server to desired state
      #
      # @param server [Models::Compute::Server]
      # @param action [Symbol] :start, :stop, :restart
      # @return [TrueClass, FalseClass]
      def server_change_state(server, action)
        raise NotImplementedError
      end

    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
miasma-0.3.2 lib/miasma/models/compute.rb
miasma-0.3.0 lib/miasma/models/compute.rb
miasma-0.2.38 lib/miasma/models/compute.rb
miasma-0.2.36 lib/miasma/models/compute.rb
miasma-0.2.34 lib/miasma/models/compute.rb
miasma-0.2.32 lib/miasma/models/compute.rb
miasma-0.2.30 lib/miasma/models/compute.rb
miasma-0.2.28 lib/miasma/models/compute.rb
miasma-0.2.26 lib/miasma/models/compute.rb
miasma-0.2.24 lib/miasma/models/compute.rb
miasma-0.2.22 lib/miasma/models/compute.rb
miasma-0.2.20 lib/miasma/models/compute.rb
miasma-0.2.18 lib/miasma/models/compute.rb
miasma-0.2.16 lib/miasma/models/compute.rb
miasma-0.2.14 lib/miasma/models/compute.rb
miasma-0.2.12 lib/miasma/models/compute.rb
miasma-0.2.10 lib/miasma/models/compute.rb
miasma-0.2.8 lib/miasma/models/compute.rb
miasma-0.2.6 lib/miasma/models/compute.rb
miasma-0.2.4 lib/miasma/models/compute.rb