Class: Sqlfire::ServerInstance

Inherits:
Shared::Instance show all
Defined in:
lib/vas/sqlfire/server_instances.rb

Overview

A server instance

Instance Attribute Summary collapse

Attributes inherited from Shared::Instance

#name

Attributes included from Shared::Deletable

#collection

Attributes inherited from Shared::Resource

#location, #security

Instance Method Summary collapse

Methods inherited from Shared::Instance

#group, #installation, #live_configurations, #node_instances, #pending_configurations, #start, #stop

Methods included from Shared::Deletable

#delete

Methods inherited from Shared::StateResource

#start, #state, #stop

Constructor Details

#initialize(location, client) ⇒ ServerInstance



124
125
126
# File 'lib/vas/sqlfire/server_instances.rb', line 124

def initialize(location, client)
  super(location, client, Group, Installation, ServerLiveConfigurations, ServerPendingConfigurations, ServerNodeInstance, 'server-node-instance')
end

Instance Attribute Details

#bind_addressString (readonly)



97
98
99
# File 'lib/vas/sqlfire/server_instances.rb', line 97

def bind_address
  @bind_address
end

#client_bind_addressString (readonly)



101
102
103
# File 'lib/vas/sqlfire/server_instances.rb', line 101

def client_bind_address
  @client_bind_address
end

#client_portInteger (readonly)



105
106
107
# File 'lib/vas/sqlfire/server_instances.rb', line 105

def client_port
  @client_port
end

#critical_heap_percentageInteger (readonly)



109
110
111
# File 'lib/vas/sqlfire/server_instances.rb', line 109

def critical_heap_percentage
  @critical_heap_percentage
end

#initial_heapString (readonly)



112
113
114
# File 'lib/vas/sqlfire/server_instances.rb', line 112

def initial_heap
  @initial_heap
end

#jvm_optionsString[] (readonly)



115
116
117
# File 'lib/vas/sqlfire/server_instances.rb', line 115

def jvm_options
  @jvm_options
end

#max_heapString (readonly)



118
119
120
# File 'lib/vas/sqlfire/server_instances.rb', line 118

def max_heap
  @max_heap
end

#run_netserverBoolean (readonly)



121
122
123
# File 'lib/vas/sqlfire/server_instances.rb', line 121

def run_netserver
  @run_netserver
end

Instance Method Details

#reloadvoid

This method returns an undefined value.

Reloads the instance’s details from the server



173
174
175
176
177
178
179
180
181
182
183
# File 'lib/vas/sqlfire/server_instances.rb', line 173

def reload
  super
  @bind_address = details['bind-address']
  @client_bind_address = details['client-bind-address']
  @client_port = details['client-port']
  @critical_heap_percentage = details['critical-heap-percentage']
  @initial_heap = details['initial-heap']
  @jvm_options = details['jvm-options']
  @max_heap = details['max-heap']
  @run_netserver = details['run-netserver']
end

#to_sString



186
187
188
# File 'lib/vas/sqlfire/server_instances.rb', line 186

def to_s
  "#<#{self.class} name='#{name}' bind_address='#@bind_address' client_bind_address='#@client_bind_address' client_port='#@client_port' critical_heap_percentage='#@critical_heap_percentage' initial_heap='#@initial_heap' jvm_options='#@jvm_options' max_heap='#@max_heap' run_netserver='#@run_netserver'>"
end

#update(options = {}) ⇒ void

This method returns an undefined value.

Updates the instance using the supplied options.

Options Hash (options):

  • The ('bind-address'String)

    property in a node’s metadata to use to determine the address that the server binds to for peer-to-peer communication. If omitted or nil, the configuration will not be changed. If set to an empty string the server will use the node’s hostname

  • The ('client-bind-address'String)

    property in a node’s metadata to use to determine the address that the server binds to for client communication. If omitted or nil, the configuration will not be changed. If set to an empty string the server will bind to localhost

  • The ('client-port'Integer)

    port that the server listens on for client connections. If omitted or nil, the configuration will not be changed

  • Critical ('critical-heap-percentage'Integer)

    heap threshold as a percentage of the old generation heap. Valid value are 0-100 inclusive. If omitted or nil, the configuration will not be changed

  • The ('initial-heap'String)

    intial heap size to be used by the server’s JVM. If omitted or nil, the configuration will not be changed. If set to an empty string the JVM’s default is used

  • :installation (String)

    The installation to be used by the instance. If omitted or nil, the configuration will not be changed.

  • The ('jvm-options'String[])

    JVM options that are passed to the server’s JVM when it is started. If omitted or nil, the configuration will not be chanaged

  • The ('max-heap'String)

    maximum heap size to be used by the server’s JVM. If omitted or nil, the configuration will not be changed. If set to an empty string the JVM’s default is used

  • Whether ('run-netserver'Boolean)

    the server should run a netserver that can service thin clients. If omitted or nil, the configuration will not be changed



154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
# File 'lib/vas/sqlfire/server_instances.rb', line 154

def update(options = {})
  payload = {}

  options.each { |key, value|
    if (UPDATE_PAYLOAD_KEYS.include?(key))
      payload[key] = value
    end
  }

  if (options.has_key? :installation)
    payload[:installation] = options[:installation].location
  end

  client.post(location, payload)
  reload
end