Sha256: 5da6144954dd0f9f56356beaa1a7b3746939e3daa94368af7a86ea9a01dee12a

Contents?: true

Size: 1.5 KB

Versions: 2

Compression:

Stored size: 1.5 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'


module Fog
  module ArubaCloud
    class Compute
      class Real
        def create_scheduled_operation(data)
          body = {
              :NewSchedulePlan => {
                  :FirstExecutionTime => data[:dateStart],
                  :LastExecutionTime => data[:endDate],
                  :OperationType => data[:OperationType],
                  :ServerID => data[:ServerId],
                  :ScheduledPlanStatus => 'Enabled'
              }
          }
          self.request(
              body=body,
              method_name='SetAddServerScheduledOperation',
              failure_message='Error configuring Scheduled Operation.',
              benchmark=true
          )
        end # create_scheduled_operation
      end # Real

      class Mock
        def create_scheduled_operation(data)
          unless data['ServerId']
            raise ArgumentError
          end
          self.servers.select!{|s| s.id.eql?(data['ServerId'])}
          response = Excon::Response.new
          response.status = 200
          response.body = {
              'ExceptionInfo' => nil,
              'ResultCode' => 0,
              'ResultMessage' => nil,
              'Success' => true
          }
          response.body
        end # create_scheduled_operation
      end # Mock

    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/create_scheduled_operation.rb
fog-arubacloud-0.0.5 lib/fog/arubacloud/compute/requests/create_scheduled_operation.rb