Class: EY::InstanceAPIServer::Backups::ExampleCallback
Instance Attribute Summary
#base_url
Instance Method Summary
collapse
-
#add_database(instance_id, database_id) ⇒ Object
-
#backups_for(instance_id, database_id) ⇒ Object
-
#download_url_for(backup_id, part) ⇒ Object
-
#finish_backup_for(instance_id, database_id, backup_id) ⇒ Object
-
#list_backups_for(instance_id, database_id) ⇒ Object
-
#start_backup_for(instance_id, database_id, extension, part_count) ⇒ Object
-
#upload_url_for(backup_id, part) ⇒ Object
#add_instance, #initialize, #token_for
Instance Method Details
#add_database(instance_id, database_id) ⇒ Object
64
65
66
|
# File 'lib/ey_instance_api_server/backups/example_callback.rb', line 64
def add_database(instance_id, database_id)
@instances[instance_id][database_id] ||= {}
end
|
#backups_for(instance_id, database_id) ⇒ Object
60
61
62
|
# File 'lib/ey_instance_api_server/backups/example_callback.rb', line 60
def backups_for(instance_id, database_id)
@instances[instance_id][database_id]
end
|
#download_url_for(backup_id, part) ⇒ Object
56
57
58
|
# File 'lib/ey_instance_api_server/backups/example_callback.rb', line 56
def download_url_for(backup_id, part)
"http://s3/GET/something/#{part}"
end
|
#finish_backup_for(instance_id, database_id, backup_id) ⇒ Object
47
48
49
50
51
52
53
54
|
# File 'lib/ey_instance_api_server/backups/example_callback.rb', line 47
def finish_backup_for(instance_id, database_id, backup_id)
backups = backups_for(instance_id, database_id)
if backup_hash = backups[backup_id]
unless backup_hash[:complete]
backup_hash[:complete] = true
end
end
end
|
#list_backups_for(instance_id, database_id) ⇒ Object
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# File 'lib/ey_instance_api_server/backups/example_callback.rb', line 7
def list_backups_for(instance_id, database_id)
if backups_hash = backups_for(instance_id, database_id)
backups = []
backups_hash.map do |backup_id,backup_hash|
extension = backup_hash[:extension]
if backup_hash[:complete]
download_urls = []
backup_hash[:part_count].times do |part|
download_urls << download_url_for(backup_id, part)
end
backups << EY::InstanceAPIServer.finished_backup(backup_id, database_id, extension, download_urls, Time.now - 1, Time.now)
else
backups << EY::InstanceAPIServer.pending_backup(backup_id, database_id, extension, Time.now)
end
end
backups
end
end
|
#start_backup_for(instance_id, database_id, extension, part_count) ⇒ Object
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/ey_instance_api_server/backups/example_callback.rb', line 26
def start_backup_for(instance_id, database_id, extension, part_count)
if backups = backups_for(instance_id, database_id)
backup_id = backups.size.to_s
upload_urls = []
part_count = Integer(part_count)
part_count.times do |part|
upload_urls << upload_url_for(backup_id, part)
end
backup = EY::InstanceAPIServer.started_backup(backup_id, database_id, extension, upload_urls, Time.now)
backups[backup_id] = {
:extension => extension,
:part_count => part_count
}
backup
end
end
|
#upload_url_for(backup_id, part) ⇒ Object
43
44
45
|
# File 'lib/ey_instance_api_server/backups/example_callback.rb', line 43
def upload_url_for(backup_id, part)
"http://s3/PUT/something/#{part}"
end
|