module AWS::Core::OptionGrammar::ModuleMethods

def validate(options)

def validate(options)
  options.each do |name, value|
    name = name.to_s
    raise ArgumentError.new("unexpected option #{name}") unless
      option(name)
    option(name).validate(value)
  end
  supported_options.each do |option|
    raise ArgumentError.new("missing required option #{option.ruby_name}") unless
      !option.required? ||
      options.has_key?(option.ruby_name) || options.has_key?(option.ruby_name.to_sym)
  end
end