class Fog::OracleCloud::Java::Instance
Public Class Methods
new(attributes={})
click to toggle source
Calls superclass method
# File lib/fog/oraclecloud/models/java/instance.rb, line 144 def initialize(attributes={}) level ||= 'PAAS' subscription_type ||= 'HOURLY' edition ||= 'EE' super end
Public Instance Methods
access_rules()
click to toggle source
# File lib/fog/oraclecloud/models/java/instance.rb, line 173 def access_rules service.access_rules(:instance => self) end
destroy()
click to toggle source
# File lib/fog/oraclecloud/models/java/instance.rb, line 177 def destroy requires :service_name, :dba_name, :dba_password service.delete_instance(service_name, dba_name, dba_password, :force_delete => force_delete).body end
domain_mode=(value)
click to toggle source
# File lib/fog/oraclecloud/models/java/instance.rb, line 108 def domain_mode=(value) if value.to_s == '' then value = 'DEVELOPMENT' end if %w(DEVELOPMENT PRODUCTION).include? value then attributes[:domain_mode]=value else raise ArgumentError, "Invalid domain mode '#{value}'. Valid values - DEVELOPMENT or PRODUCTION" end end
edition=(value)
click to toggle source
# File lib/fog/oraclecloud/models/java/instance.rb, line 117 def edition=(value) if value.to_s == '' then value = 'EE' end if %w(SE EE SUITE).include? value then attributes[:edition]=value else raise ArgumentError, "Invalid edition. Valid values - SE, EE or SUITE" end end
level=(value)
click to toggle source
# File lib/fog/oraclecloud/models/java/instance.rb, line 92 def level=(value) if %w(PAAS BASIC).include? value then attributes[:level]=value else raise ArgumentError, "Invalid level. Valid values - PAAS or BASIC" end end
num_nodes=(value)
click to toggle source
# File lib/fog/oraclecloud/models/java/instance.rb, line 135 def num_nodes=(value) if value.nil? then value = 1 end if value.to_i.is_a? Integer then attributes[:num_nodes] = value.to_i else raise ArgumentError, "Invalid server count (#{value}). Valid values - 1, 2, 4 or 8" end end
ready?()
click to toggle source
# File lib/fog/oraclecloud/models/java/instance.rb, line 157 def ready? status == "Running" end
save()
click to toggle source
# File lib/fog/oraclecloud/models/java/instance.rb, line 152 def save #identity ? update : create create end
scale_out_a_cluster(cluster_name, create_cluster_if_missing)
click to toggle source
# File lib/fog/oraclecloud/models/java/instance.rb, line 182 def scale_out_a_cluster(cluster_name, create_cluster_if_missing) requires :service_name service.scale_out_a_cluster(service_name, cluster_name, create_cluster_if_missing).body end
servers()
click to toggle source
# File lib/fog/oraclecloud/models/java/instance.rb, line 169 def servers service.servers.all(service_name) end
shape=(value)
click to toggle source
# File lib/fog/oraclecloud/models/java/instance.rb, line 127 def shape=(value) if %w(oc3 oc4 oc5 oc6 oc1m oc2m oc3m oc4m).include? value then attributes[:shape]=value else raise ArgumentError, "Invalid Shape. Valid values - oc3, oc4, oc5, oc6, oc1m, oc2m, oc3m or oc4m" end end
stopped?()
click to toggle source
# File lib/fog/oraclecloud/models/java/instance.rb, line 165 def stopped? status == 'Stopped' end
stopping?()
click to toggle source
# File lib/fog/oraclecloud/models/java/instance.rb, line 161 def stopping? status == 'Maintenance' || status == 'Terminating' end
subscription_type=(value)
click to toggle source
# File lib/fog/oraclecloud/models/java/instance.rb, line 100 def subscription_type=(value) if %w(HOURLY MONTHLY).include? value then attributes[:subscription_type]=value else raise ArgumentError, "Invalid subscription type. Valid values - HOURLY or MONTHLY" end end
Private Instance Methods
create()
click to toggle source
# File lib/fog/oraclecloud/models/java/instance.rb, line 189 def create requires :service_name, :dba_name, :dba_password, :db_service_name, :shape, :version, :ssh_key, :admin_password, :admin_username #data = service.create_instance(service_name, cloud_storage_container, cloud_storage_user, cloud_storage_password, dba_name, dba_password, db_servicename, shape, version, vm_public_key, # :level => level, # :subscriptionType => subscription_type, # :description => description) if cloud_storage_container.nil? then cloud_storage_if_missing = true stor_name = "#{service_name}_Backup" else stor_name = cloud_storage_container end stor_user = cloud_storage_user || service.username stor_pwd = cloud_storage_pwd || service.password params = { :serviceName => service_name, :cloudStorageContainer => stor_name, :cloudStoragePassword => stor_user, :cloudStorageUser => stor_pwd, :cloudStorageContainerIfMissing => cloud_storage_if_missing, :description => description, :enableAdminConsole => enable_admin_console.nil? ? true : enable_admin_console, :provisionOTD => provision_otd.nil? ? true : provision_otd, :sampleAppDeploymentRequested => sample_app_deployment_requested.nil? ? true : sample_app_deployment_requested, :subscriptionType => subscription_type || 'HOURLY', :level => level || 'PAAS', } options = { :adminPassword => admin_password, :adminPort => admin_port, :adminUserName => admin_username, :backupVolumeSize => backup_volume_size, :clusterName => cluster_name, :contentPort => content_port, :dbaName => dba_name, :dbaPassword => dba_password, :dbServiceName => db_service_name, :deploymentChannelPort => wls_deployment_channel_port, :domainMode => domain_mode, :domainName => domain_name, :domainPartitionCount => domain_partition_count, :domainVolumeSize => domain_volume_size, :edition => edition || 'EE', :ipReservations => ip_reservations, :managedServerCount => num_nodes || 1, :msInitialHeapMB => ms_initial_heap_mb, :msJvmArgs => ms_jvm_args, :msMaxHeapMB => ms_max_heap_mb, :msMaxPermMB => ms_max_perm_mb, :msPermMb => ms_perm_mb, :nodeManagerPassword => node_manager_password, :nodeManagerPort => node_manager_port, :nodeManagerUserName => node_manager_user_name, :overwriteMsJvmArgs => overwrite_ms_jvm_args, :pdbName => pdb_name, :securedAdminPort => secured_admin_port, :securedContentPort => secured_content_port, :shape => shape, :VMsPublicKey => ssh_key, :version => version } if app_dbs and app_dbs.is_a? Array and app_dbs.size >= 1 options[:appDBs] = [] app_dbs.each { |db| options[:appDBs].push({ :dbaName => db.username, :dbaPassword => db.password, :dbServiceName => db.service_name, }) } end data = service.create_instance(params, options) end