Sha256: 302865c813eb47b638e4e45ecaaafc4febdb2e570bc15b54630fe637e5c0d0b0

Contents?: true

Size: 1.53 KB

Versions: 15

Compression:

Stored size: 1.53 KB

Contents

require 'hammer_cli_foreman/smart_class_parameter'

module HammerCLIForeman

  class PuppetClass < HammerCLIForeman::Command

    resource :puppetclasses

    class ListCommand < HammerCLIForeman::ListCommand

      output do
        field :id, _("Id")
        field :name, _("Name")
      end

      def send_request
        self.class.unhash_classes(super)
      end

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

        HammerCLI::Output::RecordCollection.new(clss, :meta => classes.meta)

      end

      build_options

      extend_with(HammerCLIForeman::CommandExtensions::PuppetEnvironment.new)
    end


    class InfoCommand < HammerCLIForeman::InfoCommand
      output ListCommand.output_definition do
        collection :smart_class_parameters, _("Smart class parameters"), :numbered => false do
          custom_field Fields::Reference, :name_key => :parameter
        end
        HammerCLIForeman::References.hostgroups(self)
        HammerCLIForeman::References.environments(self)
        HammerCLIForeman::References.parameters(self)
      end

      build_options

      extend_with(HammerCLIForeman::CommandExtensions::PuppetEnvironment.new)
    end


    class SCParamsCommand < HammerCLIForeman::SmartClassParametersBriefList
      build_options_for :puppetclasses

      def validate_options
        super
        validator.any(:option_puppetclass_name, :option_puppetclass_id).required
      end
    end

    autoload_subcommands
  end

end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
hammer_cli_foreman-2.5.2 lib/hammer_cli_foreman/puppet_class.rb
hammer_cli_foreman-2.5.1 lib/hammer_cli_foreman/puppet_class.rb
hammer_cli_foreman-2.5.0 lib/hammer_cli_foreman/puppet_class.rb
hammer_cli_foreman-2.3.2 lib/hammer_cli_foreman/puppet_class.rb
hammer_cli_foreman-2.4.0 lib/hammer_cli_foreman/puppet_class.rb
hammer_cli_foreman-2.3.1 lib/hammer_cli_foreman/puppet_class.rb
hammer_cli_foreman-2.3.0 lib/hammer_cli_foreman/puppet_class.rb
hammer_cli_foreman-2.1.3 lib/hammer_cli_foreman/puppet_class.rb
hammer_cli_foreman-2.2.0 lib/hammer_cli_foreman/puppet_class.rb
hammer_cli_foreman-2.1.2 lib/hammer_cli_foreman/puppet_class.rb
hammer_cli_foreman-2.1.1 lib/hammer_cli_foreman/puppet_class.rb
hammer_cli_foreman-2.1.0 lib/hammer_cli_foreman/puppet_class.rb
hammer_cli_foreman-2.0.2 lib/hammer_cli_foreman/puppet_class.rb
hammer_cli_foreman-2.0.1 lib/hammer_cli_foreman/puppet_class.rb
hammer_cli_foreman-2.0.0 lib/hammer_cli_foreman/puppet_class.rb