Sha256: 9a79d764faf8793509b60b011b300cf668c853f7100fc3cbe8a5cefd5bd4ca7c

Contents?: true

Size: 888 Bytes

Versions: 9

Compression:

Stored size: 888 Bytes

Contents

require 'chef_fs/data_handler/data_handler_base'
require 'chef/api_client'

module ChefFS
  module DataHandler
    class ClientDataHandler < DataHandlerBase
      def normalize(client, entry)
        defaults = {
          'name' => remove_dot_json(entry.name),
          'clientname' => remove_dot_json(entry.name),
          'orgname' => entry.org,
          'admin' => false,
          'validator' => false,
          'chef_type' => 'client'
        }
        if entry.org
          defaults['orgname'] = entry.org
        end
        result = normalize_hash(client, defaults)
        # You can NOT send json_class, or it will fail
        result.delete('json_class')
        result
      end

      def preserve_key(key)
        return key == 'name'
      end

      def chef_class
        Chef::ApiClient
      end

      # There is no Ruby API for Chef::ApiClient
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
knife-essentials-1.5.6 lib/chef_fs/data_handler/client_data_handler.rb
knife-essentials-1.5.5 lib/chef_fs/data_handler/client_data_handler.rb
knife-essentials-1.5.4 lib/chef_fs/data_handler/client_data_handler.rb
knife-essentials-1.5.3 lib/chef_fs/data_handler/client_data_handler.rb
knife-essentials-1.5.2 lib/chef_fs/data_handler/client_data_handler.rb
knife-essentials-1.5.1 lib/chef_fs/data_handler/client_data_handler.rb
knife-essentials-1.5 lib/chef_fs/data_handler/client_data_handler.rb
knife-essentials-1.4 lib/chef_fs/data_handler/client_data_handler.rb
knife-essentials-1.3.2 lib/chef_fs/data_handler/client_data_handler.rb