Sha256: 858b0055df6fbd4e0899ba01d82bf2253212d5407321781aae7c5496426ea3ea

Contents?: true

Size: 1.3 KB

Versions: 1

Compression:

Stored size: 1.3 KB

Contents

module Fog
  module OracleCloud
    class Database
      class Real

      	def backup_instance(service_name)
          # Oracle Cloud requires an empty JSON object in the body
          body_data     = {}
        
          response = request(
            :method   => 'POST',
            :expects  => 202,
            :path     => "/paas/service/dbcs/api/v1.1/instances/#{@identity_domain}/#{service_name}/backups",
            :body     => Fog::JSON.encode(body_data),
          )
          response.database_id = service_name
          response
        end
      end

      class Mock
        def backup_instance(service_name)
      		response = Excon::Response.new

          if !self.data[:backups][service_name].is_a? Array then 
            self.data[:backups][service_name] = []
            self.data[:created_at][service_name] = []
          end
          self.data[:backups][service_name].push({
            'backupCompleteDate'=>Time.now.strftime('%d-%b-%Y %H:%M:%S UTC'),
            'dbTag'=>'TAG' + Time.now.strftime('%Y%m%dT%H%M%S'),
            'status'=>'IN PROGRESS',
            'database_id'=>service_name
          })
          self.data[:created_at][service_name].push(Time.now)
          response.status = 202
          response
      	end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fog-oraclecloud-0.1.3 lib/fog/oraclecloud/requests/database/backup_instance.rb