Class: Pec::Compute::Server

Inherits:
Object show all
Extended by:
Query
Defined in:
lib/pec/compute/server.rb

Class Method Summary collapse

Methods included from Query

fetch, get_ref, list

Class Method Details

.create(name, image_ref, flavor_ref, options) ⇒ Object

Raises:



6
7
8
9
10
11
12
# File 'lib/pec/compute/server.rb', line 6

def create(name, image_ref, flavor_ref, options)
  response = Pec::Resource.get.create_server(name, image_ref, flavor_ref, options)
  raise(Pec::Errors::Host, "server_name:#{name} response err status:#{response[:status]}") unless response[:status] == 202
  puts "success create for server_name:#{name.to_s}".blue

  response.data[:body]["server"]["id"]
end

.destroy!(server_name) ⇒ Object

Raises:



18
19
20
21
22
23
24
25
26
# File 'lib/pec/compute/server.rb', line 18

def destroy!(server_name)
  server = fetch(server_name)
  raise(Pec::Errors::Host, "server_name:#{server_name} is not fond!") unless server
  response = Pec::Resource.get.delete_server(server["id"]) if server

  raise(Pec::Errors::Host, "server_name:#{name} response err status:#{response[:status]}") unless response[:status] == 204
  puts "server_name:#{server_name} is deleted!".green
  true
end

.exists?(server_name) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
# File 'lib/pec/compute/server.rb', line 14

def exists?(server_name)
  fetch(server_name)
end