Example usage for com.amazonaws.services.lambda.model ListFunctionsRequest ListFunctionsRequest

List of usage examples for com.amazonaws.services.lambda.model ListFunctionsRequest ListFunctionsRequest

Introduction

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

Prototype

ListFunctionsRequest

Source Link

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 . com*/

    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;//  w ww.j  a  v a  2  s.  co m
    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));
}