Sha256: 32fd8bbf93849c4e56db5391c4db2028cc0facbfab187d223a8b43204c675d83

Contents?: true

Size: 1.16 KB

Versions: 21

Compression:

Stored size: 1.16 KB

Contents

module Fog
  module Compute
    class RackspaceV2
      class Real

        # Delete the key specified with key_name
        # @param  [String] key_name name of the key to delete
        # @return [Excon::Response] response
        # @raise  [Fog::Compute::RackspaceV2::NotFound]
        # @raise  [Fog::Compute::RackspaceV2::BadRequest]
        # @raise  [Fog::Compute::RackspaceV2::InternalServerError]
        # @raise  [Fog::Compute::RackspaceV2::ServiceError]
        # @see    http://docs.rackspace.com/servers/api/v2/cs-devguide/content/DeleteKeyPair.html
        def delete_keypair(key_name)
          request(
            :method   => 'DELETE',
            :expects  => 202,
            :path     => "/os-keypairs/#{key_name}"
          )
        end
      end

      class Mock
        def delete_keypair(key_name)
            if self.data[:keypairs].select { |k| key_name.include? k['keypair']['name'] }.empty?
                raise Fog::Compute::RackspaceV2::NotFound
            else
                self.data[:keypairs].reject! { |k| key_name.include? k['keypair']['name'] }
                response(:status => 202)
            end
        end
      end

    end
  end
end

Version data entries

21 entries across 21 versions & 2 rubygems

Version Path
fog-maestrodev-1.18.0.20131126122111 lib/fog/rackspace/requests/compute_v2/delete_keypair.rb