blob: dc4f0499f4b617f25073a75f48766210e9225947 [file] [log] [blame]
Marc Kodererd2690fe2014-07-16 14:17:47 +02001# (c) 2014 Deutsche Telekom AG
2# Licensed under the Apache License, Version 2.0 (the "License");
3# you may not use this file except in compliance with the License.
4# You may obtain a copy of the License at
5#
6# http://www.apache.org/licenses/LICENSE-2.0
7#
8# Unless required by applicable law or agreed to in writing, software
9# distributed under the License is distributed on an "AS IS" BASIS,
10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11# See the License for the specific language governing permissions and
12# limitations under the License.
13
14import abc
15import six
16
17from tempest import config
18from tempest.openstack.common import log as logging
19
20CONF = config.CONF
21LOG = logging.getLogger(__name__)
22
23
24@six.add_metaclass(abc.ABCMeta)
25class CredentialProvider(object):
26 def __init__(self, name, tempest_client=True, interface='json',
27 password='pass', network_resources=None):
28 self.name = name
29
30 @abc.abstractmethod
31 def get_primary_creds(self):
32 return
33
34 @abc.abstractmethod
35 def get_admin_creds(self):
36 return
37
38 @abc.abstractmethod
39 def get_alt_creds(self):
40 return
41
42 @abc.abstractmethod
43 def clear_isolated_creds(self):
44 return