diff --git a/cloudcafe/identity/composites.py b/cloudcafe/identity/composites.py index 6692e54f..189fb614 100644 --- a/cloudcafe/identity/composites.py +++ b/cloudcafe/identity/composites.py @@ -5,7 +5,7 @@ import os from cloudcafe.identity.common.client import BaseIdentityAPIClient from cloudcafe.identity.config import IdentityConfig -from cloudcafe.identity.v3.config import ( +from cloudcafe.identity.config import ( ServiceAdmin, UserAdmin, DefaultUser, Roles) @@ -13,7 +13,7 @@ class IdentityVersionNotSet(Exception): pass -class IdentityComposite(object): +class IdentityBaseComposite(object): _user_config_class = UserAdmin _ident_config_class = IdentityConfig diff --git a/cloudcafe/identity/config.py b/cloudcafe/identity/config.py index 9d377d63..0e3f3b4f 100644 --- a/cloudcafe/identity/config.py +++ b/cloudcafe/identity/config.py @@ -22,3 +22,112 @@ class IdentityConfig(ConfigSectionInterface): @property def environment(self): return literal_eval(self.get("environment")) + + +class IdentityUserConfig(ConfigSectionInterface): + + SECTION_NAME = 'Base class do not use' + + @property + def username(self): + """Cloud User - username""" + return self.get("username") + + @property + def password(self): + """Password of the Cloud User""" + return self.get("password") + + @property + def user_id(self): + """user_id of the Cloud User""" + return self.get("user_id") + + @property + def domain_id(self): + """Cloud User domain id""" + return self.get("domain_id") + + @property + def domain_name(self): + """Cloud User domain name""" + return self.get("domain_name") + + @property + def project_id(self): + """Project Id of the Cloud User""" + return self.get("project_id") + + @property + def project_name(self): + """Cloud User project name""" + return self.get("project_name") + + @property + def role_id(self): + """Id of the role Cloud User""" + return self.get("role_id") + + @property + def role_name(self): + """Name of the role Cloud User""" + return self.get("role_name") + + @property + def authentication_endpoint(self): + """This overrides the global_authentication_endpoint in composite""" + return self.get("authentication_endpoint") + + +class Roles(ConfigSectionInterface): + + SECTION_NAME = 'roles' + + @property + def compute_role_id(self): + """Role id for compute""" + return self.get("compute_role_id") + + @property + def compute_role_name(self): + """Compute role name""" + return self.get("compute_role_name") + + @property + def object_store_role_id(self): + """Object store role id""" + return self.get("object_store_role_id") + + @property + def object_store_role_name(self): + """Object Store role name""" + return self.get("object_store_role_name") + + @property + def nast_prefix(self): + """Nast prefix of the user""" + return self.get("nast_prefix") + + +class ServiceAdmin(IdentityUserConfig): + SECTION_NAME = 'service_admin' + + +class IdentityAdmin(IdentityUserConfig): + SECTION_NAME = 'identity_admin' + + +class UserAdmin(IdentityUserConfig): + SECTION_NAME = 'user_admin' + + +class UserManage(IdentityUserConfig): + SECTION_NAME = 'user_manage' + + +class DefaultUser(IdentityUserConfig): + SECTION_NAME = 'default_user' + + +class OneUser(IdentityUserConfig): + SECTION_NAME = 'one_user' diff --git a/cloudcafe/identity/v3/composites.py b/cloudcafe/identity/v3/composites.py index 3c23b9e5..79f88ded 100644 --- a/cloudcafe/identity/v3/composites.py +++ b/cloudcafe/identity/v3/composites.py @@ -1,9 +1,9 @@ from cloudcafe.identity.v3.common.tokens.behavior import TokensBehavior from cloudcafe.identity.v3.common.tokens.client import TokensClient -from cloudcafe.identity.composites import IdentityComposite +from cloudcafe.identity.composites import IdentityBaseComposite -class IdentityV3Composite(IdentityComposite): +class IdentityV3Composite(IdentityBaseComposite): def __init__(self, user_config=None): super(IdentityV3Composite, self).__init__(user_config=user_config) diff --git a/cloudcafe/identity/v3/config.py b/cloudcafe/identity/v3/config.py index c7863ce2..899c7fa0 100644 --- a/cloudcafe/identity/v3/config.py +++ b/cloudcafe/identity/v3/config.py @@ -1,96 +1,6 @@ from cafe.engine.models.data_interfaces import ConfigSectionInterface -class IdentityUserConfig(ConfigSectionInterface): +class IdentityV3Config(ConfigSectionInterface): - SECTION_NAME = 'Base class do not use' - - @property - def username(self): - return self.get("username") - - @property - def password(self): - return self.get("password") - - @property - def user_id(self): - return self.get("user_id") - - @property - def domain_id(self): - return self.get("domain_id") - - @property - def domain_name(self): - return self.get("domain_name") - - @property - def project_id(self): - return self.get("project_id") - - @property - def project_name(self): - return self.get("project_name") - - @property - def role_id(self): - return self.get("role_id") - - @property - def role_name(self): - return self.get("role_name") - - @property - def authentication_endpoint(self): - """This overrides the global_authentication_endpoint in composite""" - return self.get("authentication_endpoint") - - -class Roles(ConfigSectionInterface): - - SECTION_NAME = 'roles' - - @property - def compute_role_id(self): - return self.get("compute_role_id") - - @property - def compute_role_name(self): - return self.get("compute_role_name") - - @property - def object_store_role_id(self): - return self.get("object_store_role_id") - - @property - def object_store_role_name(self): - return self.get("object_store_role_name") - - @property - def nast_prefix(self): - return self.get("nast_prefix") - - -class ServiceAdmin(IdentityUserConfig): - SECTION_NAME = 'service_admin' - - -class IdentityAdmin(IdentityUserConfig): - SECTION_NAME = 'identity_admin' - - -class UserAdmin(IdentityUserConfig): - SECTION_NAME = 'user_admin' - - -class UserManage(IdentityUserConfig): - SECTION_NAME = 'user_manage' - - -class DefaultUser(IdentityUserConfig): - SECTION_NAME = 'default_user' - - -class OneUser(IdentityUserConfig): - SECTION_NAME = 'one_user' + SECTION_NAME = 'identity_v3'