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

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

Introduction

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

Prototype


public String getNextMarker() 

Source Link

Document

The pagination token that's included if more results are available.

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 .  ja v a 2  s  . c  om*/

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