Currently, calling AWS endpoints requires that a provider be selected by region. Based on the provider chosen (for example Provider.EC2_US_WEST, EC2_US_EAST, etc), the internal code creates the endpoint. Since Amazon constructs the endpoints in a well know fashion:
It makes more sense to create a Provider for AWS that simply takes the region as a parameter and constructs the endpoint on the fly. That way, if libcloud is deployed as the base for other software, the entire suite does not have to be updated when Amazon adds a new region.
Currently, I use Provider.EUCALYPTUS for AWS endpoints by constructing the the URL myself based on the region before calling libcloud to accomplish this.