Repository: jclouds Updated Branches: refs/heads/keystonev3 e17a18621 -> 9c4f4eedc
Include the domain info in project named based authentication Project: http://git-wip-us.apache.org/repos/asf/jclouds/repo Commit: http://git-wip-us.apache.org/repos/asf/jclouds/commit/9c4f4eed Tree: http://git-wip-us.apache.org/repos/asf/jclouds/tree/9c4f4eed Diff: http://git-wip-us.apache.org/repos/asf/jclouds/diff/9c4f4eed Branch: refs/heads/keystonev3 Commit: 9c4f4eedc1fd322a7586f03cdcbcc550a963b68a Parents: e17a186 Author: Ignasi Barrera <[email protected]> Authored: Thu Jan 11 17:36:17 2018 +0100 Committer: Ignasi Barrera <[email protected]> Committed: Thu Jan 11 17:36:17 2018 +0100 ---------------------------------------------------------------------- .../keystone/v3/binders/BindAuthToJsonPayload.java | 8 +++++++- .../jclouds/openstack/keystone/v3/domain/Auth.java | 16 +++++++++++++--- 2 files changed, 20 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/jclouds/blob/9c4f4eed/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v3/binders/BindAuthToJsonPayload.java ---------------------------------------------------------------------- diff --git a/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v3/binders/BindAuthToJsonPayload.java b/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v3/binders/BindAuthToJsonPayload.java index 80d42a3..928aac6 100644 --- a/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v3/binders/BindAuthToJsonPayload.java +++ b/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v3/binders/BindAuthToJsonPayload.java @@ -92,7 +92,13 @@ public abstract class BindAuthToJsonPayload<T> extends BindToJsonPayload impleme checkArgument(SCOPE_PREFIXES.contains(parts[0]), "Scope prefix should be: %s", SCOPE_PREFIXES); if (PROJECT.equals(parts[0])) { - return ProjectScope.create(Name.create(parts[1])); + if (credentials.tenantOrDomainId() != null) { + return ProjectScope.create(Name.create(parts[1]), + DomainIdScope.create(Id.create(credentials.tenantOrDomainId()))); + } else { + return ProjectScope.create(Name.create(parts[1]), + DomainScope.create(Name.create(credentials.tenantOrDomainName()))); + } } else if (PROJECT_ID.equals(parts[0])) { return ProjectIdScope.create(Id.create(parts[1])); } else if (DOMAIN.equals(parts[0])) { http://git-wip-us.apache.org/repos/asf/jclouds/blob/9c4f4eed/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v3/domain/Auth.java ---------------------------------------------------------------------- diff --git a/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v3/domain/Auth.java b/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v3/domain/Auth.java index 63fdb95..97283ba 100644 --- a/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v3/domain/Auth.java +++ b/apis/openstack-keystone/src/main/java/org/jclouds/openstack/keystone/v3/domain/Auth.java @@ -108,10 +108,20 @@ public abstract class Auth { @AutoValue public abstract static class ProjectScope { public abstract Name project(); + @Nullable public abstract DomainScope domainName(); + @Nullable public abstract DomainIdScope domainId(); + + @SerializedNames({ Scope.PROJECT, Scope.DOMAIN, Scope.DOMAIN }) + static ProjectScope create(Name name, DomainScope domainName, DomainIdScope domainId) { + return new AutoValue_Auth_ProjectScope(name, domainName, domainId); + } - @SerializedNames({ Scope.PROJECT }) - public static ProjectScope create(Name name) { - return new AutoValue_Auth_ProjectScope(name); + public static ProjectScope create(Name name, DomainScope domain) { + return new AutoValue_Auth_ProjectScope(name, domain, null); + } + + public static ProjectScope create(Name name, DomainIdScope domain) { + return new AutoValue_Auth_ProjectScope(name, null, domain); } }
