Class: CpOraclecloud::DatabaseInstance
- Inherits:
-
CloudInstance
- Object
- CloudInstance
- CpOraclecloud::DatabaseInstance
- Includes:
- DatabaseMixin
- Defined in:
- app/models/cp_oraclecloud/database_instance.rb
Instance Method Summary collapse
- #_deprovision ⇒ Object
- #_provision ⇒ Object
- #attr_get(attribute) ⇒ Object
- #calc_cost(start_date, end_date) ⇒ Object
- #cloud_type ⇒ Object
- #connection ⇒ Object
- #fog ⇒ Object
- #icon ⇒ Object
- #month_cost ⇒ Object
- #provider ⇒ Object
- #wait ⇒ Object
Methods included from DatabaseMixin
Instance Method Details
#_deprovision ⇒ Object
9 10 11 |
# File 'app/models/cp_oraclecloud/database_instance.rb', line 9 def _deprovision fog.destroy() end |
#_provision ⇒ Object
5 6 7 |
# File 'app/models/cp_oraclecloud/database_instance.rb', line 5 def _provision @instance = connection.instances.create(init_config) end |
#attr_get(attribute) ⇒ Object
38 39 40 41 42 43 44 45 |
# File 'app/models/cp_oraclecloud/database_instance.rb', line 38 def attr_get(attribute) begin @instance ||= connection.instances.get(name) @instance.attributes[attribute.to_sym] rescue Fog::OracleCloud::Database::NotFound "Error" end end |
#calc_cost(start_date, end_date) ⇒ Object
52 53 54 55 56 |
# File 'app/models/cp_oraclecloud/database_instance.rb', line 52 def calc_cost(start_date, end_date) cost = 0 cost = (end_date - start_date) * (month_cost / 30) cost end |
#cloud_type ⇒ Object
21 22 23 |
# File 'app/models/cp_oraclecloud/database_instance.rb', line 21 def cloud_type "Database" end |
#connection ⇒ Object
58 59 60 61 62 63 64 65 |
# File 'app/models/cp_oraclecloud/database_instance.rb', line 58 def connection @connection ||= Fog::OracleCloud::Database.new( :oracle_username => CpOraclecloud.username, :oracle_password => CpOraclecloud.password, :oracle_domain => CpOraclecloud.domain, :oracle_region => CpOraclecloud.region ) end |
#fog ⇒ Object
29 30 31 32 33 34 35 36 |
# File 'app/models/cp_oraclecloud/database_instance.rb', line 29 def fog begin @instance ||= connection.instances.get(name) @instance rescue Fog::OracleCloud::Database::NotFound nil end end |
#icon ⇒ Object
25 26 27 |
# File 'app/models/cp_oraclecloud/database_instance.rb', line 25 def icon "fa-database" end |
#month_cost ⇒ Object
47 48 49 50 |
# File 'app/models/cp_oraclecloud/database_instance.rb', line 47 def month_cost cost = calculate_monthly_cost(init_config) cost end |
#provider ⇒ Object
17 18 19 |
# File 'app/models/cp_oraclecloud/database_instance.rb', line 17 def provider "OracleCloud" end |
#wait ⇒ Object
13 14 15 |
# File 'app/models/cp_oraclecloud/database_instance.rb', line 13 def wait fog.wait_for { ready? } end |