summaryrefslogtreecommitdiff
path: root/openstackclient/identity
diff options
context:
space:
mode:
authorDean Troyer <dtroyer@gmail.com>2013-09-09 14:52:45 -0500
committerDean Troyer <dtroyer@gmail.com>2013-09-09 14:52:50 -0500
commit7a0a7d67ed639cf664f02e1148c7b4a9348f4672 (patch)
treec706b3cfb5b59aa354375ab31ed46baed34a8155 /openstackclient/identity
parent16edd97007a71129197e4b3df303ed97ccffe436 (diff)
downloadpython-openstackclient-7a0a7d67ed639cf664f02e1148c7b4a9348f4672.tar.gz
Prepare for Identity v3 tests
* Split identity/fakes.py for v2_0 and v3 * Split identity/test_identity.py for v2_0 and v3 * Fix issues in commands with enable/disable * Clean up v2 commands Change-Id: I6e536b6a130fc556dbd7dcf9f2e76d939ca1bc1c
Diffstat (limited to 'openstackclient/identity')
-rw-r--r--openstackclient/identity/v2_0/project.py22
-rw-r--r--openstackclient/identity/v2_0/service.py34
-rw-r--r--openstackclient/identity/v2_0/user.py75
3 files changed, 93 insertions, 38 deletions
diff --git a/openstackclient/identity/v2_0/project.py b/openstackclient/identity/v2_0/project.py
index 0721a7ce..2d0acb8f 100644
--- a/openstackclient/identity/v2_0/project.py
+++ b/openstackclient/identity/v2_0/project.py
@@ -33,7 +33,7 @@ class CreateProject(show.ShowOne):
def get_parser(self, prog_name):
parser = super(CreateProject, self).get_parser(prog_name)
parser.add_argument(
- 'project_name',
+ 'name',
metavar='<project-name>',
help='New project name',
)
@@ -57,13 +57,14 @@ class CreateProject(show.ShowOne):
def take_action(self, parsed_args):
self.log.debug('take_action(%s)' % parsed_args)
-
identity_client = self.app.client_manager.identity
+
enabled = True
if parsed_args.disable:
enabled = False
+
project = identity_client.tenants.create(
- parsed_args.project_name,
+ parsed_args.name,
description=parsed_args.description,
enabled=enabled,
)
@@ -90,10 +91,12 @@ class DeleteProject(command.Command):
def take_action(self, parsed_args):
self.log.debug('take_action(%s)' % parsed_args)
identity_client = self.app.client_manager.identity
+
project = utils.find_resource(
identity_client.tenants,
parsed_args.project,
)
+
identity_client.tenants.delete(project.id)
return
@@ -164,8 +167,14 @@ class SetProject(command.Command):
def take_action(self, parsed_args):
self.log.debug('take_action(%s)' % parsed_args)
-
identity_client = self.app.client_manager.identity
+
+ if (not parsed_args.name
+ and not parsed_args.description
+ and not parsed_args.enable
+ and not parsed_args.disable):
+ return
+
project = utils.find_resource(
identity_client.tenants,
parsed_args.project,
@@ -180,7 +189,6 @@ class SetProject(command.Command):
kwargs['enabled'] = True
if parsed_args.disable:
kwargs['enabled'] = False
-
if 'id' in kwargs:
del kwargs['id']
if 'name' in kwargs:
@@ -188,8 +196,8 @@ class SetProject(command.Command):
kwargs['tenant_name'] = kwargs['name']
del kwargs['name']
- if len(kwargs):
- identity_client.tenants.update(project.id, **kwargs)
+ identity_client.tenants.update(project.id, **kwargs)
+ return
class ShowProject(show.ShowOne):
diff --git a/openstackclient/identity/v2_0/service.py b/openstackclient/identity/v2_0/service.py
index 2e81805b..92d1e099 100644
--- a/openstackclient/identity/v2_0/service.py
+++ b/openstackclient/identity/v2_0/service.py
@@ -28,7 +28,7 @@ from openstackclient.common import utils
class CreateService(show.ShowOne):
- """Create service command"""
+ """Create new service"""
log = logging.getLogger(__name__ + '.CreateService')
@@ -37,21 +37,25 @@ class CreateService(show.ShowOne):
parser.add_argument(
'name',
metavar='<service-name>',
- help='New service name')
+ help='New service name',
+ )
parser.add_argument(
'--type',
metavar='<service-type>',
required=True,
- help='New service type')
+ help='New service type (compute, image, identity, volume, etc)',
+ )
parser.add_argument(
'--description',
metavar='<service-description>',
- help='New service description')
+ help='New service description',
+ )
return parser
def take_action(self, parsed_args):
self.log.debug('take_action(%s)' % parsed_args)
identity_client = self.app.client_manager.identity
+
service = identity_client.services.create(
parsed_args.name,
parsed_args.type,
@@ -63,7 +67,7 @@ class CreateService(show.ShowOne):
class DeleteService(command.Command):
- """Delete service command"""
+ """Delete service"""
log = logging.getLogger(__name__ + '.DeleteService')
@@ -71,19 +75,26 @@ class DeleteService(command.Command):
parser = super(DeleteService, self).get_parser(prog_name)
parser.add_argument(
'service',
- metavar='<service-id>',
- help='ID of service to delete')
+ metavar='<service>',
+ help='Service to delete (name or ID)',
+ )
return parser
def take_action(self, parsed_args):
self.log.debug('take_action(%s)' % parsed_args)
identity_client = self.app.client_manager.identity
- identity_client.services.delete(parsed_args.service)
+
+ service = utils.find_resource(
+ identity_client.services,
+ parsed_args.service,
+ )
+
+ identity_client.services.delete(service.id)
return
class ListService(lister.Lister):
- """List service command"""
+ """List services"""
log = logging.getLogger(__name__ + '.ListService')
@@ -98,6 +109,7 @@ class ListService(lister.Lister):
def take_action(self, parsed_args):
self.log.debug('take_action(%s)' % parsed_args)
+
if parsed_args.long:
columns = ('ID', 'Name', 'Type', 'Description')
else:
@@ -111,7 +123,7 @@ class ListService(lister.Lister):
class ShowService(show.ShowOne):
- """Show cloud service information"""
+ """Show service details"""
log = logging.getLogger(__name__ + '.ShowService')
@@ -120,7 +132,7 @@ class ShowService(show.ShowOne):
parser.add_argument(
'service',
metavar='<service>',
- help='Type, name or ID of service to display',
+ help='Service to display (type, name or ID)',
)
parser.add_argument(
'--catalog',
diff --git a/openstackclient/identity/v2_0/user.py b/openstackclient/identity/v2_0/user.py
index 7174d4ce..371c45a9 100644
--- a/openstackclient/identity/v2_0/user.py
+++ b/openstackclient/identity/v2_0/user.py
@@ -26,7 +26,7 @@ from openstackclient.common import utils
class CreateUser(show.ShowOne):
- """Create user command"""
+ """Create new user"""
log = logging.getLogger(__name__ + '.CreateUser')
@@ -35,15 +35,18 @@ class CreateUser(show.ShowOne):
parser.add_argument(
'name',
metavar='<user-name>',
- help='New user name')
+ help='New user name',
+ )
parser.add_argument(
'--password',
metavar='<user-password>',
- help='New user password')
+ help='New user password',
+ )
parser.add_argument(
'--email',
metavar='<user-email>',
- help='New user email address')
+ help='New user email address',
+ )
parser.add_argument(
'--project',
metavar='<project>',
@@ -65,6 +68,7 @@ class CreateUser(show.ShowOne):
def take_action(self, parsed_args):
self.log.debug('take_action(%s)' % parsed_args)
identity_client = self.app.client_manager.identity
+
if parsed_args.project:
project_id = utils.find_resource(
identity_client.tenants,
@@ -72,9 +76,11 @@ class CreateUser(show.ShowOne):
).id
else:
project_id = None
+
enabled = True
if parsed_args.disable:
enabled = False
+
user = identity_client.users.create(
parsed_args.name,
parsed_args.password,
@@ -95,7 +101,7 @@ class CreateUser(show.ShowOne):
class DeleteUser(command.Command):
- """Delete user command"""
+ """Delete user"""
log = logging.getLogger(__name__ + '.DeleteUser')
@@ -104,19 +110,25 @@ class DeleteUser(command.Command):
parser.add_argument(
'user',
metavar='<user>',
- help='Name or ID of user to delete')
+ help='User to delete (name or ID)',
+ )
return parser
def take_action(self, parsed_args):
self.log.debug('take_action(%s)' % parsed_args)
identity_client = self.app.client_manager.identity
- user = utils.find_resource(identity_client.users, parsed_args.user)
+
+ user = utils.find_resource(
+ identity_client.users,
+ parsed_args.user,
+ )
+
identity_client.users.delete(user.id)
return
class ListUser(lister.Lister):
- """List user command"""
+ """List users"""
log = logging.getLogger(__name__ + '.ListUser')
@@ -191,7 +203,7 @@ class ListUser(lister.Lister):
class SetUser(command.Command):
- """Set user command"""
+ """Set user properties"""
log = logging.getLogger(__name__ + '.SetUser')
@@ -200,19 +212,23 @@ class SetUser(command.Command):
parser.add_argument(
'user',
metavar='<user>',
- help='Name or ID of user to change')
+ help='User to change (name or ID)',
+ )
parser.add_argument(
'--name',
metavar='<new-user-name>',
- help='New user name')
+ help='New user name',
+ )
parser.add_argument(
'--password',
metavar='<user-password>',
- help='New user password')
+ help='New user password',
+ )
parser.add_argument(
'--email',
metavar='<user-email>',
- help='New user email address')
+ help='New user email address',
+ )
parser.add_argument(
'--project',
metavar='<project>',
@@ -233,9 +249,21 @@ class SetUser(command.Command):
def take_action(self, parsed_args):
self.log.debug('take_action(%s)' % parsed_args)
-
identity_client = self.app.client_manager.identity
- user = utils.find_resource(identity_client.users, parsed_args.user)
+
+ if (not parsed_args.name
+ and not parsed_args.name
+ and not parsed_args.password
+ and not parsed_args.email
+ and not parsed_args.project
+ and not parsed_args.enable
+ and not parsed_args.disable):
+ return
+
+ user = utils.find_resource(
+ identity_client.users,
+ parsed_args.user,
+ )
if parsed_args.password:
identity_client.users.update_password(
@@ -258,17 +286,18 @@ class SetUser(command.Command):
kwargs['name'] = parsed_args.name
if parsed_args.email:
kwargs['email'] = parsed_args.email
+ kwargs['enabled'] = user.enabled
if parsed_args.enable:
kwargs['enabled'] = True
if parsed_args.disable:
kwargs['enabled'] = False
- if len(kwargs):
- identity_client.users.update(user.id, **kwargs)
+ identity_client.users.update(user.id, **kwargs)
+ return
class ShowUser(show.ShowOne):
- """Show user command"""
+ """Show user details"""
log = logging.getLogger(__name__ + '.ShowUser')
@@ -277,13 +306,19 @@ class ShowUser(show.ShowOne):
parser.add_argument(
'user',
metavar='<user>',
- help='Name or ID of user to display')
+ help='User to display (name or ID)',
+ )
return parser
def take_action(self, parsed_args):
self.log.debug('take_action(%s)' % parsed_args)
identity_client = self.app.client_manager.identity
- user = utils.find_resource(identity_client.users, parsed_args.user)
+
+ user = utils.find_resource(
+ identity_client.users,
+ parsed_args.user,
+ )
+
if 'tenantId' in user._info:
user._info.update(
{'project_id': user._info.pop('tenantId')}