Class: Jellyfish::Fog::Azure::Databases
- Inherits:
-
Provisioner
- Object
- Provisioner
- Jellyfish::Fog::Azure::Databases
- Defined in:
- lib/jellyfish_fog_azure/databases.rb
Instance Method Summary collapse
Instance Method Details
#connection ⇒ Object
24 25 26 |
# File 'lib/jellyfish_fog_azure/databases.rb', line 24 def connection Connection.new.connect end |
#handle_errors ⇒ Object
28 29 30 31 32 |
# File 'lib/jellyfish_fog_azure/databases.rb', line 28 def handle_errors yield rescue Excon::Errors::BadRequest, Excon::Errors::Forbidden => e raise e, 'Bad request. Check for valid credentials and proper permissions.', e.backtrace end |
#provision ⇒ Object
5 6 7 8 9 10 11 12 13 14 |
# File 'lib/jellyfish_fog_azure/databases.rb', line 5 def provision details = order_item.answers server = nil password = SecureRandom.hex[0...9] handle_errors do server = connection.databases.create('admin', password, details['location']) end order_item.provision_status = :ok order_item.payload_response = server.instance_values.merge(password: password) end |
#retire ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/jellyfish_fog_azure/databases.rb', line 16 def retire name = order_item.payload_response[:name] handle_errors do connection.delete_database(name) end order_item.provision_status = :retired end |