def update_function_config(FunctionName, Role=None, Handler=None,
            Description=None, Timeout=None, MemorySize=None,
            region=None, key=None, keyid=None, profile=None, VpcConfig=None,
            WaitForRole=False, RoleRetries=5):

    args = dict(FunctionName=FunctionName)
    for val, var in {
        'Handler': Handler,
        'Description': Description,
        'Timeout': Timeout,
        'MemorySize': MemorySize,
        'VpcConfig': VpcConfig,
    }.iteritems():
        if var:
            args[val] = var
    if Role:
        role_arn = _get_role_arn(Role, region, key, keyid, profile)
        args['Role'] = role_arn
    try:
        conn = _get_conn(region=region, key=key, keyid=keyid, profile=profile)
        if WaitForRole:
            retrycount = RoleRetries
        else:
            retrycount = 1
        for retry in range(retrycount, 0, -1):
            try:
                r = conn.update_function_configuration(**args)
            except ClientError as e:
                if retry > 1 and e.response.get('Error', {}).get('Code') == 'InvalidParameterValueException':
                    log.info('Function not updated but IAM role may not have propagated, will retry')
                    # exponential backoff
                    time.sleep((2 ** (RoleRetries - retry)) + (random.randint(0, 1000) / 1000))
                    continue
                else:
                    raise
            else:
                break
        if r:
            keys = ('FunctionName', 'Runtime', 'Role', 'Handler', 'CodeSha256',
                'CodeSize', 'Description', 'Timeout', 'MemorySize', 'FunctionArn',
                'LastModified', 'VpcConfig')
            return {'updated': True, 'function': dict([(k, r.get(k)) for k in keys])}
        else:
            log.warning('Function was not updated')
            return {'updated': False}
    except ClientError as e:
        return {'updated': False, 'error': salt.utils.boto3.get_error(e)}
Search the entire history of a jenkins job for a list of artifact names. If same_build
dataset/ETHPy150Open saltstack/salt/salt/modules/boto_lambda.py/update_function_config--crossover with--dataset/ETHPy150Open ramonvanalteren/jenkinsapi/jenkinsapi/api.py/search_artifacts