def boto3_agent_from_sts()

in pipeline/iam_generator_deploy.py [0:0]


def boto3_agent_from_sts(agent_service, agent_type, region, credentials={}):

    session = boto3.session.Session()

    # Generate our kwargs to pass
    kw_args = {
        "region_name": region,
        "config": Config(signature_version='s3v4')
    }

    if credentials:
        kw_args["aws_access_key_id"] = credentials['accessKeyId']
        kw_args["aws_secret_access_key"] = credentials['secretAccessKey']
        kw_args["aws_session_token"] = credentials['sessionToken']

    # Build our agent depending on how we're called.
    if agent_type == "client":
        return(session.client(
            agent_service,
            **kw_args
        ))
    if agent_type == "resource":
        return(session.resource(
            agent_service,
            **kw_args
        ))