Module: CloudstackClient::LoadBalancerRule
- Defined in:
- lib/cloudstack_client/commands/load_balancer_rule.rb
Instance Method Summary collapse
-
#assign_to_load_balancer_rule(name, vm_names) ⇒ Object
Assigns virtual machine or a list of virtual machines to a load balancer rule.
-
#create_load_balancer_rule(name, publicip, private_port, public_port, options = {}) ⇒ Object
Creates a load balancing rule.
-
#list_load_balancer_rules(options = {}) ⇒ Object
List loadbalancer rules.
Instance Method Details
#assign_to_load_balancer_rule(name, vm_names) ⇒ Object
Assigns virtual machine or a list of virtual machines to a load balancer rule.
44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/cloudstack_client/commands/load_balancer_rule.rb', line 44 def assign_to_load_balancer_rule(name, vm_names) id = list_load_balancer_rules(name).first['id'] vm_ids = vm_names.map do |vm| get_server(vm)['id'] end params = { 'command' => 'assignToLoadBalancerRule', 'id' => id, 'virtualmachineids' => vm_ids.join(',') } json = send_async_request(params) end |
#create_load_balancer_rule(name, publicip, private_port, public_port, options = {}) ⇒ Object
Creates a load balancing rule.
26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/cloudstack_client/commands/load_balancer_rule.rb', line 26 def create_load_balancer_rule(name, publicip, private_port, public_port, = {}) params = { 'command' => 'createLoadBalancerRule', 'name' => name, 'privateport' => private_port, 'publicport' => public_port, 'publicipid' => get_public_ip_address(publicip)['id'] } params['algorithm'] = [:algorithm] || 'roundrobin' params['openfirewall'] = [:openfirewall] || true json = send_async_request(params) json['LoadBalancerRule'] end |
#list_load_balancer_rules(options = {}) ⇒ Object
List loadbalancer rules
8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/cloudstack_client/commands/load_balancer_rule.rb', line 8 def list_load_balancer_rules( = {}) params = { 'command' => 'listLoadBalancerRules', } params['name'] = [:name] if [:name] if [:project_name] project = get_project([:project_name]) params['projectid'] = project['id'] end json = send_request(params) json['loadbalancerrule'] || [] end |