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

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

Introduction

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

Prototype

AliasRoutingConfiguration

Source Link

Usage

From source file:com.netflix.spinnaker.clouddriver.lambda.deploy.ops.UpsertLambdaAliasAtomicOperation.java

License:Apache License

private UpdateAliasResult updateAliasResult(LambdaFunction cache) {
    updateTaskStatus("Initializing Updating of AWS Lambda Function Alias Operation...");

    Map<String, Double> routingConfig = new LinkedHashMap<>();
    String minorFunctionVersion = description.getMinorFunctionVersion();
    Double weightToMinorFunctionVersion = description.getWeightToMinorFunctionVersion();

    if (StringUtils.isNotEmpty(minorFunctionVersion) && weightToMinorFunctionVersion != null) {
        routingConfig.put(description.getMinorFunctionVersion(), description.getWeightToMinorFunctionVersion());
    }//from  www .jav a  2s . co m

    AWSLambda client = getLambdaClient();
    UpdateAliasRequest request = new UpdateAliasRequest().withFunctionName(cache.getFunctionArn())
            .withDescription(description.getAliasDescription())
            .withFunctionVersion(description.getMajorFunctionVersion()).withName(description.getAliasName())
            .withRoutingConfig(new AliasRoutingConfiguration().withAdditionalVersionWeights(routingConfig));

    UpdateAliasResult result = client.updateAlias(request);
    updateTaskStatus("Finished Updating of AWS Lambda Function Alias Operation...");

    return result;
}

From source file:com.netflix.spinnaker.clouddriver.lambda.deploy.ops.UpsertLambdaAliasAtomicOperation.java

License:Apache License

private CreateAliasResult createAliasResult(LambdaFunction cache) {
    updateTaskStatus("Initializing Creation of AWS Lambda Function Alias Operation...");

    Map<String, Double> routingConfig = new LinkedHashMap<>();
    String minorFunctionVersion = description.getMinorFunctionVersion();
    Double weightToMinorFunctionVersion = description.getWeightToMinorFunctionVersion();

    if (StringUtils.isNotEmpty(minorFunctionVersion) && weightToMinorFunctionVersion != null) {
        routingConfig.put(description.getMinorFunctionVersion(), description.getWeightToMinorFunctionVersion());
    }// www.  ja  va 2s. c om

    AWSLambda client = getLambdaClient();
    CreateAliasRequest request = new CreateAliasRequest().withFunctionName(cache.getFunctionArn())
            .withDescription(description.getAliasDescription())
            .withFunctionVersion(description.getMajorFunctionVersion()).withName(description.getAliasName())
            .withRoutingConfig(new AliasRoutingConfiguration().withAdditionalVersionWeights(routingConfig));

    CreateAliasResult result = client.createAlias(request);
    updateTaskStatus("Finished Creation of AWS Lambda Function Alias Operation...");

    return result;
}

From source file:jp.classmethod.aws.gradle.lambda.RoutingConfig.java

License:Apache License

public AliasRoutingConfiguration getAliasRoutingConfiguration(final String functionName,
        final String functionVersion) {

    validateRequiredProperties();/*ww w.  ja  va2  s  .c  o  m*/

    final Double additionalVersionWeight = getAdditionalVersionWeight();

    final AliasRoutingConfiguration aliasRoutingConfiguration = new AliasRoutingConfiguration();

    if (getAdditionalVersion() != null) {
        validateFunctionVersion(getAdditionalVersion());

        aliasRoutingConfiguration.withAdditionalVersionWeights(
                Collections.singletonMap(getAdditionalVersion(), additionalVersionWeight));
    } else if (getUsePreviousVersion() != null && getUsePreviousVersion()) {

        validateFunctionVersion(functionVersion);

        final Long functionVersionAsLong = Long.valueOf(functionVersion);
        final Long prevVersion = getPreviousVersion(functionName, functionVersionAsLong);
        aliasRoutingConfiguration.withAdditionalVersionWeights(
                Collections.singletonMap(prevVersion.toString(), additionalVersionWeight));

    } else if (getUseNextVersion() != null && getUseNextVersion()) {
        validateFunctionVersion(functionVersion);
        final Long functionVersionAsLong = Long.valueOf(functionVersion);
        final Long nextVersion = getNextVersion(functionVersionAsLong);
        aliasRoutingConfiguration.withAdditionalVersionWeights(
                Collections.singletonMap(nextVersion.toString(), additionalVersionWeight));

    }
    return aliasRoutingConfiguration;
}