Sha256: 00946ec3240a0d9ebd898030af13b98501829bf0977512947edc17e15d8885f8

Contents?: true

Size: 1.17 KB

Versions: 6

Compression:

Stored size: 1.17 KB

Contents

require 'hammer_cli'
require 'foreman_api'
require 'hammer_cli_foreman/commands'

module HammerCLIForeman

  class PuppetClass < HammerCLI::Apipie::Command

    resource ForemanApi::Resources::Puppetclass

    class ListCommand < HammerCLIForeman::ListCommand

      output do
        from "puppetclass" do
          field :id, "Id"
          field :name, "Name"
        end
      end

      def retrieve_data
        self.class.unhash_classes(super)
      end

      def self.unhash_classes(classes)
        classes.inject([]) { |list, (pp_module, pp_module_classes)| list + pp_module_classes }
      end

      apipie_options
    end


    class InfoCommand < HammerCLIForeman::InfoCommand

      #FIXME: show environments and hostgroups
      output ListCommand.output_definition do
        from "puppetclass" do
          collection :lookup_keys, "Smart variables" do
            from :lookup_key do
              field :key, "Parameter"
              field :default_value, "Default value"
            end
          end
        end
      end

    end


    autoload_subcommands
  end

end

HammerCLI::MainCommand.subcommand 'puppet_class', "Browse and read reports.", HammerCLIForeman::PuppetClass

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
hammer_cli_foreman-0.0.10 lib/hammer_cli_foreman/puppet_class.rb
hammer_cli_foreman-0.0.9 lib/hammer_cli_foreman/puppet_class.rb
hammer_cli_foreman-0.0.8 lib/hammer_cli_foreman/puppet_class.rb
hammer_cli_foreman-0.0.7 lib/hammer_cli_foreman/puppet_class.rb
hammer_cli_foreman-0.0.6 lib/hammer_cli_foreman/puppet_class.rb
hammer_cli_foreman-0.0.5 lib/hammer_cli_foreman/puppet_class.rb