mirror of https://github.com/apache/jclouds.git
Adding adminURL to Endpoint so we can access admin client features
This commit is contained in:
parent
f3dc23f578
commit
9cfa022863
|
@ -55,6 +55,7 @@ public class Endpoint implements Comparable<Endpoint> {
|
||||||
protected String region;
|
protected String region;
|
||||||
protected URI publicURL;
|
protected URI publicURL;
|
||||||
protected URI internalURL;
|
protected URI internalURL;
|
||||||
|
protected URI adminURL;
|
||||||
protected String tenantId;
|
protected String tenantId;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -89,6 +90,14 @@ public class Endpoint implements Comparable<Endpoint> {
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see Endpoint#getInternalURL()
|
||||||
|
*/
|
||||||
|
public Builder adminURL(URI adminURL) {
|
||||||
|
this.adminURL = checkNotNull(adminURL, "adminURL");
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @see Endpoint#getTenantId()
|
* @see Endpoint#getTenantId()
|
||||||
*/
|
*/
|
||||||
|
@ -98,7 +107,7 @@ public class Endpoint implements Comparable<Endpoint> {
|
||||||
}
|
}
|
||||||
|
|
||||||
public Endpoint build() {
|
public Endpoint build() {
|
||||||
return new Endpoint(versionId, region, publicURL, internalURL, tenantId);
|
return new Endpoint(versionId, region, publicURL, internalURL, adminURL, tenantId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Builder fromEndpoint(Endpoint from) {
|
public Builder fromEndpoint(Endpoint from) {
|
||||||
|
@ -113,17 +122,20 @@ public class Endpoint implements Comparable<Endpoint> {
|
||||||
protected final String region;
|
protected final String region;
|
||||||
protected final URI publicURL;
|
protected final URI publicURL;
|
||||||
protected final URI internalURL;
|
protected final URI internalURL;
|
||||||
|
protected final URI adminURL;
|
||||||
|
|
||||||
// renamed half-way through
|
// renamed half-way through
|
||||||
@Deprecated
|
@Deprecated
|
||||||
protected String tenantName;
|
protected String tenantName;
|
||||||
protected final String tenantId;
|
protected final String tenantId;
|
||||||
|
|
||||||
protected Endpoint(String versionId, String region, @Nullable URI publicURL, @Nullable URI internalURL,
|
protected Endpoint(String versionId, String region, @Nullable URI publicURL, @Nullable URI internalURL,
|
||||||
@Nullable String tenantId) {
|
@Nullable URI adminURL, @Nullable String tenantId) {
|
||||||
this.versionId = checkNotNull(versionId, "versionId");
|
this.versionId = checkNotNull(versionId, "versionId");
|
||||||
this.region = checkNotNull(region, "region");
|
this.region = checkNotNull(region, "region");
|
||||||
this.publicURL = publicURL;
|
this.publicURL = publicURL;
|
||||||
this.internalURL = internalURL;
|
this.internalURL = internalURL;
|
||||||
|
this.adminURL = adminURL;
|
||||||
this.tenantId = tenantId;
|
this.tenantId = tenantId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -160,6 +172,14 @@ public class Endpoint implements Comparable<Endpoint> {
|
||||||
return internalURL;
|
return internalURL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return the admin url of the endpoint
|
||||||
|
*/
|
||||||
|
@Nullable
|
||||||
|
public URI getAdminURL() {
|
||||||
|
return adminURL;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return the tenant versionId of the endpoint or null
|
* @return the tenant versionId of the endpoint or null
|
||||||
*/
|
*/
|
||||||
|
@ -176,7 +196,7 @@ public class Endpoint implements Comparable<Endpoint> {
|
||||||
if (object instanceof Endpoint) {
|
if (object instanceof Endpoint) {
|
||||||
final Endpoint other = Endpoint.class.cast(object);
|
final Endpoint other = Endpoint.class.cast(object);
|
||||||
return equal(getVersionId(), other.getVersionId()) && equal(region, other.region) && equal(publicURL, other.publicURL)
|
return equal(getVersionId(), other.getVersionId()) && equal(region, other.region) && equal(publicURL, other.publicURL)
|
||||||
&& equal(internalURL, other.internalURL) && equal(getTenantId(), other.getTenantId());
|
&& equal(internalURL, other.internalURL) && equal(adminURL, other.adminURL) && equal(getTenantId(), other.getTenantId());
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -184,13 +204,13 @@ public class Endpoint implements Comparable<Endpoint> {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int hashCode() {
|
public int hashCode() {
|
||||||
return Objects.hashCode(getVersionId(), region, publicURL, internalURL, getTenantId());
|
return Objects.hashCode(getVersionId(), region, publicURL, internalURL, adminURL, getTenantId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return toStringHelper("").add("versionId", getVersionId()).add("region", region).add("publicURL", publicURL).add("internalURL",
|
return toStringHelper("").add("versionId", getVersionId()).add("region", region).add("publicURL", publicURL).add("internalURL",
|
||||||
internalURL).add("tenantId", getTenantId()).toString();
|
internalURL).add("adminURL", adminURL).add("tenantId", getTenantId()).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -67,11 +67,13 @@ public class ParseAccessTest extends BaseItemParserTest<Access> {
|
||||||
Service.builder().name("Object Storage").type("object-store").endpoints(
|
Service.builder().name("Object Storage").type("object-store").endpoints(
|
||||||
Endpoint.builder().tenantId("40806637803162").publicURL(
|
Endpoint.builder().tenantId("40806637803162").publicURL(
|
||||||
URI.create("https://objects.jclouds.org/v1.0/40806637803162"))
|
URI.create("https://objects.jclouds.org/v1.0/40806637803162"))
|
||||||
|
.adminURL(URI.create("https://objects.jclouds.org/v1.0/"))
|
||||||
.region("region-a.geo-1").versionId("1.0").build()).build(),
|
.region("region-a.geo-1").versionId("1.0").build()).build(),
|
||||||
|
|
||||||
Service.builder().name("Identity").type("identity").endpoints(
|
Service.builder().name("Identity").type("identity").endpoints(
|
||||||
Endpoint.builder().publicURL(URI.create("https://csnode.jclouds.org/v2.0/")).region(
|
Endpoint.builder().publicURL(URI.create("https://csnode.jclouds.org/v2.0/"))
|
||||||
"region-a.geo-1").versionId("2.0").build()).build(),
|
.adminURL(URI.create("https://csnode.jclouds.org:35357/v2.0/"))
|
||||||
|
.region("region-a.geo-1").versionId("2.0").build()).build(),
|
||||||
|
|
||||||
Service.builder().name("Image Management").type("image").endpoints(
|
Service.builder().name("Image Management").type("image").endpoints(
|
||||||
Endpoint.builder().tenantId("40806637803162").publicURL(
|
Endpoint.builder().tenantId("40806637803162").publicURL(
|
||||||
|
|
Loading…
Reference in New Issue