Sha256: 0e483a3f6fcdd780e484216feebe9e05f7b870772797bcb47c93348de3280d31

Contents?: true

Size: 1.74 KB

Versions: 26

Compression:

Stored size: 1.74 KB

Contents

require "inspec/resources/powershell"

module Inspec::Resources
  class Oracle < Inspec.resource(1)
    name "oracle"
    supports platform: "unix"
    supports platform: "windows"

    desc "The 'oracle' resource is a helper for the 'oracledb_listener_conf'"

    attr_reader :conf_path

    def initialize
      case inspec.os[:family]
      when "debian", "redhat", "linux", "suse"
        determine_conf_dir_and_path_in_linux
      when "windows"
        determine_conf_dir_and_path_in_windows
      end
    end

    def to_s
      "OracleDB"
    end

    private

    def determine_conf_dir_and_path_in_linux
      oracle_home = inspec.os_env("ORACLE_HOME").content

      if oracle_home.nil? || oracle_home.empty?
        warn "$ORACLE_HOME env value not set in the system"
        nil
      else
        conf_path = "#{oracle_home}/network/admin/listener.ora"
        if !inspec.file(conf_path).exist?
          warn "No oracle listener settings found in $ORACLE_HOME/network/admin directory"
          nil
        else
          @conf_path = conf_path
        end
      end
    rescue => e
      fail_resource "Errors reading listener settings: #{e}"
    end

    def determine_conf_dir_and_path_in_windows
      oracle_home = inspec.os_env("ORACLE_HOME").content

      if oracle_home.nil? || oracle_home.empty?
        warn "ORACLE_HOME env value not set in the system"
        nil
      else
        conf_path = "#{oracle_home}\\network\\admin\\listener.ora"
        if !inspec.file(conf_path).exist?
          warn "No oracle listener settings found in ORACLE_HOME\\network\\admin directory"
          nil
        else
          @conf_path = conf_path
        end
      end
    rescue => e
      fail_resource "Errors reading listener settings: #{e}"
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
inspec-core-6.8.24 lib/inspec/resources/oracle.rb
inspec-core-5.22.65 lib/inspec/resources/oracle.rb
inspec-core-6.8.11 lib/inspec/resources/oracle.rb
inspec-core-5.22.58 lib/inspec/resources/oracle.rb
inspec-core-5.22.55 lib/inspec/resources/oracle.rb
inspec-core-6.8.1 lib/inspec/resources/oracle.rb
inspec-core-5.22.40 lib/inspec/resources/oracle.rb
inspec-core-6.6.0 lib/inspec/resources/oracle.rb
inspec-core-5.22.36 lib/inspec/resources/oracle.rb
inspec-core-5.22.29 lib/inspec/resources/oracle.rb
inspec-core-4.56.58 lib/inspec/resources/oracle.rb
inspec-core-5.22.3 lib/inspec/resources/oracle.rb
inspec-core-5.21.29 lib/inspec/resources/oracle.rb
inspec-core-5.18.14 lib/inspec/resources/oracle.rb
inspec-core-5.17.4 lib/inspec/resources/oracle.rb
inspec-core-5.14.0 lib/inspec/resources/oracle.rb
inspec-core-4.56.20 lib/inspec/resources/oracle.rb
inspec-core-5.12.2 lib/inspec/resources/oracle.rb
inspec-core-5.10.5 lib/inspec/resources/oracle.rb
inspec-core-4.56.19 lib/inspec/resources/oracle.rb