class Aws::S3::Plugins::BucketNameRestrictions::Handler

def _bucket_member(input)

def _bucket_member(input)
  input.members.each do |member, ref|
    return member if ref.shape.name == 'BucketName'
  end
  nil
end

def call(context)

helpful error. Ideally should not be a plugin?
when passed a bucket with a forward slash. Instead provide a more
Useful because Aws::S3::Errors::SignatureDoesNotMatch is thrown
def call(context)
  bucket_member = _bucket_member(context.operation.input.shape)
  if bucket_member && (bucket = context.params[bucket_member])
    if !Aws::ARNParser.arn?(bucket) && bucket.include?('/')
      raise ArgumentError,
            'bucket name must not contain a forward-slash (/)'
    end
  end
  @handler.call(context)
end