# File lib/aws/core/option_grammar.rb, line 585
        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