It's hard to find indoor swim options in the Des Moines metro that don't require a gym membership. AmericInn is a hotel in Ankeny that offers non-guests the chance to swim. It's $7 cash per person and you can swim for 1.5 hours. I recommend calling ahead (515-964-2004) to check if it's a good time to swim because they also host swim lessons there.
We were the only people there this morning, so we had full use of the pool and hot tub. There's a restroom inside the pool area, which we used to change out of our swimsuits. There was a spot for pool towels, but none available during our visit, so I recommend bringing your own. The water temperature was comparable to other hotel pools, not as warm as swim schools like Foss and Goldfish, but not freezing cold.