Module awsrun.session

Obtain CSP sessions and credentials.

Overview

This module provides a SessionProvider interface to obtain credentials for a Cloud Service Provider (CSP). Regardless of the mechanism, the session provider is responsible for returning a session that contains the credentials for a requested account. Credentials constitute different structures based on the SDK of the given CSP.

awsrun.session.aws
Credentials obtained from AWS are Boto3 session objects that can be used to obtain Boto3 clients and resources.
awsrun.session.azure
Credentials obtained from Azure are the new-style azure.core that can be used as arguments to the various Azure clients.
Expand source code
#
# Copyright 2019 FMR LLC <opensource@fidelity.com>
#
# SPDX-License-Identifier: Apache-2.0
#
"""Obtain CSP sessions and credentials.

## Overview

This module provides a `SessionProvider` interface to obtain credentials for a
Cloud Service Provider (CSP). Regardless of the mechanism, the session provider
is responsible for returning a session that contains the credentials for a
requested account. Credentials constitute different structures based on the SDK
of the given CSP.

`awsrun.session.aws`
:  Credentials obtained from AWS are Boto3 session objects that can be used to
obtain Boto3 clients and resources.

`awsrun.session.azure`
:  Credentials obtained from Azure are the new-style azure.core that can be used
as arguments to the various Azure clients.
"""


class SessionProvider:
    """A session provider is used to obtain sessions for accounts.

    This is an abstract base class and cannot be instantiated directly.
    """

    def session(self, acct_id):
        """Returns a session with credentials for the requested account.

        The `acct_id` is a string representing an account within a CSP. The
        returned session object is ready to use and loaded with the requested
        credentials.
        """
        raise NotImplementedError

Sub-modules

awsrun.session.aws

Obtain boto3 sessions and credentials via a variety of means …

awsrun.session.azure

Obtain Azure credentials via a variety of means …

Classes

class SessionProvider

A session provider is used to obtain sessions for accounts.

This is an abstract base class and cannot be instantiated directly.

Expand source code
class SessionProvider:
    """A session provider is used to obtain sessions for accounts.

    This is an abstract base class and cannot be instantiated directly.
    """

    def session(self, acct_id):
        """Returns a session with credentials for the requested account.

        The `acct_id` is a string representing an account within a CSP. The
        returned session object is ready to use and loaded with the requested
        credentials.
        """
        raise NotImplementedError

Subclasses

Methods

def session(self, acct_id)

Returns a session with credentials for the requested account.

The acct_id is a string representing an account within a CSP. The returned session object is ready to use and loaded with the requested credentials.

Expand source code
def session(self, acct_id):
    """Returns a session with credentials for the requested account.

    The `acct_id` is a string representing an account within a CSP. The
    returned session object is ready to use and loaded with the requested
    credentials.
    """
    raise NotImplementedError