class Fog::OracleCloud::SOA::Instances
Public Instance Methods
all()
click to toggle source
# File lib/fog/oraclecloud/models/soa/instances.rb, line 10 def all data = service.list_instances().body['services'] load(data) end
create(attributes = {}, db_attributes = {})
click to toggle source
# File lib/fog/oraclecloud/models/soa/instances.rb, line 19 def create(attributes = {}, db_attributes = {}) if attributes[:db_service_name].nil? # Attempt to create a database instance for them db_name = db_attributes[:service_name] || "#{attributes[:service_name]}-DB" db_attributes.merge!({ :service_name => "#{attributes[:service_name]}-DB", :edition => 'EE', :ssh_key => attributes[:ssh_key], :shape => 'oc3', :version => '12.1.0.2', :admin_password => attributes[:admin_password], :backup_destination => 'BOTH' }) { |key, v1, v2| v1 } # Check it doesn't exist already begin db = Fog::OracleCloud[:database].instances.get(db_name) rescue Fog::OracleCloud::Database::NotFound => error # Doesn't exist, create it first db = Fog::OracleCloud[:database].instances.create(db_attributes) db.wait_for { ready? } end attributes.merge!({ :dba_name => 'SYS', :dba_password => db_attributes[:admin_password], :db_service_name => db_name }) end # Now provision SOA object = new(attributes) object.save object end
get(id)
click to toggle source
# File lib/fog/oraclecloud/models/soa/instances.rb, line 15 def get(id) new(service.get_instance(id).body) end