Sha256: 1efffbad9e61502a8976209fd0154d56d268ef9d71e5afd8c619885c2102c89f

Contents?: true

Size: 1.73 KB

Versions: 2

Compression:

Stored size: 1.73 KB

Contents

# coding: utf-8
#
# Author:: Dangleterre Michaël
# © Copyright ArubaCloud.
#
# LICENSE: MIT (http://opensource.org/licenses/MIT)
#

require 'fog/arubacloud/service'
require 'fog/arubacloud/error'
require 'benchmark'


module Fog
  module ArubaCloud
    class Compute
      class Real
        def add_lb_rule(data)
          body = self.body('SetModifyLoadBalancer').merge(
              :LoadBalancerStartRequest => {
                  :loadBalancerID => data[:id],
                  :NewLoadBalancerRule => [
                      {
                          :BalanceType => data[:balancetype],
                          :Certificate => data[:certificate],
                          :CreationDate => data[:creationdate],
                          :ID => data[:ruleid],
                          :InstancePort => data[:instanceport],
                          :LoadBalancerPort => data[:loadbalancerport],
                          :Protocol => data[:protocol]
                      }
                  ]
              }
          )
          response = nil
          time = Benchmark.realtime {
            response = request(body, 'SetModifyLoadBalancer', 'SetModifyLoadBalancer Error')
          }
          Fog::Logger.debug("SetModifyLoadBalancer time: #{time}")
          if response['Success']
            response
          else
            raise Fog::ArubaCloud::Errors::RequestError.new('Error during the request.')
          end
        end # add_lb_rule

        class Mock
          def add_lb_rule
            raise Fog::Errors::MockNotImplemented.new(
                      'Mock not implemented. Feel free to contribute.'
                  )
          end # add_lb_rule
        end # Mock
      end # Real

    end # Compute
  end # ArubaCloud
end # Fog

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
fog-arubacloud-0.0.6 lib/fog/arubacloud/compute/requests/add_lb_rule.rb
fog-arubacloud-0.0.5 lib/fog/arubacloud/compute/requests/add_lb_rule.rb