Module: AcquiaCloudApi::Client::Databases

Included in:
AcquiaCloudApi::Client
Defined in:
lib/acapi/client/databases.rb

Instance Method Summary collapse

Instance Method Details

#copy_database!(db_name, from_env, to_env) ⇒ Object



30
31
32
# File 'lib/acapi/client/databases.rb', line 30

def copy_database!(db_name, from_env, to_env)
  post "sites/#{site_name}/dbs/#{db_name}/db-copy/#{from_env}/#{to_env}"
end

#create_database(db_name) ⇒ Object



34
35
36
37
38
39
# File 'lib/acapi/client/databases.rb', line 34

def create_database(db_name)
  params = {}
  data = {:db => db_name}.to_json

  post "sites/#{site_name}/dbs", params, data
end

#create_database_backup(db_name, env = nil) ⇒ Object Also known as: create_backup



53
54
55
# File 'lib/acapi/client/databases.rb', line 53

def create_database_backup(db_name, env=nil)
  post "sites/#{site_name}/envs/#{env}/dbs/#{db_name}/backups"
end

#database(db_name, env = nil) ⇒ Object



20
21
22
23
24
25
26
27
28
# File 'lib/acapi/client/databases.rb', line 20

def database(db_name, env=nil)
  if env
    # db instances
    get "sites/#{site_name}/envs/#{env}/dbs/#{db_name}"
  else
    # db records
    get "sites/#{site_name}/dbs/#{db_name}"
  end
end

#database_backup(backup_id, db_name, env = nil) ⇒ Object Also known as: backup



58
59
60
# File 'lib/acapi/client/databases.rb', line 58

def database_backup(backup_id, db_name, env=nil)
  get "sites/#{site_name}/envs/#{env}/dbs/#{db_name}/backups/#{backup_id}"
end

#database_backups(db_name, env = nil) ⇒ Object Also known as: list_backups, backups



47
48
49
# File 'lib/acapi/client/databases.rb', line 47

def database_backups(db_name, env=nil)
  get "sites/#{site_name}/envs/#{env}/dbs/#{db_name}/backups"
end

#databases(env = nil, db_clusters = nil) ⇒ Object Also known as: list_databases



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/acapi/client/databases.rb', line 5

def databases(env=nil, db_clusters=nil)
  if env
    # db instances
    db_cluster_array = db_clusters.split if db_clusters.is_a? String

    params = {:db_cluster => db_cluster_array} unless db_clusters.nil?

    get "sites/#{site_name}/envs/#{env}/dbs", params
  else
    # db records
    get "sites/#{site_name}/dbs"
  end
end

#delete_database!(db_name, backup = true) ⇒ Object



41
42
43
44
45
# File 'lib/acapi/client/databases.rb', line 41

def delete_database!(db_name, backup=true)
  params = {:backup => backup ? 1 : 0}

  delete "sites/#{site_name}/dbs/#{db_name}", params
end

#download_database_backup(backup_id, db_name, env = nil) ⇒ Object Also known as: download_backup



63
64
65
66
67
# File 'lib/acapi/client/databases.rb', line 63

def download_database_backup(backup_id, db_name, env=nil)
  # TODO: Not working. Likely need to fix #get method so that doesn't try
  # to parse response as JSON
  get "sites/#{site_name}/envs/#{env}/dbs/#{db_name}/backups/#{backup_id}/download"
end


70
71
72
73
74
75
# File 'lib/acapi/client/databases.rb', line 70

def download_database_backup_link(backup_id, db_name, env=nil)
  res = database_backup(backup_id, db_name, env)
  download_link = res['link']

  download_link
end

#restore_database_backup!(backup_id, db_name, env = nil) ⇒ Object Also known as: restore_backup!



78
79
80
# File 'lib/acapi/client/databases.rb', line 78

def restore_database_backup!(backup_id, db_name, env=nil)
  post "sites/#{site_name}/envs/#{env}/dbs/#{db_name}/backups/#{backup_id}/restore"
end