summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keystone/common/models.py (renamed from keystone/identity/models.py)52
-rw-r--r--keystone/identity/backends/ldap/core.py2
2 files changed, 52 insertions, 2 deletions
diff --git a/keystone/identity/models.py b/keystone/common/models.py
index bee663688..2710c12ec 100644
--- a/keystone/identity/models.py
+++ b/keystone/common/models.py
@@ -14,7 +14,7 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-"""Model descriptions.
+"""Base model for keystone internal services
Unless marked otherwise, all fields are strings.
@@ -29,6 +29,56 @@ class Model(dict):
return cls.required_keys + cls.optional_keys
+class Token(Model):
+ """Token object.
+
+ Required keys:
+ id
+ expires (datetime)
+
+ Optional keys:
+ user
+ tenant
+ metadata
+ """
+
+ required_keys = ('id', 'expires')
+ optional_keys = ('extra',)
+
+
+class Service(Model):
+ """Service object.
+
+ Required keys:
+ id
+ type
+ name
+
+ Optional keys:
+ """
+
+ required_keys = ('id', 'type', 'name')
+ optional_keys = tuple()
+
+
+class Endpoint(Model):
+ """Endpoint object
+
+ Required keys:
+ id
+ region
+ service_id
+
+ Optional keys:
+ internalurl
+ publicurl
+ adminurl
+ """
+
+ required_keys = ('id', 'region', 'service_id')
+ optional_keys = ('interalurl', 'publicurl', 'adminurl')
+
+
class User(Model):
"""User object.
diff --git a/keystone/identity/backends/ldap/core.py b/keystone/identity/backends/ldap/core.py
index 687d9b2b4..6111f2f67 100644
--- a/keystone/identity/backends/ldap/core.py
+++ b/keystone/identity/backends/ldap/core.py
@@ -26,7 +26,7 @@ from keystone.common import utils
from keystone import config
from keystone import exception
from keystone import identity
-from keystone.identity import models
+from keystone.common import models
CONF = config.CONF