Example usage for com.amazonaws.services.lambda.model ListFunctionsResult getFunctions

List of usage examples for com.amazonaws.services.lambda.model ListFunctionsResult getFunctions

Introduction

In this page you can find the example usage for com.amazonaws.services.lambda.model ListFunctionsResult getFunctions.

Prototype


public java.util.List<FunctionConfiguration> getFunctions() 

Source Link

Document

A list of Lambda functions.

Usage

From source file:br.com.ingenieux.mojo.lambda.ListAliasesMojo.java

License:Apache License

private Map<String, Set<String>> fetchAliases() {
    Map<String, Set<String>> aliases = new LinkedHashMap<String, Set<String>>();

    String marker = null;/*from  w  w w . j  a v  a 2 s. c  o  m*/

    do {
        final ListFunctionsResult listFunctionsResult = lambdaClient
                .listFunctions(new ListFunctionsRequest().withMarker(marker));

        listFunctionsResult.getFunctions().stream().map(FunctionConfiguration::getFunctionName)
                .filter(this::isItIncluded).forEach(func -> {
                    Set<String> aliasesSet = lambdaClient
                            .listAliases(new ListAliasesRequest().withFunctionName(func)).getAliases().stream()
                            .map(x -> x.getAliasArn().replaceAll(PATTERN_ALIAS_ARN, "$1"))
                            .collect(Collectors.toSet());

                    aliases.put(func, aliasesSet);
                });

        marker = listFunctionsResult.getNextMarker();

    } while (isNotEmpty(marker));

    return aliases;
}

From source file:com.netflix.spinnaker.clouddriver.lambda.provider.agent.LambdaCachingAgent.java

License:Apache License

@Override
public CacheResult loadData(ProviderCache providerCache) {
    log.info("Describing items in {}", getAgentType());

    AWSLambda lambda = amazonClientProvider.getAmazonLambda(account, region);
    String nextMarker = null;/*from  www.ja  v a 2s  .  com*/
    List<FunctionConfiguration> lstFunction = new ArrayList<FunctionConfiguration>();

    do {
        ListFunctionsRequest listFunctionsRequest = new ListFunctionsRequest();
        if (nextMarker != null) {
            listFunctionsRequest.setMarker(nextMarker);
        }

        ListFunctionsResult listFunctionsResult = lambda.listFunctions(listFunctionsRequest);
        lstFunction.addAll(listFunctionsResult.getFunctions());
        nextMarker = listFunctionsResult.getNextMarker();

    } while (nextMarker != null && nextMarker.length() != 0);

    Collection<CacheData> data = new LinkedList<>();
    for (FunctionConfiguration x : lstFunction) {
        Map<String, Object> attributes = objectMapper.convertValue(x, ATTRIBUTES);
        attributes.put("account", account.getName());
        attributes.put("region", region);

        attributes.put("revisions", listFunctionRevisions(x.getFunctionArn()));
        attributes.put("aliasConfiguration", listAliasConfiguration(x.getFunctionArn()));
        attributes.put("eventSourceMappings", listEventSourceMappingConfiguration(x.getFunctionArn()));

        data.add(new DefaultCacheData(Keys.getLambdaFunctionKey(account.getName(), region, x.getFunctionName()),
                attributes, Collections.emptyMap()));
    }

    log.info("Caching {} items in {}", String.valueOf(data.size()), getAgentType());
    return new DefaultCacheResult(Collections.singletonMap(LAMBDA_FUNCTIONS.ns, data));
}