Sha256: 1e90369e7467df713eecd7ec1daa1b25c56327cf67525b587b884af97e243d19

Contents?: true

Size: 1.97 KB

Versions: 7

Compression:

Stored size: 1.97 KB

Contents

module HammerCLIForemanPuppet
  RESOURCE_NAME_MAPPING = {
    :puppetclass => :puppet_class,
    :puppetclasses => :puppet_classes,
    :environment => :puppet_environment,
    :environments => :puppet_environments
  }.freeze

  RESOURCE_ALIAS_NAME_MAPPING = {
    environment: :puppet_environment,
    environments: :puppet_environments
  }.freeze

  module ResolverCommons
    def self.included(base)
      base.extend(ClassMethods)
    end
    module ClassMethods

      def api_connection
        if HammerCLI.context[:api_connection]
          HammerCLI.context[:api_connection].get("foreman")
        else
          HammerCLI::Connection.get("foreman").api
        end
      end

      def resolver
        HammerCLIForemanPuppet::IdResolver.new(
          api_connection,
          HammerCLIForemanPuppet::Searchables.new
        )
      end
      def resource_name_mapping
        HammerCLIForemanPuppet::RESOURCE_NAME_MAPPING.dup
      end

      def searchables
        @searchables ||= HammerCLIForemanPuppet::Searchables.new
        @searchables
      end
    end
  end

  class Command < HammerCLIForeman::Command
    include HammerCLIForemanPuppet::ResolverCommons
  end

  class UpdateCommand < HammerCLIForeman::UpdateCommand
    include HammerCLIForemanPuppet::ResolverCommons
  end

  class InfoCommand < HammerCLIForeman::InfoCommand
    include HammerCLIForemanPuppet::ResolverCommons
  end

  class CreateCommand < HammerCLIForeman::CreateCommand
    include HammerCLIForemanPuppet::ResolverCommons
  end

  class DeleteCommand < HammerCLIForeman::DeleteCommand
    include HammerCLIForemanPuppet::ResolverCommons
  end

  class ListCommand < HammerCLIForeman::ListCommand
    include HammerCLIForemanPuppet::ResolverCommons
  end

  class AddAssociatedCommand < HammerCLIForeman::AddAssociatedCommand
    include HammerCLIForemanPuppet::ResolverCommons
  end

  class RemoveAssociatedCommand < HammerCLIForeman::RemoveAssociatedCommand
    include HammerCLIForemanPuppet::ResolverCommons
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
hammer_cli_foreman_puppet-0.0.7 lib/hammer_cli_foreman_puppet/commands.rb
hammer_cli_foreman_puppet-0.0.6 lib/hammer_cli_foreman_puppet/commands.rb
hammer_cli_foreman_puppet-0.0.5 lib/hammer_cli_foreman_puppet/commands.rb
hammer_cli_foreman_puppet-0.0.4 lib/hammer_cli_foreman_puppet/commands.rb
hammer_cli_foreman_puppet-0.0.3 lib/hammer_cli_foreman_puppet/commands.rb
hammer_cli_foreman_puppet-0.0.2 lib/hammer_cli_foreman_puppet/commands.rb
hammer_cli_foreman_puppet-0.0.1 lib/hammer_cli_foreman_puppet/commands.rb