Add support domain-scoped token for CLI

Change-Id: Iac9556a20ccf2c36537836b0693f5384c7c1d181
This commit is contained in:
Svetlana Shturm 2019-08-01 22:08:57 -05:00
parent ccd05998b2
commit 4d8336d639
1 changed files with 13 additions and 5 deletions

View File

@ -332,6 +332,7 @@ def collection_default_callback(ctx, param, value):
@site.command('upload', help='Upload documents to Shipyard') @site.command('upload', help='Upload documents to Shipyard')
# Keystone authentication parameters # Keystone authentication parameters
@click.option('--os-domain-name', envvar='OS_DOMAIN_NAME', required=False)
@click.option( @click.option(
'--os-project-domain-name', '--os-project-domain-name',
envvar='OS_PROJECT_DOMAIN_NAME', envvar='OS_PROJECT_DOMAIN_NAME',
@ -378,19 +379,18 @@ def collection_default_callback(ctx, param, value):
@SITE_REPOSITORY_ARGUMENT @SITE_REPOSITORY_ARGUMENT
@click.pass_context @click.pass_context
def upload( def upload(
ctx, *, os_project_domain_name, os_user_domain_name, os_project_name, ctx, *, os_domain_name, os_project_domain_name, os_user_domain_name,
os_username, os_password, os_auth_url, os_auth_token, context_marker, os_project_name, os_username, os_password, os_auth_url, os_auth_token,
site_name, buffer_mode, collection): context_marker, site_name, buffer_mode, collection):
if not ctx.obj: if not ctx.obj:
ctx.obj = {} ctx.obj = {}
# Build API parameters required by Shipyard API Client. # Build API parameters required by Shipyard API Client.
if os_auth_token: if os_auth_token:
os.environ['OS_AUTH_TOKEN'] = os_auth_token os.environ['OS_AUTH_TOKEN'] = os_auth_token
auth_vars = {'os_auth_token': os_auth_token} auth_vars = {'token': os_auth_token, 'auth_url': os_auth_url}
else: else:
auth_vars = { auth_vars = {
'project_domain_name': os_project_domain_name,
'user_domain_name': os_user_domain_name, 'user_domain_name': os_user_domain_name,
'project_name': os_project_name, 'project_name': os_project_name,
'username': os_username, 'username': os_username,
@ -398,6 +398,14 @@ def upload(
'auth_url': os_auth_url 'auth_url': os_auth_url
} }
# Domain-scoped params
if os_domain_name:
auth_vars['domain_name'] = os_domain_name
auth_vars['project_domain_name'] = None
# Project-scoped params
else:
auth_vars['project_domain_name'] = os_project_domain_name
ctx.obj['API_PARAMETERS'] = {'auth_vars': auth_vars} ctx.obj['API_PARAMETERS'] = {'auth_vars': auth_vars}
ctx.obj['context_marker'] = str(context_marker) ctx.obj['context_marker'] = str(context_marker)
ctx.obj['site_name'] = site_name ctx.obj['site_name'] = site_name