Class: Miasma::Models::Compute

Inherits:
Types::Api show all
Defined in:
lib/miasma/models/compute.rb,
lib/miasma/contrib/aws/compute.rb,
lib/miasma/models/compute/server.rb,
lib/miasma/models/compute/servers.rb,
lib/miasma/contrib/rackspace/compute.rb,
lib/miasma/contrib/open_stack/compute.rb

Overview

Abstract compute API

Direct Known Subclasses

Aws, OpenStack

Defined Under Namespace

Classes: Aws, OpenStack, Rackspace, Server, Servers

Instance Method Summary collapse

Methods inherited from Types::Api

#api_for, #connect, #connection, #endpoint, #format_response, #initialize, #make_request, #provider, #request

Methods included from Utils::Memoization

#_memo, #clear_memoizations!, #memoize, #unmemoize

Methods included from Utils::Lazy

included

Constructor Details

This class inherits a constructor from Miasma::Types::Api

Instance Method Details

#server_allArray<Models::Compute::Server>

Return all servers

Returns:

Raises:

  • (NotImplementedError)


55
56
57
# File 'lib/miasma/models/compute.rb', line 55

def server_all
  raise NotImplementedError
end

#server_change_state(server, action) ⇒ TrueClass, FalseClass

Change server to desired state

Parameters:

Returns:

  • (TrueClass, FalseClass)

Raises:

  • (NotImplementedError)


64
65
66
# File 'lib/miasma/models/compute.rb', line 64

def server_change_state(server, action)
  raise NotImplementedError
end

#server_destroy(server) ⇒ TrueClass, FalseClass

Delete server instance

Parameters:

Returns:

  • (TrueClass, FalseClass)

Raises:

  • (NotImplementedError)


48
49
50
# File 'lib/miasma/models/compute.rb', line 48

def server_destroy(server)
  raise NotImplementedError
end

#server_filter(filter = {}) ⇒ Array<Server>

Filtered compute instances

Parameters:

  • filter (Hash) (defaults to: {})

    search filter

Options Hash (filter):

  • :state (Symbol)

    state of server ‘Server::VALID_COMPUTE_STATES`

Returns:



25
26
# File 'lib/miasma/models/compute.rb', line 25

def server_filter(filter={})
end

#server_reload(server) ⇒ Models::Compute::Server

Reload the server data from the API

Parameters:

Returns:

Raises:

  • (NotImplementedError)


40
41
42
# File 'lib/miasma/models/compute.rb', line 40

def server_reload(server)
  raise NotImplementedError
end

#server_save(server) ⇒ Models::Compute::Server

Create new server instance

Parameters:

Returns:

Raises:

  • (NotImplementedError)


32
33
34
# File 'lib/miasma/models/compute.rb', line 32

def server_save(server)
  raise NotImplementedError
end

#serversTypes::Collection<Models::Compute::Server>

All compute instances

Returns:



14
15
16
17
18
# File 'lib/miasma/models/compute.rb', line 14

def servers
  memoize(:servers) do
    Servers.new(self)
  end
end