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);
       }
    }
    

Reply via email to