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

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

Introduction

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

Prototype

CreateAliasRequest

Source Link

Usage

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());
    }/*w  w w  .j av  a2s  .co  m*/

    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.AWSLambdaCreateAliasTask.java

License:Apache License

@TaskAction
public void createAlias() {
    final String functionName = getFunctionName();
    final String aliasName = getAliasName();
    final String functionVersion = getFunctionVersion();

    if (functionName == null) {
        throw new GradleException("functionName is required");
    }//from  ww  w .  j  a  v  a  2 s  . c  o  m
    if (aliasName == null) {
        throw new GradleException("name for alias is required");
    }
    if (functionVersion == null) {
        throw new GradleException("functionVersion for alias is required");
    }

    final CreateAliasRequest request = new CreateAliasRequest().withFunctionName(functionName)
            .withFunctionVersion(functionVersion).withName(aliasName);

    final AWSLambda lambda = getAwsLambdaClient();

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

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

        request.withRoutingConfig(aliasRoutingConfiguration);
    }

    createAliasResult = lambda.createAlias(request);
}