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

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

Introduction

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

Prototype

UpdateAliasRequest

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 w  ww .j a va 2  s.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: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  . java2  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);
}