Sha256: de30d8ed2bca226ad59243f1c40fb89d85552d230773bfbb2df08a22457cb8b5

Contents?: true

Size: 1.5 KB

Versions: 2

Compression:

Stored size: 1.5 KB

Contents

module PuppetDebugger
  module Exception
    class Error < StandardError
      attr_accessor :data
      def initialize(data={})
        @data = data
      end

    end

    class FatalError < Error
    end

    class ConnectError < Error
      def message
        out = <<-EOF
#{data[:message]}
EOF
      end
    end

    class BadFilter < FatalError
      def message
        data[:message]
      end
    end

    class UndefinedNode < FatalError
      def message
        out = <<-EOF
Cannot find node with name: #{data[:name]} on remote server
    EOF
      end
    end

    class TimeOutError < Error
      #Errno::ETIMEDOUT
    end

    class NoClassError < FatalError
      def message
        out = <<-EOF
#{data[:message]}
You are missing puppet classes that are required for compilation.
Please ensure these classes are installed on this machine in any of the following paths:
#{data[:default_modules_paths]}
EOF
      end
    end

    class NodeDefinitionError < FatalError
      def message
        out = <<-EOF
You are missing a default node definition in your site.pp that is required for compilation.
Please ensure you have at least the following default node definition
  node default {
    # include classes here
  }
in your #{data[:default_site_manifest]} file.
EOF
        out.fatal
      end
    end

    class AuthError < FatalError
      def message
        out = <<-EOF
#{data[:message]}
You will need to edit your auth.conf or conf.d/auth.conf (puppetserver) to allow node calls.
EOF
    end
    end

  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
puppet-debugger-0.4.1 lib/puppet-debugger/support/errors.rb
puppet-debugger-0.4.0 lib/puppet-debugger/support/errors.rb