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