74
74
print 'Unable to update user: %s' % e
77
@utils.arg('--pass', metavar='<password>', required=True,
77
@utils.arg('--pass', metavar='<password>', dest='passwd', required=True,
78
78
help='Desired new password')
79
79
@utils.arg('id', metavar='<user-id>', help='User ID to update')
80
80
def do_user_password_update(kc, args):
81
81
"""Update user password"""
82
kc.users.update_password(args.id, args.password)
82
kc.users.update_password(args.id, args.passwd)
85
85
@utils.arg('id', metavar='<user-id>', help='User ID to delete')
180
180
kc.services.delete(args.id)
183
@utils.arg('--user', metavar='<user-id>',
184
help='List roles granted to a user')
185
@utils.arg('--tenant_id', metavar='<tenant-id>',
186
help='List roles granted on a tenant')
183
187
def do_role_list(kc, args):
184
"""List all available roles"""
185
roles = kc.roles.list()
188
"""List all roles, or only those granted to a user."""
189
if bool(args.tenant_id) ^ bool(args.user):
190
print 'User ID and Tenant ID are both required to list granted roles.'
193
if args.tenant_id and args.user:
194
roles = kc.roles.roles_for_user(user=args.user, tenant=args.tenant_id)
196
roles = kc.roles.list()
186
198
utils.print_list(roles, ['id', 'name'])
324
336
def do_endpoint_list(kc, args):
337
"""List configured service endpoints"""
325
338
endpoints = kc.endpoints.list()
326
339
utils.print_list(endpoints,
327
['id', 'region', 'publicurl', 'internalurl', 'publicurl'])
330
@utils.arg('--region', metavar='<endpoint_region>',
331
help='Endpoint region', nargs='?', default='regionOne')
332
@utils.arg('--service_id', metavar='<service_id>',
333
help='ID of service associated with Endpoint', nargs='?')
334
@utils.arg('--publicurl', metavar='<publicurl>',
335
help='Public URL endpoint', nargs='?')
336
@utils.arg('--adminurl', metavar='<publicurl>',
337
help='Admin URL endpoint', nargs='?')
338
@utils.arg('--internalurl', metavar='<publicurl>',
339
help='Internal URL endpoint', nargs='?')
340
['id', 'region', 'publicurl', 'internalurl', 'adminurl'])
343
@utils.arg('--region', metavar='<endpoint-region>',
344
help='Endpoint region', default='regionOne')
345
@utils.arg('--service_id', metavar='<service-id>',
346
help='ID of service associated with Endpoint')
347
@utils.arg('--publicurl', metavar='<public-url>',
348
help='Public URL endpoint')
349
@utils.arg('--adminurl', metavar='<admin-url>',
350
help='Admin URL endpoint')
351
@utils.arg('--internalurl', metavar='<internal-url>',
352
help='Internal URL endpoint')
340
353
def do_endpoint_create(kc, args):
342
'region': args.region,
343
'service_id': args.service_id,
344
'publicurl': args.publicurl,
345
'adminurl': args.adminurl,
346
'internalurl': args.internalurl,
354
"""Create a new endpoint associated with a service"""
348
355
endpoint = kc.endpoints.create(
349
356
args.region, args.service_id, args.publicurl,
350
357
args.adminurl, args.internalurl)
351
358
utils.print_dict(endpoint._info)
354
@utils.arg('id', metavar='<endpoint_id>', help='ID of endpoint to delete')
361
@utils.arg('id', metavar='<endpoint-id>', help='ID of endpoint to delete')
355
362
def do_endpoint_delete(kc, args):
363
"""Delete a service endpoint"""
357
365
kc.endpoints.delete(args.id)
358
366
print 'Endpoint has been deleted.'