Skip to content
Snippets Groups Projects
credentials.py 1.41 KiB
Newer Older
  • Learn to ignore specific revisions
  • #  Copyright 2021 Google LLC
    #  Copyright 2021 EPAM Systems
    
    #  Copyright © Microsoft Corporation
    
    #
    #  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.
    """Credentials init module."""
    
    import os
    
    
    from providers.factory import ProvidersFactory
    
    # import section needed to register cloud specific clients
    
    from providers.azure import azure_credentials
    
    from providers.gcp import gcp_credentials  # pylint: disable=unused-import
    from providers.types import BaseCredentials
    
    def get_credentials(cloud_env: str = None) -> BaseCredentials:
    
        """Get specific Credentials according to cloud environment.
    
        :param cloud_env: Name of the provided cloud env, if not given,
            `CLOUD_PROVIDER` env var should be set.
        :type cloud_env: str, optional
    
        :return: An instance of BaseCredentials
        :rtype: BaseCredentials
    
        """
        cloud_env = cloud_env or os.environ.get("CLOUD_PROVIDER")
    
        return ProvidersFactory.get_credentials(cloud_env)