Sha256: 89814375b9bf12a58e70b1912adfedc1b9c6f0eb822df2a151664f28023be077

Contents?: true

Size: 1.19 KB

Versions: 3

Compression:

Stored size: 1.19 KB

Contents

module Fog
  module Compute
    class RackspaceV2
      class Real
        
        # Deletes a specified server instance from the system.
        # @param [String] server_id the id of the server to delete
        # @return [Excon::Response] response
        # @raise [Fog::Rackspace::Errors::NotFound] - HTTP 404
        # @raise [Fog::Rackspace::Errors::BadRequest] - HTTP 400
        # @raise [Fog::Rackspace::Errors::InternalServerError] - HTTP 500
        # @raise [Fog::Rackspace::Errors::ServiceError]
        # @see http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Delete_Server-d1e2883.html
        def delete_server(server_id)
          request(
            :expects => [204],
            :method => 'DELETE',
            :path => "servers/#{server_id}"
          )
        end
      end

      class Mock
        def delete_server(server_id)
          self.data[:servers].delete(server_id)
          volumes = self.data[:volumes].values
          volumes.each do |v|
            v["attachments"].delete_if { |a| a["serverId"] == server_id }
            v["status"] = "available" if v["attachments"].empty?
          end
          response(:status => 204)
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
vagrant-shell-0.2.6 vendor/bundle/gems/fog-1.10.1/lib/fog/rackspace/requests/compute_v2/delete_server.rb
vagrant-shell-0.2.5 vendor/bundle/gems/fog-1.10.1/lib/fog/rackspace/requests/compute_v2/delete_server.rb
fog-1.10.1 lib/fog/rackspace/requests/compute_v2/delete_server.rb