Sha256: 9f06ebc642e790ed09192c5f223ddf0c18bf7695c0d95231a00c493f4fb6c8ef
Contents?: true
Size: 1.98 KB
Versions: 2
Compression:
Stored size: 1.98 KB
Contents
require 'acquia/cloud/entity' module Acquia class Cloud class Environment < Entity def initialize(cloud, site, environment) @cloud = cloud @site = site @data = environment @url = "/sites/#{@site}/envs/#{@data['name']}" end def name data['name'] end def vcs_path data['vcs_path'] end def ssh_host data['ssh_host'] end def db_clusters data['db_clusters'] end def default_domain data['default_domain'] end def unix_username data['unix_username'] end # new_vcs_path should start with 'tags/' or 'heads/' to distinguish # between tags or branches. 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 def backup_database(database_name) task = @cloud.api.post("#{@url}/dbs/#{database_name}/backups") Task.new @cloud, @site, task end def logstream response = @cloud.api.get("#{@url}/logstream") Logs::Streamer.new(response['url'], JSON.parse(response['msg'])) end def servers @cloud.api.get("#{url}/servers").map do |server| Server.new(@cloud, @site, name, server) end end def server(server) Server.new(@cloud, @site, name, {'name' => server}).refresh end def database_servers servers.select &:database? end def varnish_servers servers.select &:varnish? end def web_servers servers.select &:web? end def domains @cloud.api.get("#{url}/domains").map do |domain| Domain.new(@cloud, @site, name, domain) end end def add_domain(domain) task = @cloud.api.post("#{url}/domains/#{domain}") Task.new @cloud, @site, task end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
acquia-cloud-0.4.1 | lib/acquia/cloud/environment.rb |
acquia-cloud-0.4.0 | lib/acquia/cloud/environment.rb |