Example usage for com.amazonaws.services.lambda AWSLambda updateAlias

List of usage examples for com.amazonaws.services.lambda AWSLambda updateAlias

Introduction

In this page you can find the example usage for com.amazonaws.services.lambda AWSLambda updateAlias.

Prototype

UpdateAliasResult updateAlias(UpdateAliasRequest updateAliasRequest);

Source Link

Document

<p> Updates the configuration of a Lambda function <a href="https://docs.aws.amazon.com/lambda/latest/dg/versioning-aliases.html">alias</a>.

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());
    }//www .ja  v  a2s . c om

    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:jp.classmethod.aws.gradle.lambda.AWSLambdaUpdateAliasTask.java

License:Apache License

@TaskAction
public void updateFunctionAlias() {

    final String functionName = getFunctionName();
    final String aliasName = getAliasName();

    if (functionName == null) {
        throw new GradleException("functionName is required");
    }/*from  www . j a  va  2  s.co  m*/
    if (aliasName == null) {
        throw new GradleException("name for alias is required");
    }

    final AWSLambda lambda = getAwsLambdaClient();

    final UpdateAliasRequest updateAliasRequest = new UpdateAliasRequest().withFunctionName(functionName)
            .withName(aliasName);

    if (getFunctionVersion() != null) {
        updateAliasRequest.withFunctionVersion(getFunctionVersion());
    }
    if (getDescription() != null) {
        updateAliasRequest.withDescription(getDescription());
    }
    if (getRoutingConfig() != null) {
        final RoutingConfig routingConfig = getRoutingConfig();

        final AliasRoutingConfiguration aliasRoutingConfiguration = routingConfig
                .getAliasRoutingConfiguration(functionName, getFunctionVersion());

        updateAliasRequest.withRoutingConfig(aliasRoutingConfiguration);
    }

    updateAliasResult = lambda.updateAlias(updateAliasRequest);
    getLogger().info("Update Lambda alias requested: {}, name: {}", functionName, aliasName);
}