One reason the US has so few defensive missiles is because while the military has said we need more, politicians have not appropriated the money.
As far as offensive munitions, the US has enough to fight Iran, but long term, the US doesn’t have what it needs in the event of a war against China.