Sha256: 21d5bb3f315b5ea08e62a61077c7b562d68077ead885e8d1a78ba5a68edcefc2

Contents?: true

Size: 1.02 KB

Versions: 1

Compression:

Stored size: 1.02 KB

Contents

# frozen_string_literal: true

module RevbitsPamCicd
  module Validators
    module Configuration
      def validated_options_for(type)
        case type
        when :pam
          pam_validated_options
        when :aws
          # TODO: need to implement this part when server is ready to handle AWS request
          {}
        else
          raise "Invalid 'auth_type' provided"
        end
      end

      private

      def pam_validated_options
        validate_appliance_url
        validate_api_key

        {
          appliance_url: RevbitsPamCicd.config.appliance_url,
          api_key: RevbitsPamCicd.config.api_key
        }
      end

      def validate_appliance_url
        if RevbitsPamCicd.config.appliance_url.nil? || RevbitsPamCicd.config.appliance_url.empty?
          raise "No 'appliance_url' provided"
        end
      end

      def validate_api_key
        if RevbitsPamCicd.config.api_key.nil? || RevbitsPamCicd.config.api_key.empty?
          raise "No 'api_key' provided"
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
revbits_pam_cicd-0.1.2 lib/revbits_pam_cicd/validators/configuration.rb