Module: Ropenstack::Database::Version1
- Defined in:
- lib/ropenstack/database/v1.rb
Overview
-
Name: DatabaseVersion1
-
Description: Implementation of the Block Storage V1.0 API Client in Ruby.
-
Author: Sam ‘Tehsmash’ Betts, John Davidge
-
Date: 30/06/2014
Instance Method Summary collapse
- #address(endpoint) ⇒ Object
- #database_create(instance, name) ⇒ Object
- #database_delete(instance, name) ⇒ Object
-
#databases(instance) ⇒ Object
Databases.
-
#flavors(id) ⇒ Object
Flavors.
-
#instance_action(id, action, param) ⇒ Object
Database Instance Actions.
- #instance_create(databases, flavorRef, name, users, volume) ⇒ Object
- #instance_delete(id) ⇒ Object
- #instance_root(id) ⇒ Object
- #instance_root_enable(id) ⇒ Object
-
#instances(id) ⇒ Object
Database Instances.
- #user_create(instance, name, databases) ⇒ Object
- #user_delete(instance, name) ⇒ Object
-
#users(instance) ⇒ Object
Users.
- #version ⇒ Object
Instance Method Details
#address(endpoint) ⇒ Object
105 106 107 |
# File 'lib/ropenstack/database/v1.rb', line 105 def address(endpoint) super(endpoint) + @accountid end |
#database_create(instance, name) ⇒ Object
68 69 70 71 72 73 74 75 76 |
# File 'lib/ropenstack/database/v1.rb', line 68 def database_create(instance, name) data = { :databases => [ { :name => name } ] } post_request(address("/instances/" + instance + "/databases"), data, @token) end |
#database_delete(instance, name) ⇒ Object
78 79 80 |
# File 'lib/ropenstack/database/v1.rb', line 78 def database_delete(instance, name) delete_request(address("/instances/" + instance + "/databases/" + name), @token) end |
#databases(instance) ⇒ Object
Databases
64 65 66 |
# File 'lib/ropenstack/database/v1.rb', line 64 def databases(instance) get_request(address("/instances/" + instance + "/databases"), @token) end |
#flavors(id) ⇒ Object
Flavors
97 98 99 100 101 102 103 |
# File 'lib/ropenstack/database/v1.rb', line 97 def flavors(id) if id.nil? get_request(address("/flavors"), @token) else get_request(address("/flavors/" + id), @token) end end |
#instance_action(id, action, param) ⇒ Object
Database Instance Actions
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
# File 'lib/ropenstack/database/v1.rb', line 46 def instance_action(id, action, param) case action when "RESTART" post_request(address("/instances/" + id + "/action"), {:restart => {}}, @token) when "RESIZE" if param.is_a? String post_request(address("/instances/" + id + "/action"), {:resize => {:flavorRef => param }}, @token) elsif param.is_a? Int post_request(address("/instances/" + id + "/action"), {:resize => {:volume => {:size => param }}}, @token) else raise Ropenstack::RopenstackError, "Invalid Parameter Passed" end else raise Ropenstack::RopenstackError, "Invalid Action Passed" end end |
#instance_create(databases, flavorRef, name, users, volume) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/ropenstack/database/v1.rb', line 18 def instance_create(databases, flavorRef, name, users, volume) ## Construct data data = { :instance => { :databases => databases, :flavorRef => flavorRef, :name => name, :users => users, :volume => volume } } post_request(address("/instances"), data, @token) end |
#instance_delete(id) ⇒ Object
32 33 34 |
# File 'lib/ropenstack/database/v1.rb', line 32 def instance_delete(id) delete_request(address("/instances/" + id), @token) end |
#instance_root(id) ⇒ Object
36 37 38 |
# File 'lib/ropenstack/database/v1.rb', line 36 def instance_root(id) get_request(address("/instances/" + id + "/root"), @token) end |
#instance_root_enable(id) ⇒ Object
40 41 42 43 |
# File 'lib/ropenstack/database/v1.rb', line 40 def instance_root_enable(id) ## Empty data field post_request(address("/instances/" + id + "/root"), {}, @token) end |
#instances(id) ⇒ Object
Database Instances
10 11 12 13 14 15 16 |
# File 'lib/ropenstack/database/v1.rb', line 10 def instances(id) if id.nil? get_request(address("/instances"), @token) else get_request(address("/instances/" + id), @token) end end |
#user_create(instance, name, databases) ⇒ Object
87 88 89 90 |
# File 'lib/ropenstack/database/v1.rb', line 87 def user_create(instance, name, databases) ## TODO Make this work post_request(address("/instances/" + instance + "/users"), data, @token) end |
#user_delete(instance, name) ⇒ Object
92 93 94 |
# File 'lib/ropenstack/database/v1.rb', line 92 def user_delete(instance, name) post_request(address("/instances/" + instance + "/users/" + name), @token) end |
#users(instance) ⇒ Object
Users
83 84 85 |
# File 'lib/ropenstack/database/v1.rb', line 83 def users(instance) get_request(address("/instances/" + instance + "/users"), @token) end |
#version ⇒ Object
109 110 111 |
# File 'lib/ropenstack/database/v1.rb', line 109 def version "V1" end |