Method: CivoCLI::LoadBalancer#update

Defined in:
lib/loadbalancer.rb

#update(id, hostname = nil, protocol = nil, tls_certificate = nil, tls_key = nil, port = nil, max_request_size = nil, policy = nil, health_check_path = nil, fail_timeout = nil, max_conns = nil, ignore_invalid_backend_tls = nil, backend = nil) ⇒ Object



101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# File 'lib/loadbalancer.rb', line 101

def update(id, hostname = nil, protocol = nil, tls_certificate = nil, tls_key = nil, port = nil, max_request_size = nil, policy = nil, health_check_path = nil, fail_timeout = nil, max_conns = nil, ignore_invalid_backend_tls = nil, backend = nil)
  CivoCLI::Config.set_api_auth
  loadbalancer = Civo::LoadBalancer.all.items.detect {|key| key.id == id}
  if options[:backend]
    backends = {}
    options[:backend].each do | key, value |
      backends[key] = value
  end
  backendarray = []
  backendarray << backends
  end
  Civo::LoadBalancer.update(id: loadbalancer.id, 
    hostname: options[:hostname] || loadbalancer.hostname, 
    protocol: options[:protocol] || loadbalancer.protocol, 
    tls_certificate: options[:tls_certificate] || loadbalancer.tls_certificate,
    tls_key: options[:tls_key] || loadbalancer.tls_key,
    port: options[:port] || loadbalancer.port,
    max_request_size: options[:max_request_size] || loadbalancer.max_request_size,
    policy: options[:policy] || loadbalancer.policy,
    health_check_path: options[:health_check_path] || loadbalancer.health_check_path,
    fail_timeout: options[:fail_timeout] || loadbalancer.fail_timeout,
    max_conns: options[:max_conns] || loadbalancer.max_conns, 
    ignore_invalid_backend_tls: options[:ignore_invalid_backend_tls] || loadbalancer.ignore_invalid_backend_tls,
    backends: backendarray || loadbalancer.backends
  )
  puts "Updated Load Balancer #{loadbalancer.hostname.colorize(:green)}"
end