71d2e1ad77
The prompt parameter is supposed to provide both an indication to loaders that it is ok to prompt the user for input for an option and also an appropriate message that can be used. It would be up to the loader whether it wanted to use that message or something it generated. This will allow os-client-config and openstackclient better control over the loading of sensitive authentication options. Related-Bug: #1519202 Change-Id: I7c39f25b78404950af6f6eaf21739be1c1ef9c6a
54 lines
1.5 KiB
Python
54 lines
1.5 KiB
Python
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
|
# not use this file except in compliance with the License. You may obtain
|
|
# a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
# License for the specific language governing permissions and limitations
|
|
# under the License.
|
|
|
|
from keystoneauth1 import identity
|
|
from keystoneauth1 import loading
|
|
|
|
|
|
class Token(loading.BaseV2Loader):
|
|
|
|
@property
|
|
def plugin_class(self):
|
|
return identity.V2Token
|
|
|
|
def get_options(self):
|
|
options = super(Token, self).get_options()
|
|
|
|
options.extend([
|
|
loading.Opt('token', secret=True, help='Token'),
|
|
])
|
|
|
|
return options
|
|
|
|
|
|
class Password(loading.BaseV2Loader):
|
|
|
|
@property
|
|
def plugin_class(self):
|
|
return identity.V2Password
|
|
|
|
def get_options(self):
|
|
options = super(Password, self).get_options()
|
|
|
|
options.extend([
|
|
loading.Opt('username',
|
|
deprecated=[loading.Opt('user-name')],
|
|
help='Username to login with'),
|
|
loading.Opt('user-id', help='User ID to login with'),
|
|
loading.Opt('password',
|
|
secret=True,
|
|
prompt='Password: ',
|
|
help='Password to use'),
|
|
])
|
|
|
|
return options
|