Class: Acquia::Cloud::Environment
- Defined in:
- lib/acquia/cloud/environment.rb
Instance Attribute Summary
Attributes inherited from Entity
Instance Method Summary collapse
- #add_domain(domain) ⇒ Object
- #copy_files_to(target) ⇒ Object
- #database(database) ⇒ Object
- #database_servers ⇒ Object
- #databases ⇒ Object
- #db_clusters ⇒ Object
- #default_domain ⇒ Object
-
#deploy_path(new_vcs_path) ⇒ Object
new_vcs_path should start with ‘tags/’ or ‘heads/’ to distinguish between tags or branches.
- #domains ⇒ Object
-
#initialize(cloud, site, environment) ⇒ Environment
constructor
A new instance of Environment.
- #logstream ⇒ Object
- #name ⇒ Object
- #server(server) ⇒ Object
- #servers ⇒ Object
- #ssh_host ⇒ Object
- #unix_username ⇒ Object
- #varnish_servers ⇒ Object
- #vcs_path ⇒ Object
- #web_servers ⇒ Object
Methods inherited from Entity
Constructor Details
#initialize(cloud, site, environment) ⇒ Environment
Returns a new instance of Environment.
6 7 8 9 10 11 |
# 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 |
Instance Method Details
#add_domain(domain) ⇒ Object
94 95 96 97 |
# 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) ⇒ Object
57 58 59 |
# File 'lib/acquia/cloud/environment.rb', line 57 def copy_files_to(target) Site.new(@cloud, @site).copy_files name, target end |
#database(database) ⇒ Object
53 54 55 |
# File 'lib/acquia/cloud/environment.rb', line 53 def database(database) DatabaseEnvironment.new(@cloud, @site, name, {'name' => database}).refresh end |
#database_servers ⇒ Object
76 77 78 |
# File 'lib/acquia/cloud/environment.rb', line 76 def database_servers servers.select &:database? end |
#databases ⇒ Object
47 48 49 50 51 |
# 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 ⇒ Object
25 26 27 |
# File 'lib/acquia/cloud/environment.rb', line 25 def db_clusters data['db_clusters'] end |
#default_domain ⇒ Object
29 30 31 |
# File 'lib/acquia/cloud/environment.rb', line 29 def default_domain data['default_domain'] end |
#deploy_path(new_vcs_path) ⇒ Object
new_vcs_path should start with ‘tags/’ or ‘heads/’ to distinguish between tags or branches.
39 40 41 42 43 44 45 |
# 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 ⇒ Object
88 89 90 91 92 |
# 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 ⇒ Object
61 62 63 64 |
# 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 ⇒ Object
13 14 15 |
# File 'lib/acquia/cloud/environment.rb', line 13 def name data['name'] end |
#server(server) ⇒ Object
72 73 74 |
# File 'lib/acquia/cloud/environment.rb', line 72 def server(server) Server.new(@cloud, @site, name, {'name' => server}).refresh end |
#servers ⇒ Object
66 67 68 69 70 |
# 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 ⇒ Object
21 22 23 |
# File 'lib/acquia/cloud/environment.rb', line 21 def ssh_host data['ssh_host'] end |
#unix_username ⇒ Object
33 34 35 |
# File 'lib/acquia/cloud/environment.rb', line 33 def unix_username data['unix_username'] end |
#varnish_servers ⇒ Object
80 81 82 |
# File 'lib/acquia/cloud/environment.rb', line 80 def varnish_servers servers.select &:varnish? end |
#vcs_path ⇒ Object
17 18 19 |
# File 'lib/acquia/cloud/environment.rb', line 17 def vcs_path data['vcs_path'] end |
#web_servers ⇒ Object
84 85 86 |
# File 'lib/acquia/cloud/environment.rb', line 84 def web_servers servers.select &:web? end |