class Aws::Log::ParamFilter
def filter(values, type)
def filter(values, type) case values when Struct then filter_struct(values, type) when Hash then filter_hash(values, type) when Array then filter_array(values, type) else values end end
def filter_array(values, type)
def filter_array(values, type) values.map { |value| filter(value, type) } end
def filter_hash(values, type)
def filter_hash(values, type) if type.const_defined?('SENSITIVE') filters = type::SENSITIVE + @additional_filters else # Support backwards compatibility (new core + old service) filters = SENSITIVE + @additional_filters end filtered = {} values.each_pair do |key, value| filtered[key] = if @enabled && filters.include?(key) '[FILTERED]' else filter(value, type) end end filtered end
def filter_struct(values, type)
def filter_struct(values, type) if values.class.include? Aws::Structure::Union values = { values.member => values.value } end filter_hash(values, type) end
def initialize(options = {})
def initialize(options = {}) @enabled = options[:filter_sensitive_params] != false @additional_filters = options[:filter] || [] end