Class: Acquia::Cloud::Server

Inherits:
Entity
  • Object
show all
Defined in:
lib/acquia/cloud/server.rb

Instance Attribute Summary

Attributes inherited from Entity

#url

Instance Method Summary collapse

Methods inherited from Entity

#refresh

Constructor Details

#initialize(cloud, site, env, server) ⇒ Server

Returns a new instance of Server.



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

def initialize(cloud, site, env, server)
  @cloud = cloud
  @site = site
  @env = env
  @data = server
  @url = "/sites/#{@site}/envs/#{env}/servers/#{@data['name']}"
end

Instance Method Details

#ami_typeObject



22
23
24
# File 'lib/acquia/cloud/server.rb', line 22

def ami_type
  data['ami_type']
end

#database?Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/acquia/cloud/server.rb', line 46

def database?
  services.has_key? 'database'
end

#ec2_availability_zoneObject



30
31
32
# File 'lib/acquia/cloud/server.rb', line 30

def ec2_availability_zone
  data['ec2_availability_zone']
end

#ec2_regionObject



26
27
28
# File 'lib/acquia/cloud/server.rb', line 26

def ec2_region
  data['ec2_region']
end

#fqdnObject



18
19
20
# File 'lib/acquia/cloud/server.rb', line 18

def fqdn
  data['fqdn']
end

#nameObject



14
15
16
# File 'lib/acquia/cloud/server.rb', line 14

def name
  data['name']
end

#php_procs(memory_limit, apc_shm) ⇒ Object



50
51
52
53
54
55
56
57
58
59
# File 'lib/acquia/cloud/server.rb', line 50

def php_procs(memory_limit, apc_shm)
  return nil unless web?

  values = @cloud.api.get("#{url}/php-procs") do |response|
    response.params['memory_limits[]'] = memory_limit
    response.params['apc_shm[]'] = apc_shm
  end

  values['memory_limit'][memory_limit]['apc_shm'][apc_shm]['php_procs']
end

#servicesObject



34
35
36
# File 'lib/acquia/cloud/server.rb', line 34

def services
  data['services']
end

#varnish?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/acquia/cloud/server.rb', line 38

def varnish?
  services.has_key? 'varnish'
end

#web?Boolean

Returns:

  • (Boolean)


42
43
44
# File 'lib/acquia/cloud/server.rb', line 42

def web?
  services.has_key? 'web'
end