The problem here is the use of the location properties. Those properties are used to "whitelist" which regions the provider will consider. They are usually to avoid the provider contact regions you're not interested in. By default, when the jclouds compute service lists nodes, etc, it fetches everything from all regions. Those properties are intended to narrow the scope of those operations.
So, those properties are *not* the ones that configure where you connect; just configure the whitelist where you could connect. By default, if you don't provide an endpoint explicitly as a property, jclouds will use the one configured in the provider/api metadata, and there is no way to override that. From your comments, though, I think what you are looking for is something similar to the aws-ec2 api [1]. The root API (the one who delegates) offers two methods to access every child API, and one of them accepts a region as a parameter. That would effectively set the right endpoint when calling those APIs, since you have everything else in place to make that happen [2]. HTH! I. [1[ https://github.com/jclouds/jclouds/blob/master/providers/aws-ec2/src/main/java/org/jclouds/aws/ec2/AWSEC2Api.java [2] https://github.com/jclouds/jclouds-labs/blob/master/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/config/DimensionDataCloudControlHttpApiModule.java#L55-L58 On Fri, 18 Jan 2019 at 10:55, Trevor Flanagan (NTTC-CIS) < trevor.flana...@cis.ntt.com> wrote: > Hi All, > I am attempting to build and run the live test for the dimensiondata > provider. Currently I am passing the following - mvn clean install -Plive > -pl dimensiondata -Dtest.dimensiondata-cloudcontrol.identity=XXXX > -Dtest.dimensiondata-cloudcontrol.credential=XXXXXXX > -Dtest.dimensiondata-cloudcontrol.endpoint= > https://api-au.dimensiondata.com -Djclouds.regions=au > -Djclouds.region.au.zones=AU9 > > There is a warning in my tests when I run with these parameters - WARNING: > failed to find key for value https://api-na.dimensiondata.com in {au= > https://api-au.dimensiondata.com}; choosing first: au > > Additionally I would like to reduce the number of system property > parameters I need to pass in order for them to run successfully - my ideal > scenario is to pass just the Region and Zone - mvn clean install -Plive -pl > dimensiondata -Dtest.dimensiondata-cloudcontrol.identity=XXXX > -Dtest.dimensiondata-cloudcontrol.credential=XXXXXXX -Djclouds.regions=au > -Djclouds.region.au.zones=AU9 > > We have two classes that I believe support this, but it doesn't seem to > work, any tips that will help me figure it out? > > https://github.com/jclouds/jclouds-labs/blob/master/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/DimensionDataCloudControlProviderMetadata.java#L54-L76 > > https://github.com/jclouds/jclouds-labs/blob/master/dimensiondata/src/main/java/org/jclouds/dimensiondata/cloudcontrol/suppliers/RegionsToApiEndpoints.java#L31 > > Regards, > Trevor. >