Class: Miasma::Models::Compute

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

Overview

Abstract compute API

Defined Under Namespace

Classes: Server, Servers

Constant Summary

Constants inherited from Types::Api

Types::Api::MAX_REQUEST_RETRIES, Types::Api::VALID_REQUEST_RETRY_METHODS

Instance Method Summary collapse

Methods inherited from Types::Api

#after_setup, #api_for, #connect, #connection, #custom_setup, #endpoint, #format_response, #from_json, #from_xml, #initialize, #make_request, #perform_request_retry, #provider, #request, #retryable_allowed?, #retryable_request

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