'A CredentialProvider supplies credentials to test classes.
:param identity_version: Identity version of the credentials provided
:param name: Name of the calling test. Included in provisioned
credentials when credentials are provisioned on the fly
:param network_resources: Network resources required for the
credentials
:param credentials_domain: Domain credentials belong to
:param admin_role: Name of the role of the admin account
:param identity_uri: Identity URI of the target cloud. This *must* be
specified for anything to work.'

def __init__(self, identity_version, name=None, network_resources=None, credentials_domain=None, admin_role=None, identity_uri=None):

    self.identity_version = identity_version
    self.identity_uri = identity_uri
    self.name = (name or 'test_creds')
    self.network_resources = network_resources
    self.credentials_domain = (credentials_domain or 'Default')
    self.admin_role = admin_role
    if (not auth.is_identity_version_supported(self.identity_version)):
        raise exceptions.InvalidIdentityVersion(identity_version=self.identity_version)
