class Acquia::Cloud::Environment
Public Class Methods
new(cloud, site, environment)
click to toggle source
# File lib/acquia/cloud/environment.rb, line 6 def initialize(cloud, site, environment) @cloud = cloud @site = site @data = environment @url = "/sites/#{@site}/envs/#{@data['name']}" end
Public Instance Methods
add_domain(domain)
click to toggle source
# File lib/acquia/cloud/environment.rb, line 94 def add_domain(domain) task = @cloud.api.post("#{url}/domains/#{domain}") Task.new @cloud, @site, task end
copy_files_to(target)
click to toggle source
# File lib/acquia/cloud/environment.rb, line 57 def copy_files_to(target) Site.new(@cloud, @site).copy_files name, target end
database(database)
click to toggle source
# File lib/acquia/cloud/environment.rb, line 53 def database(database) DatabaseEnvironment.new(@cloud, @site, name, {'name' => database}).refresh end
database_servers()
click to toggle source
# File lib/acquia/cloud/environment.rb, line 76 def database_servers servers.select &:database? end
databases()
click to toggle source
# File lib/acquia/cloud/environment.rb, line 47 def databases @cloud.api.get("#{@url}/dbs").map do |db| DatabaseEnvironment.new(@cloud, @site, name, db) end end
db_clusters()
click to toggle source
# File lib/acquia/cloud/environment.rb, line 25 def db_clusters data['db_clusters'] end
default_domain()
click to toggle source
# File lib/acquia/cloud/environment.rb, line 29 def default_domain data['default_domain'] end
deploy_path(new_vcs_path)
click to toggle source
new_vcs_path should start with 'tags/' or 'heads/' to distinguish between tags or branches.
# File lib/acquia/cloud/environment.rb, line 39 def deploy_path(new_vcs_path) task = @cloud.api.post("#{@url}/code-deploy") do |response| response.params['path'] = new_vcs_path end Task.new(@cloud, @site, task) end
domains()
click to toggle source
# File lib/acquia/cloud/environment.rb, line 88 def domains @cloud.api.get("#{url}/domains").map do |domain| Domain.new(@cloud, @site, name, domain) end end
logstream()
click to toggle source
# File lib/acquia/cloud/environment.rb, line 61 def logstream response = @cloud.api.get("#{@url}/logstream") Logs::Streamer.new(response['url'], JSON.parse(response['msg'])) end
name()
click to toggle source
# File lib/acquia/cloud/environment.rb, line 13 def name data['name'] end
server(server)
click to toggle source
# File lib/acquia/cloud/environment.rb, line 72 def server(server) Server.new(@cloud, @site, name, {'name' => server}).refresh end
servers()
click to toggle source
# File lib/acquia/cloud/environment.rb, line 66 def servers @cloud.api.get("#{@url}/servers").map do |server| Server.new(@cloud, @site, name, server) end end
ssh_host()
click to toggle source
# File lib/acquia/cloud/environment.rb, line 21 def ssh_host data['ssh_host'] end
unix_username()
click to toggle source
# File lib/acquia/cloud/environment.rb, line 33 def unix_username data['unix_username'] end
varnish_servers()
click to toggle source
# File lib/acquia/cloud/environment.rb, line 80 def varnish_servers servers.select &:varnish? end
vcs_path()
click to toggle source
# File lib/acquia/cloud/environment.rb, line 17 def vcs_path data['vcs_path'] end
web_servers()
click to toggle source
# File lib/acquia/cloud/environment.rb, line 84 def web_servers servers.select &:web? end