Sha256: 5fb6aa52def6333a7af6e2934b4a8f336df7ccf56f06d7bb85bd6f10d7c3993a

Contents?: true

Size: 1.43 KB

Versions: 36

Compression:

Stored size: 1.43 KB

Contents

module Fog
  module Compute
    class Joyent
      class Mock
        #
        # https://us-west-1.api.joyentcloud.com/docs#CreateKey
        #
        def create_key(params)
          name = params[:name]
          key = params[:key]

          record = {
            "name" => name,
            "key" => key,
            "created" => Time.now.utc,
            "updated" => Time.now.utc
          }

          self.data[:keys][name] = record

          response = Excon::Response.new
          response.status = 201
          response.body = record
          response
        end
      end # Mock

      class Real
        # Creates a new SSH Key
        # ==== Parameters
        # * name<~String> - Name to assign to this key
        # * key<~String> - OpenSSH formatted public key
        #
        # ==== Returns
        # * response<~Excon::Response>:
        #   * body<~Hash>:
        #     * 'name'<~String> - Name for this key
        #     * 'key'<~String> - OpenSSH formatted public key
        #
        def create_key(params={})
          raise ArgumentError, "error creating key: [name] is required" unless params[:name]
          raise ArgumentError, "error creating key: [key] is required" unless params[:key]

          request(
            :method => "POST",
            :path => "/my/keys",
            :body => { "name" => params[:name], "key" => params[:key] },
            :expects => 201
          )
        end
      end
    end
  end
end

Version data entries

36 entries across 34 versions & 6 rubygems

Version Path
vagrant-packet-0.1.1 vendor/bundle/ruby/2.5.0/gems/fog-joyent-0.0.1/lib/fog/joyent/requests/compute/create_key.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.4.0/gems/fog-joyent-0.0.1/lib/fog/joyent/requests/compute/create_key.rb
vagrant-packet-0.1.1 vendor/bundle/ruby/2.3.0/gems/fog-joyent-0.0.1/lib/fog/joyent/requests/compute/create_key.rb
fog-joyent-0.0.1 lib/fog/joyent/requests/compute/create_key.rb
fog-1.40.0 lib/fog/joyent/requests/compute/create_key.rb
fog-1.39.0 lib/fog/joyent/requests/compute/create_key.rb
fog-1.38.0 lib/fog/joyent/requests/compute/create_key.rb
fog-1.37.0 lib/fog/joyent/requests/compute/create_key.rb
fog-1.36.0 lib/fog/joyent/requests/compute/create_key.rb
fog-1.35.0 lib/fog/joyent/requests/compute/create_key.rb
fog-2.0.0.pre.0 lib/fog/joyent/requests/compute/create_key.rb
vagrant-cloudstack-1.2.0 vendor/bundle/gems/fog-1.32.0/lib/fog/joyent/requests/compute/create_key.rb
fog-1.34.0 lib/fog/joyent/requests/compute/create_key.rb
fog-1.33.0 lib/fog/joyent/requests/compute/create_key.rb
fog-1.32.0 lib/fog/joyent/requests/compute/create_key.rb
fog-1.31.0 lib/fog/joyent/requests/compute/create_key.rb
vagrant-cloudstack-1.1.0 vendor/bundle/gems/fog-1.22.1/lib/fog/joyent/requests/compute/create_key.rb
fog-1.30.0 lib/fog/joyent/requests/compute/create_key.rb
fog-1.29.0 lib/fog/joyent/requests/compute/create_key.rb
fog-1.28.0 lib/fog/joyent/requests/compute/create_key.rb