Method: Fog::OracleCloud::SOA::Real#create_instance

Defined in:
lib/fog/oraclecloud/requests/soa/create_instance.rb

#create_instance(config, options) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/fog/oraclecloud/requests/soa/create_instance.rb', line 5

def create_instance(config, options)  
  if !config[:cloudStorageContainer].start_with?("/Storage-")
    config[:cloudStorageContainer] = "/Storage-#{@identity_domain}/#{config[:cloudStorageContainer]}"
  end

  parameters = options.select{|key, value| [:adminPassword, :adminPort, :adminUserName, :backupVolumeSize, :clusterName, :contentPort, :dbaName, :dbaPassword, :dbServiceName, :deploymentChannelPort, :domainMode, :domainName, :domainPartitionCount, :domainVolumeSize, :edition, :ipReservations, :managedServerCount, :msInitialHeapMB, :msJvmArgs, :msMaxHeapMB, :msMaxPermMB, :msPermMb, :nodeManagerPassword, :nodeManagerPort, :nodeManagerUserName, :overwriteMsJvmArgs, :pdbName, :securedAdminPort, :securedContentPort, :shape, :VMsPublicKey, :version].include?(key)}
  parameters.reject! { |key,value| value.nil?}
  config.reject! { |key,value| value.nil?}
  # Currently only support weblogic
  parameters[:type] = "weblogic"
  config[:parameters] = [parameters]
  body_data = config

  request({
    :method   => 'POST',
    :expects  => 202,
    :path     => "/paas/service/soa/api/v1.1/instances/#{@identity_domain}",
    :body     => Fog::JSON.encode(body_data),
    :headers  => {
     'Content-Type'=>'application/json'
    }
  }, false)
end